summaryrefslogtreecommitdiff
path: root/test/minitest/test_minitest_mock.rb
diff options
context:
space:
mode:
authorryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-23 21:47:25 +0000
committerryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-23 21:47:25 +0000
commit2c43b9664b29f76c73ac8bae5400b79d0a5313e0 (patch)
tree6e9b4a581ac460c38d22de2750939fa815a98295 /test/minitest/test_minitest_mock.rb
parent885f5fa2b0c1ba20a26759e65fefeece48cb56db (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.rb62
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