diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-23 21:47:25 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-23 21:47:25 +0000 |
commit | 2c43b9664b29f76c73ac8bae5400b79d0a5313e0 (patch) | |
tree | 6e9b4a581ac460c38d22de2750939fa815a98295 /test/minitest/test_minitest_mock.rb | |
parent | 885f5fa2b0c1ba20a26759e65fefeece48cb56db (diff) |
Imported minitest 2.5.0 (r6557)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/minitest/test_minitest_mock.rb')
-rw-r--r-- | test/minitest/test_minitest_mock.rb | 62 |
1 files changed, 52 insertions, 10 deletions
diff --git a/test/minitest/test_minitest_mock.rb b/test/minitest/test_minitest_mock.rb index 311f5fa7fb..b6e801c3aa 100644 --- a/test/minitest/test_minitest_mock.rb +++ b/test/minitest/test_minitest_mock.rb @@ -49,20 +49,34 @@ class TestMiniTestMock < MiniTest::Unit::TestCase util_verify_bad end - def test_not_verify_if_unexpected_method_is_called - assert_raises NoMethodError do - @mock.unexpected - end - end - def test_blow_up_on_wrong_number_of_arguments @mock.foo @mock.meaning_of_life @mock.expect(:sum, 3, [1, 2]) - assert_raises ArgumentError do + e = assert_raises ArgumentError do @mock.sum end + + assert_equal "mocked method :sum expects 2 arguments, got 0", e.message + end + + def test_return_mock_does_not_raise + retval = MiniTest::Mock.new + mock = MiniTest::Mock.new + mock.expect(:foo, retval) + mock.foo + + assert mock.verify + end + + def test_mock_args_does_not_raise + arg = MiniTest::Mock.new + mock = MiniTest::Mock.new + mock.expect(:foo, nil, [arg]) + mock.foo(arg) + + assert mock.verify end def test_blow_up_on_wrong_arguments @@ -81,18 +95,22 @@ class TestMiniTestMock < MiniTest::Unit::TestCase end def test_no_method_error_on_unexpected_methods - assert_raises NoMethodError do + e = assert_raises NoMethodError do @mock.bar end + + expected = "unmocked method :bar, expected one of [:foo, :meaning_of_life]" + + assert_equal expected, e.message end def test_assign_per_mock_return_values a = MiniTest::Mock.new b = MiniTest::Mock.new - + a.expect(:foo, :a) b.expect(:foo, :b) - + assert_equal :a, a.foo assert_equal :b, b.foo end @@ -104,6 +122,30 @@ class TestMiniTestMock < MiniTest::Unit::TestCase assert !MiniTest::Mock.new.respond_to?(:foo) end + def test_mock_is_a_blank_slate + @mock.expect :kind_of?, true, [Fixnum] + @mock.expect :==, true, [1] + + assert @mock.kind_of?(Fixnum), "didn't mock :kind_of\?" + assert @mock == 1, "didn't mock :==" + end + + def test_verify_allows_called_args_to_be_loosely_specified + mock = MiniTest::Mock.new + mock.expect :loose_expectation, true, [Integer] + mock.loose_expectation 1 + + assert mock.verify + end + + def test_verify_raises_with_strict_args + mock = MiniTest::Mock.new + mock.expect :strict_expectation, true, [2] + mock.strict_expectation 1 + + util_verify_bad + end + def util_verify_bad assert_raises MockExpectationError do @mock.verify |