Class: RSpec::Expectations::Configuration
- Inherits:
-
Object
- Object
- RSpec::Expectations::Configuration
- 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.
Constant Summary collapse
- 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
-
#backtrace_formatter ⇒ Object
Sets or gets the backtrace formatter.
-
#color ⇒ Object
writeonly
Indicates whether or not diffs should be colored.
-
#include_chain_clauses_in_custom_matcher_descriptions ⇒ Object
writeonly
Sets if custom matcher descriptions and failure messages should include clauses from methods defined using
chain
. -
#on_potential_false_positives ⇒ Object
Indicates what RSpec will do about matcher use which will potentially cause false positives in tests, generally you want to avoid such scenarios so this defaults to
true
.
Instance Method Summary collapse
-
#add_should_and_should_not_to(*modules) ⇒ Object
Adds
should
andshould_not
to the given classes or modules. -
#color? ⇒ Boolean
Indicates whether or not diffs should be colored.
-
#include_chain_clauses_in_custom_matcher_descriptions? ⇒ Boolean
Indicates whether or not custom matcher descriptions and failure messages should include clauses from methods defined using
chain
. -
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#max_formatted_output_length=(length) ⇒ Object
Configures the maximum character length that RSpec will print while formatting an object.
-
#syntax ⇒ Array<Symbol>
The list of configured syntaxes.
-
#syntax=(values) ⇒ Object
Configures the supported syntax.
-
#warn_about_potential_false_positives=(boolean) ⇒ Object
Configures whether RSpec will warn about matcher use which will potentially cause false positives in tests.
-
#warn_about_potential_false_positives? ⇒ Boolean
Indicates whether RSpec will warn about matcher use which will potentially cause false positives in tests, generally you want to avoid such scenarios so this defaults to
true
.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
29 30 31 |
# File 'lib/rspec/expectations/configuration.rb', line 29 def initialize @on_potential_false_positives = :warn end |
Instance Attribute Details
#backtrace_formatter ⇒ Object
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).
127 |
# File 'lib/rspec/expectations/configuration.rb', line 127 attr_writer :backtrace_formatter |
#color=(value) ⇒ Object (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.
94 95 96 |
# File 'lib/rspec/expectations/configuration.rb', line 94 def color=(value) @color = value end |
#include_chain_clauses_in_custom_matcher_descriptions=(value) ⇒ Object (writeonly)
Sets if custom matcher descriptions and failure messages
should include clauses from methods defined using chain
.
139 140 141 |
# File 'lib/rspec/expectations/configuration.rb', line 139 def include_chain_clauses_in_custom_matcher_descriptions=(value) @include_chain_clauses_in_custom_matcher_descriptions = value end |
#on_potential_false_positives ⇒ Object
Indicates what RSpec will do about matcher use which will
potentially cause false positives in tests, generally you want to
avoid such scenarios so this defaults to true
.
191 192 193 |
# File 'lib/rspec/expectations/configuration.rb', line 191 def on_potential_false_positives @on_potential_false_positives end |
Instance Method Details
#add_should_and_should_not_to(*modules) ⇒ Object
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).
111 112 113 114 115 |
# File 'lib/rspec/expectations/configuration.rb', line 111 def add_should_and_should_not_to(*modules) modules.each do |mod| Expectations::Syntax.enable_should(mod) end end |
#color? ⇒ Boolean
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.
99 100 101 |
# File 'lib/rspec/expectations/configuration.rb', line 99 def color? ::RSpec.configuration.color_enabled? end |
#include_chain_clauses_in_custom_matcher_descriptions? ⇒ Boolean
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.
144 145 146 |
# File 'lib/rspec/expectations/configuration.rb', line 144 def include_chain_clauses_in_custom_matcher_descriptions? @include_chain_clauses_in_custom_matcher_descriptions ||= false end |
#max_formatted_output_length=(length) ⇒ Object
Configures the maximum character length that RSpec will print while formatting an object. You can set length to nil to prevent RSpec from doing truncation.
69 70 71 |
# File 'lib/rspec/expectations/configuration.rb', line 69 def max_formatted_output_length=(length) RSpec::Support::ObjectFormatter.default_instance.max_formatted_output_length = length end |
#syntax ⇒ Array<Symbol>
The list of configured syntaxes.
79 80 81 82 83 84 |
# File 'lib/rspec/expectations/configuration.rb', line 79 def syntax syntaxes = [] syntaxes << :should if Expectations::Syntax.should_enabled? syntaxes << :expect if Expectations::Syntax.expect_enabled? syntaxes end |
#syntax=(values) ⇒ Object
Configures the supported syntax.
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rspec/expectations/configuration.rb', line 45 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 |
#warn_about_potential_false_positives=(boolean) ⇒ Object
Configures whether RSpec will warn about matcher use which will potentially cause false positives in tests.
167 168 169 170 171 172 173 174 175 |
# File 'lib/rspec/expectations/configuration.rb', line 167 def warn_about_potential_false_positives=(boolean) if boolean self.on_potential_false_positives = :warn elsif warn_about_potential_false_positives? self.on_potential_false_positives = :nothing else # no-op, handler is something else end end |
#warn_about_potential_false_positives? ⇒ Boolean
Indicates whether RSpec will warn about matcher use which will
potentially cause false positives in tests, generally you want to
avoid such scenarios so this defaults to true
.
196 197 198 |
# File 'lib/rspec/expectations/configuration.rb', line 196 def warn_about_potential_false_positives? on_potential_false_positives == :warn end |