Class: RSpec::Expectations::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/expectations/configuration.rb

Overview

Provides configuration options for rspec-expectations. If you are using rspec-core, you can access this via a block passed to RSpec::Core::Configuration#expect_with. Otherwise, you can access it via RSpec::Expectations.configuration.

Examples:

RSpec.configure do |rspec|
  rspec.expect_with :rspec do |c|
    # c is the config object
  end
end
# or

RSpec::Expectations.configuration

Constant Summary

NullBacktraceFormatter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Null implementation of a backtrace formatter used by default when rspec-core is not loaded. Does no filtering.

Module.new do
  def self.format_backtrace(backtrace)
    backtrace
  end
end

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Instance Attribute Details

- (Object) backtrace_formatter

Sets or gets the backtrace formatter. The backtrace formatter should implement #format_backtrace(Array<String>). This is used to format backtraces of errors handled by the raise_error matcher.

If you are using rspec-core, rspec-core's backtrace formatting will be used (including respecting the presence or absence of the --backtrace option).

101
# File 'lib/rspec/expectations/configuration.rb', line 101
attr_writer :backtrace_formatter

- (Object) color=(value) (writeonly)

Indicates whether or not diffs should be colored. Delegates to rspec-core's color option if rspec-core is loaded; otherwise you can set it here.

68
69
70
# File 'lib/rspec/expectations/configuration.rb', line 68
def color=(value)
  @color = value
end

- (Object) include_chain_clauses_in_custom_matcher_descriptions=(value) (writeonly)

Sets if custom matcher descriptions and failure messages should include clauses from methods defined using chain.

Parameters:

  • value (Boolean)
113
114
115
# File 'lib/rspec/expectations/configuration.rb', line 113
def include_chain_clauses_in_custom_matcher_descriptions=(value)
  @include_chain_clauses_in_custom_matcher_descriptions = value
end

Instance Method Details

- (Object) add_should_and_should_not_to(*modules)

Adds should and should_not to the given classes or modules. This can be used to ensure should works properly on things like proxy objects (particular Delegator-subclassed objects on 1.8).

Parameters:

  • modules (Array<Module>)

    the list of classes or modules to add should and should_not to.

85
86
87
88
89
# File 'lib/rspec/expectations/configuration.rb', line 85
def add_should_and_should_not_to(*modules)
  modules.each do |mod|
    Expectations::Syntax.enable_should(mod)
  end
end

- (Boolean) color?

Indicates whether or not diffs should be colored. Delegates to rspec-core's color option if rspec-core is loaded; otherwise you can set it here.

Returns:

  • (Boolean)
73
74
75
# File 'lib/rspec/expectations/configuration.rb', line 73
def color?
  ::RSpec.configuration.color_enabled?
end

- (Boolean) include_chain_clauses_in_custom_matcher_descriptions?

Indicates whether or not custom matcher descriptions and failure messages should include clauses from methods defined using chain. It is false by default for backwards compatibility.

Returns:

  • (Boolean)
118
119
120
# File 'lib/rspec/expectations/configuration.rb', line 118
def include_chain_clauses_in_custom_matcher_descriptions?
  @include_chain_clauses_in_custom_matcher_descriptions ||= false
end

- (Array<Symbol>) syntax

The list of configured syntaxes.

Examples:

unless RSpec::Matchers.configuration.syntax.include?(:expect)
  raise "this RSpec extension gem requires the rspec-expectations `:expect` syntax"
end

Returns:

  • (Array<Symbol>)

    the list of configured syntaxes.

53
54
55
56
57
58
# File 'lib/rspec/expectations/configuration.rb', line 53
def syntax
  syntaxes = []
  syntaxes << :should if Expectations::Syntax.should_enabled?
  syntaxes << :expect if Expectations::Syntax.expect_enabled?
  syntaxes
end

- (Object) syntax=(values)

Configures the supported syntax.

Examples:

RSpec.configure do |rspec|
  rspec.expect_with :rspec do |c|
    c.syntax = :should
    # or
    c.syntax = :expect
    # or
    c.syntax = [:should, :expect]
  end
end

Parameters:

  • values (Array<Symbol>, Symbol)

    the syntaxes to enable

33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/rspec/expectations/configuration.rb', line 33
def syntax=(values)
  if Array(values).include?(:expect)
    Expectations::Syntax.enable_expect
  else
    Expectations::Syntax.disable_expect
  end
  if Array(values).include?(:should)
    Expectations::Syntax.enable_should
  else
    Expectations::Syntax.disable_should
  end
end