diff --git a/rspec-core/lib/rspec/core/example.rb b/rspec-core/lib/rspec/core/example.rb index ffa54a5ca..d3b891fa9 100644 --- a/rspec-core/lib/rspec/core/example.rb +++ b/rspec-core/lib/rspec/core/example.rb @@ -231,8 +231,13 @@ def example_group @example_group_class end - alias_method :pending?, :pending - alias_method :skipped?, :skip + def pending? + !!pending + end + + def skipped? + !!skip + end # @api private # instance_execs the block passed to the constructor in the context of @@ -577,7 +582,9 @@ class ExecutionResult # this indicates whether or not it now passes. attr_accessor :pending_fixed - alias pending_fixed? pending_fixed + def pending_fixed? + !!pending_fixed + end # @return [Boolean] Indicates if the example was completely skipped # (typically done via `:skip` metadata or the `skip` method). Skipped examples diff --git a/rspec-core/spec/rspec/core/example_execution_result_spec.rb b/rspec-core/spec/rspec/core/example_execution_result_spec.rb index da60e6240..8cd422969 100644 --- a/rspec-core/spec/rspec/core/example_execution_result_spec.rb +++ b/rspec-core/spec/rspec/core/example_execution_result_spec.rb @@ -22,7 +22,7 @@ class Example it 'provides a `pending_fixed?` predicate' do er = ExecutionResult.new - expect { er.pending_fixed = true }.to change(er, :pending_fixed?).to(true) + expect { er.pending_fixed = true }.to change(er, :pending_fixed?).from(false).to(true) end describe "backwards compatibility" do diff --git a/rspec-core/spec/rspec/core/example_spec.rb b/rspec-core/spec/rspec/core/example_spec.rb index 4e7dee424..47e40a960 100644 --- a/rspec-core/spec/rspec/core/example_spec.rb +++ b/rspec-core/spec/rspec/core/example_spec.rb @@ -778,7 +778,18 @@ def expect_pending_result(example) expect_pending_result(group.examples.last) end end + end + + describe "#pending?" do + it "only returns true / false values" do + group = describe_successfully do + example("", :pending => "a message thats ignored") { fail } + example { } + end + expect(group.examples[0].pending?).to eq true + expect(group.examples[1].pending?).to eq false + end end describe "#skip" do @@ -847,6 +858,18 @@ def expect_pending_result(example) end end + describe "#skipped?" do + it "only returns true / false values" do + group = describe_successfully do + example("", :skip => "a message thats ignored") { fail } + example { } + end + + expect(group.examples[0].skipped?).to eq true + expect(group.examples[1].skipped?).to eq false + end + end + describe "timing" do it "uses RSpec::Core::Time as to not be affected by changes to time in examples" do reporter = double(:reporter).as_null_object