mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
Imported minitest 2.0.0 r5952. Fixed test/unit.rb to work with changes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ed22b0ecee
commit
d264d3cc38
11 changed files with 799 additions and 198 deletions
|
@ -14,14 +14,7 @@ module MiniTest
|
|||
end
|
||||
|
||||
def expect(name, retval, args=[])
|
||||
n, r = name, retval # for the closure below
|
||||
@expected_calls[name] = { :retval => retval, :args => args }
|
||||
self.class.__send__ :remove_method, name if respond_to? name
|
||||
self.class.__send__(:define_method, name) { |*x|
|
||||
raise ArgumentError unless @expected_calls[n][:args].size == x.size
|
||||
@actual_calls[n] << { :retval => r, :args => x }
|
||||
retval
|
||||
}
|
||||
self
|
||||
end
|
||||
|
||||
|
@ -34,5 +27,19 @@ module MiniTest
|
|||
end
|
||||
true
|
||||
end
|
||||
|
||||
def method_missing(sym, *args)
|
||||
raise NoMethodError unless @expected_calls.has_key?(sym)
|
||||
raise ArgumentError unless @expected_calls[sym][:args].size == args.size
|
||||
retval = @expected_calls[sym][:retval]
|
||||
@actual_calls[sym] << { :retval => retval, :args => args }
|
||||
retval
|
||||
end
|
||||
|
||||
alias :original_respond_to? :respond_to?
|
||||
def respond_to?(sym)
|
||||
return true if @expected_calls.has_key?(sym)
|
||||
return original_respond_to?(sym)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue