added RSpec and RSpec on Rails

This commit is contained in:
Xin Zheng 2008-01-22 16:39:09 +00:00
parent ddd5b4cf19
commit 3f607d565b
316 changed files with 23828 additions and 0 deletions

View file

@ -0,0 +1,71 @@
module Spec
module Expectations
# rspec adds #should and #should_not to every Object (and,
# implicitly, every Class).
module ObjectExpectations
# :call-seq:
# should(matcher)
# should == expected
# should === expected
# should =~ expected
#
# receiver.should(matcher)
# => Passes if matcher.matches?(receiver)
#
# receiver.should == expected #any value
# => Passes if (receiver == expected)
#
# receiver.should === expected #any value
# => Passes if (receiver === expected)
#
# receiver.should =~ regexp
# => Passes if (receiver =~ regexp)
#
# See Spec::Matchers for more information about matchers
#
# == Warning
#
# NOTE that this does NOT support receiver.should != expected.
# Instead, use receiver.should_not == expected
def should(matcher = :default_parameter, &block)
if :default_parameter == matcher
Spec::Matchers::PositiveOperatorMatcher.new(self)
else
ExpectationMatcherHandler.handle_matcher(self, matcher, &block)
end
end
# :call-seq:
# should_not(matcher)
# should_not == expected
# should_not === expected
# should_not =~ expected
#
# receiver.should_not(matcher)
# => Passes unless matcher.matches?(receiver)
#
# receiver.should_not == expected
# => Passes unless (receiver == expected)
#
# receiver.should_not === expected
# => Passes unless (receiver === expected)
#
# receiver.should_not =~ regexp
# => Passes unless (receiver =~ regexp)
#
# See Spec::Matchers for more information about matchers
def should_not(matcher = :default_parameter, &block)
if :default_parameter == matcher
Spec::Matchers::NegativeOperatorMatcher.new(self)
else
NegativeExpectationMatcherHandler.handle_matcher(self, matcher, &block)
end
end
end
end
end
class Object
include Spec::Expectations::ObjectExpectations
end