flexmock 0.8.11 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/README.rdoc +2 -2
  2. data/Rakefile +23 -65
  3. data/TAGS +689 -691
  4. data/doc/releases/flexmock-0.9.0.rdoc +89 -0
  5. data/lib/flexmock.rb +1 -1
  6. data/lib/flexmock/argument_matchers.rb +5 -5
  7. data/lib/flexmock/argument_types.rb +1 -1
  8. data/lib/flexmock/base.rb +1 -1
  9. data/lib/flexmock/core.rb +5 -5
  10. data/lib/flexmock/core_class_methods.rb +6 -6
  11. data/lib/flexmock/default_framework_adapter.rb +2 -2
  12. data/lib/flexmock/deprecated_methods.rb +1 -1
  13. data/lib/flexmock/errors.rb +1 -1
  14. data/lib/flexmock/expectation.rb +12 -12
  15. data/lib/flexmock/expectation_director.rb +1 -1
  16. data/lib/flexmock/mock_container.rb +12 -2
  17. data/lib/flexmock/noop.rb +2 -2
  18. data/lib/flexmock/ordering.rb +1 -1
  19. data/lib/flexmock/partial_mock.rb +10 -3
  20. data/lib/flexmock/rails.rb +1 -1
  21. data/lib/flexmock/recorder.rb +1 -1
  22. data/lib/flexmock/rspec.rb +1 -1
  23. data/lib/flexmock/test_unit.rb +2 -2
  24. data/lib/flexmock/test_unit_integration.rb +5 -5
  25. data/lib/flexmock/undefined.rb +8 -4
  26. data/lib/flexmock/validators.rb +2 -2
  27. data/lib/flexmock/version.rb +11 -0
  28. data/test/{test_aliasing.rb → aliasing_test.rb} +7 -8
  29. data/test/{test_container_methods.rb → container_methods_test.rb} +21 -22
  30. data/test/{test_default_framework_adapter.rb → default_framework_adapter_test.rb} +8 -9
  31. data/test/{test_demeter_mocking.rb → demeter_mocking_test.rb} +1 -4
  32. data/test/{test_deprecated_methods.rb → deprecated_methods_test.rb} +11 -13
  33. data/test/{test_examples_from_readme.rb → examples_from_readme_test.rb} +5 -6
  34. data/test/{test_extended_should_receive.rb → extended_should_receive_test.rb} +11 -12
  35. data/test/{test_flexmodel.rb → flexmodel_test.rb} +1 -2
  36. data/test/{test_naming.rb → naming_test.rb} +5 -6
  37. data/test/{test_new_instances.rb → new_instances_test.rb} +36 -28
  38. data/test/{test_partial_mock.rb → partial_mock_test.rb} +20 -18
  39. data/test/{test_rails_view_stub.rb → rails_view_stub_test.rb} +3 -3
  40. data/test/{test_record_mode.rb → record_mode_test.rb} +2 -5
  41. data/test/rspec_integration/integration_spec.rb +14 -8
  42. data/test/{test_samples.rb → samples_test.rb} +13 -14
  43. data/test/{test_should_ignore_missing.rb → should_ignore_missing_test.rb} +4 -6
  44. data/test/{test_should_receive.rb → should_receive_test.rb} +39 -42
  45. data/test/test_setup.rb +30 -0
  46. data/test/test_unit_integration/{test_auto_test_unit.rb → auto_test_unit_test.rb} +4 -4
  47. data/test/tu_integration_test.rb +99 -0
  48. data/test/{test_undefined.rb → undefined_test.rb} +2 -3
  49. metadata +31 -39
  50. data/test/asserts.rb +0 -34
  51. data/test/test_tu_integration.rb +0 -94
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
  #
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007, 2010 by Jim Weirich (jim.weirich@gmail.com).
4
+ # Copyright 2003-2011 by Jim Weirich (jim.weirich@gmail.com).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -29,4 +29,4 @@ module Test
29
29
 
30
30
  end
31
31
  end
32
- end
32
+ end
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -13,13 +13,13 @@ require 'test/unit'
13
13
  require 'flexmock/base'
14
14
 
15
15
  class FlexMock
16
-
16
+
17
17
  ####################################################################
18
18
  # Test::Unit::TestCase Integration.
19
19
  #
20
20
  # Include this module in any TestCase class in a Test::Unit test
21
21
  # suite to get integration with FlexMock. When this module is
22
- # included, the mock container methods (e.g. flexmock(), flexstub())
22
+ # included, the mock container methods (e.g. flexmock(), flexstub())
23
23
  # will be available.
24
24
  #
25
25
  # <b>Note:</b> If you define a +teardown+ method in the test case,
@@ -38,14 +38,14 @@ class FlexMock
38
38
  end
39
39
 
40
40
  end
41
-
41
+
42
42
  ####################################################################
43
43
  # Adapter for adapting FlexMock to the Test::Unit framework.
44
44
  #
45
45
  class TestUnitFrameworkAdapter
46
46
  include Test::Unit::Assertions
47
47
  def assertion_failed_error
48
- Test::Unit::AssertionFailedError
48
+ defined?(Test::Unit::AssertionFailedError) ? Test::Unit::AssertionFailedError : MiniTest::Assertion
49
49
  end
50
50
  end
51
51
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -30,7 +30,11 @@ class FlexMock
30
30
  def clone
31
31
  self
32
32
  end
33
-
33
+
34
+ def <=>(other)
35
+ self
36
+ end
37
+
34
38
  def coerce(other)
35
39
  [FlexMock.undefined, FlexMock.undefined]
36
40
  end
@@ -43,8 +47,8 @@ class FlexMock
43
47
  def self.undefined
44
48
  @undefined
45
49
  end
46
-
50
+
47
51
  class << Undefined
48
52
  private :new
49
53
  end
50
- end
54
+ end
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -73,5 +73,5 @@ class FlexMock
73
73
  "Method '#{@exp}' should be called at most #{@limit} times,\n" +
74
74
  "only called #{n} times") { n <= @limit }
75
75
  end
76
- end
76
+ end
77
77
  end
@@ -0,0 +1,11 @@
1
+ class FlexMock
2
+ module Version
3
+ NUMBERS = [
4
+ MAJOR = 0,
5
+ MINOR = 9,
6
+ BUILD = 0,
7
+ ]
8
+ end
9
+
10
+ VERSION = Version::NUMBERS.join('.')
11
+ end
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'test/unit'
4
- require 'flexmock'
3
+ require 'test/test_setup'
5
4
 
6
5
  class FlexMock
7
6
  module StubsAndExpects
@@ -36,21 +35,21 @@ class AliasingTest < Test::Unit::TestCase
36
35
  assert_equal :woof!, m.pat
37
36
  assert_equal :woof!, m.pat
38
37
  end
39
-
38
+
40
39
  def test_once_mocking
41
- m = mock("a cute dog").expects(:pat).and_return(:woof!).mock
40
+ mock("a cute dog").expects(:pat).and_return(:woof!).mock
42
41
  end
43
-
42
+
44
43
  def test_twice_mocking
45
44
  m = mock("a cute dog").expects(:pat).and_return(:woof!).twice.mock
46
- assert_raises(Test::Unit::AssertionFailedError) { m.flexmock_verify }
45
+ assert_raises(assertion_failed_error) { m.flexmock_verify }
47
46
  end
48
-
47
+
49
48
  def test_stubbing
50
49
  m = stub("a cute dog").expects(:pat).and_return(:woof!).mock
51
50
  assert_equal :woof!, m.pat
52
51
  end
53
-
52
+
54
53
  def test_partial
55
54
  obj = Object.new
56
55
  stub(obj).stubs(:wag).and_return(:tail)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -9,8 +9,7 @@
9
9
  # above copyright notice is included.
10
10
  #+++
11
11
 
12
- require "test/unit"
13
- require "flexmock"
12
+ require "test/test_setup"
14
13
 
15
14
  # These tests exercise the interface used to define mocks
16
15
  class TestFlexmockContainerMethods < Test::Unit::TestCase
@@ -21,36 +20,36 @@ class TestFlexmockContainerMethods < Test::Unit::TestCase
21
20
  mock.should_receive(:hi).once.and_return(:lo)
22
21
  assert_equal :lo, mock.hi
23
22
  end
24
-
23
+
25
24
  def test_mock_with_name
26
25
  mock = flexmock("Danny")
27
26
  mock.should_receive(:xxx).with(1)
28
- ex = assert_raise(Test::Unit::AssertionFailedError) { mock.xxx }
27
+ ex = assert_raise(assertion_failed_error) { mock.xxx }
29
28
  assert_match(/Danny/, ex.message)
30
29
  end
31
-
30
+
32
31
  def test_mock_with_symbol_name
33
32
  mock = flexmock(:Danny)
34
33
  mock.should_receive(:xxx).with(1)
35
- ex = assert_raise(Test::Unit::AssertionFailedError) { mock.xxx }
34
+ ex = assert_raise(assertion_failed_error) { mock.xxx }
36
35
  assert_match(/Danny/, ex.message)
37
36
  end
38
-
37
+
39
38
  def test_mock_with_hash
40
39
  mock = flexmock(:hi => :lo, :good => :bye)
41
40
  assert_equal :lo, mock.hi
42
41
  assert_equal :bye, mock.good
43
42
  end
44
-
43
+
45
44
  def test_mock_with_name_and_hash
46
45
  mock = flexmock("Danny", :hi => :lo, :good => :bye)
47
46
  mock.should_receive(:xxx).with(1)
48
47
  assert_equal :lo, mock.hi
49
48
  assert_equal :bye, mock.good
50
- ex = assert_raise(Test::Unit::AssertionFailedError) { mock.xxx }
49
+ ex = assert_raise(assertion_failed_error) { mock.xxx }
51
50
  assert_match(/Danny/, ex.message)
52
51
  end
53
-
52
+
54
53
  def test_mock_with_name_hash_and_block
55
54
  mock = flexmock("Danny", :hi => :lo, :good => :bye) do |m|
56
55
  m.should_receive(:one).and_return(1)
@@ -58,25 +57,25 @@ class TestFlexmockContainerMethods < Test::Unit::TestCase
58
57
  assert_equal 1, mock.one
59
58
  assert_equal :lo, mock.hi
60
59
  end
61
-
60
+
62
61
  def test_basic_stub
63
62
  fido = Object.new
64
63
  mock = flexmock(fido)
65
64
  mock.should_receive(:wag).and_return(:happy)
66
65
  assert_equal :happy, fido.wag
67
66
  end
68
-
67
+
69
68
  def test_basic_stub_with_name
70
69
  fido = Object.new
71
70
  mock = flexmock(fido, "Danny")
72
71
  mock.should_receive(:xxx).with(1).and_return(:happy)
73
- ex = assert_raise(Test::Unit::AssertionFailedError) { fido.xxx }
72
+ ex = assert_raise(assertion_failed_error) { fido.xxx }
74
73
  assert_match(/Danny/, ex.message)
75
74
  end
76
75
 
77
76
  def test_stub_with_quick_definitions
78
77
  fido = Object.new
79
- mock = flexmock(fido, :wag => :happy)
78
+ flexmock(fido, :wag => :happy)
80
79
  assert_equal :happy, fido.wag
81
80
  end
82
81
 
@@ -84,31 +83,31 @@ class TestFlexmockContainerMethods < Test::Unit::TestCase
84
83
  fido = Object.new
85
84
  mock = flexmock(fido, "Danny", :wag => :happy)
86
85
  mock.should_receive(:xxx).with(1).and_return(:happy)
87
- ex = assert_raise(Test::Unit::AssertionFailedError) { fido.xxx }
86
+ ex = assert_raise(assertion_failed_error) { fido.xxx }
88
87
  assert_match(/Danny/, ex.message)
89
88
  assert_equal :happy, fido.wag
90
89
  end
91
-
90
+
92
91
  def test_stubs_are_auto_verified
93
92
  fido = Object.new
94
93
  mock = flexmock(fido)
95
94
  mock.should_receive(:hi).once
96
- ex = assert_raise(Test::Unit::AssertionFailedError) { flexmock_verify }
95
+ assert_raise(assertion_failed_error) { flexmock_verify }
97
96
  end
98
-
97
+
99
98
  def test_stubbing_a_string
100
99
  s = "hello"
101
- mock = flexmock(:base, s, :length => 2)
100
+ flexmock(:base, s, :length => 2)
102
101
  assert_equal 2, s.length
103
102
  end
104
-
103
+
105
104
  def test_multiple_stubs_work_with_same_partial_mock_proxy
106
105
  obj = Object.new
107
106
  mock1 = flexmock(obj)
108
107
  mock2 = flexmock(obj)
109
108
  assert_equal mock1, mock2
110
109
  end
111
-
110
+
112
111
  def test_multiple_stubs_layer_behavior
113
112
  obj = Object.new
114
113
  flexmock(obj, :hi => :lo)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -9,16 +9,15 @@
9
9
  # above copyright notice is included.
10
10
  #+++
11
11
 
12
- require "test/unit"
13
- require "flexmock"
12
+ require "test/test_setup"
14
13
 
15
14
  class TestFlexmockDefaultFrameworkAdapter < Test::Unit::TestCase
16
15
  def setup
17
16
  @adapter = FlexMock::DefaultFrameworkAdapter.new
18
17
  end
19
18
 
20
- def test_assert_block_raises_exception
21
- ex = assert_raise(FlexMock::DefaultFrameworkAdapter::AssertionFailedError) {
19
+ def test_assert_block_raises_exception
20
+ assert_raise(FlexMock::DefaultFrameworkAdapter::AssertionFailedError) {
22
21
  @adapter.assert_block("failure message") { false }
23
22
  }
24
23
  end
@@ -26,14 +25,14 @@ class TestFlexmockDefaultFrameworkAdapter < Test::Unit::TestCase
26
25
  def test_assert_block_doesnt_raise_exception
27
26
  @adapter.assert_block("failure message") { true }
28
27
  end
29
-
28
+
30
29
  def test_assert_equal_doesnt_raise_exception
31
30
  @adapter.assert_equal("a", "a", "no message")
32
31
  end
33
-
32
+
34
33
  def test_assert_equal_can_fail
35
- ex = assert_raise(FlexMock::DefaultFrameworkAdapter::AssertionFailedError) {
34
+ assert_raise(FlexMock::DefaultFrameworkAdapter::AssertionFailedError) {
36
35
  @adapter.assert_equal("a", "b", "a should not equal b")
37
36
  }
38
37
  end
39
- end
38
+ end
@@ -1,12 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'test/unit'
4
- require 'flexmock'
5
- require 'test/asserts'
3
+ require 'test/test_setup'
6
4
 
7
5
  class TestDemeterMocking < Test::Unit::TestCase
8
6
  include FlexMock::TestCase
9
- include FlexMock::FailureAssertion
10
7
 
11
8
  def test_demeter_mocking
12
9
  m = flexmock("A")
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #---
4
- # Copyright 2003, 2004, 2005, 2006, 2007 by Jim Weirich (jim@weirichhouse.org).
4
+ # Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
5
5
  # All rights reserved.
6
6
 
7
7
  # Permission is granted for use, copying, modification, distribution,
@@ -9,10 +9,8 @@
9
9
  # above copyright notice is included.
10
10
  #+++
11
11
 
12
- require 'test/unit'
13
- require 'flexmock'
12
+ require 'test/test_setup'
14
13
  require 'flexmock/deprecated_methods'
15
- require 'test/redirect_error'
16
14
 
17
15
  class TestFlexMock < Test::Unit::TestCase
18
16
  include FlexMock::TestCase
@@ -79,7 +77,7 @@ class TestFlexMock < Test::Unit::TestCase
79
77
  @mock.blip
80
78
  begin
81
79
  @mock.flexmock_verify
82
- rescue Test::Unit::AssertionFailedError => err
80
+ rescue assertion_failed_error => err
83
81
  end
84
82
  assert_not_nil err
85
83
  end
@@ -94,7 +92,7 @@ class TestFlexMock < Test::Unit::TestCase
94
92
  end
95
93
 
96
94
  def test_zero_counts
97
- assert_raises(Test::Unit::AssertionFailedError) do
95
+ assert_raises(assertion_failed_error) do
98
96
  FlexMock.use { |m|
99
97
  s { m.mock_handle(:blip, 0) }
100
98
  m.blip
@@ -103,7 +101,7 @@ class TestFlexMock < Test::Unit::TestCase
103
101
  end
104
102
 
105
103
  def test_file_io_with_use
106
- file = FlexMock.use do |m|
104
+ FlexMock.use do |m|
107
105
  filedata = ["line 1", "line 2"]
108
106
  s { m.mock_handle(:gets, 3) { filedata.shift } }
109
107
  assert_equal 2, count_lines(m)
@@ -112,14 +110,14 @@ class TestFlexMock < Test::Unit::TestCase
112
110
 
113
111
  def count_lines(stream)
114
112
  result = 0
115
- while line = stream.gets
113
+ while stream.gets
116
114
  result += 1
117
115
  end
118
- result
116
+ result
119
117
  end
120
118
 
121
119
  def test_use
122
- assert_raises(Test::Unit::AssertionFailedError) {
120
+ assert_raises(assertion_failed_error) {
123
121
  FlexMock.use do |m|
124
122
  s { m.mock_handle(:blip, 2) }
125
123
  m.blip
@@ -145,7 +143,7 @@ class TestFlexMock < Test::Unit::TestCase
145
143
  assert_equal 9, @mock.get
146
144
  assert_equal 16, @mock.get
147
145
  end
148
-
146
+
149
147
  def test_respond_to_returns_false_for_non_handled_methods
150
148
  assert(!@mock.respond_to?(:blah), "should not respond to blah")
151
149
  end
@@ -222,6 +220,6 @@ class TestAnyInstance < Test::Unit::TestCase
222
220
  end
223
221
  end
224
222
  m = Dog.new
225
- assert_equal :whimper, m.bark
223
+ assert_equal :whimper, m.bark
226
224
  end
227
- end
225
+ end