diff options
-rw-r--r-- | lib/bacon.rb | 5 | ||||
-rw-r--r-- | test/spec_bacon.rb | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/bacon.rb b/lib/bacon.rb index 4e63422..9b320f2 100644 --- a/lib/bacon.rb +++ b/lib/bacon.rb @@ -270,7 +270,7 @@ class Should end def method_missing(name, *args, &block) - name = "#{name}?" if name.to_s =~ /\w/ + name = "#{name}?" if name.to_s =~ /\w[^?]\z/ desc = @negated ? "not " : "" desc << @object.inspect << "." << name.to_s @@ -283,4 +283,7 @@ class Should def equal(value); self == value; end def match(value); self =~ value; end + + def identical_to(value); self.equal? value; end + alias same_as identical_to end diff --git a/test/spec_bacon.rb b/test/spec_bacon.rb index 4760331..6847b9d 100644 --- a/test/spec_bacon.rb +++ b/test/spec_bacon.rb @@ -162,6 +162,14 @@ describe "Bacon" do # lambda { "string".should.not =~ "strin" }.should fail end + it "should have should.be.identical_to/same_as" do + lambda { s = "string"; s.should.be.identical_to s }.should succeed + lambda { "string".should.be.identical_to "string" }.should fail + + lambda { s = "string"; s.should.be.same_as s }.should succeed + lambda { "string".should.be.same_as "string" }.should fail + end + it "should have should.respond_to" do lambda { "foo".should.respond_to :to_s }.should succeed lambda { 5.should.respond_to :to_str }.should fail |