Sha256: df5163cca4a89ae5a6f6dabcc989f131c13814a3de98d0e9ca873a0f3f94a2bb
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
require File.expand_path('../acceptance_test_helper', __FILE__) class MultipleYieldingTest < Mocha::TestCase include AcceptanceTest def setup setup_acceptance_test end def teardown teardown_acceptance_test end def test_yields_values_multiple_times_when_stubbed_method_is_invoked test_result = run_as_test do m = mock('m') m.stubs(:foo).multiple_yields([1], [2, 3]) yielded = [] m.foo { |*args| yielded << args } assert_equal [[1], [2, 3]], yielded end assert_passed(test_result) end def test_yields_values_multiple_times_when_multiple_yields_arguments_are_not_arrays test_result = run_as_test do m = mock('m') m.stubs(:foo).multiple_yields(1, { :b => 2 }, '3') yielded = [] m.foo { |*args| yielded << args } assert_equal [[1], [{ :b => 2 }], ['3']], yielded end assert_passed(test_result) end def test_raises_local_jump_error_if_instructed_to_multiple_yield_but_no_block_given test_result = run_as_test do m = mock('m') m.stubs(:foo).multiple_yields([]) assert_raises(LocalJumpError) { m.foo } end assert_passed(test_result) end def test_yields_different_values_on_consecutive_invocations test_result = run_as_test do m = mock('m') m.stubs(:foo).multiple_yields([0], [1, 2]).then.multiple_yields([3], [4, 5]) yielded = [] m.foo { |*args| yielded << args } m.foo { |*args| yielded << args } assert_equal [[0], [1, 2], [3], [4, 5]], yielded end assert_passed(test_result) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocha-1.11.0 | test/acceptance/multiple_yielding_test.rb |