mocha-macruby 0.9.8.20100129120100 → 0.9.9.20101102121900

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. data/COPYING.rdoc +3 -0
  2. data/{MIT-LICENSE → MIT-LICENSE.rdoc} +0 -0
  3. data/{README → README.rdoc} +7 -7
  4. data/{RELEASE → RELEASE.rdoc} +18 -0
  5. data/Rakefile +44 -28
  6. data/lib/mocha.rb +1 -0
  7. data/lib/mocha/class_method.rb +1 -3
  8. data/lib/mocha/expectation.rb +37 -34
  9. data/lib/mocha/integration/mini_test.rb +32 -4
  10. data/lib/mocha/integration/mini_test/exception_translation.rb +20 -0
  11. data/lib/mocha/integration/mini_test/{version_131_and_above.rb → version_13.rb} +7 -13
  12. data/lib/mocha/integration/mini_test/version_140.rb +52 -0
  13. data/lib/mocha/integration/mini_test/version_141.rb +56 -0
  14. data/lib/mocha/integration/mini_test/version_142_and_above.rb +47 -0
  15. data/lib/mocha/integration/test_unit.rb +23 -8
  16. data/lib/mocha/integration/test_unit/gem_version_200.rb +3 -0
  17. data/lib/mocha/integration/test_unit/{gem_version_201_and_above.rb → gem_version_201_to_202.rb} +4 -1
  18. data/lib/mocha/integration/test_unit/gem_version_203_to_209.rb +52 -0
  19. data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +3 -0
  20. data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +3 -0
  21. data/lib/mocha/mock.rb +33 -18
  22. data/lib/mocha/module_method.rb +1 -1
  23. data/lib/mocha/object.rb +144 -160
  24. data/lib/mocha/options.rb +1 -0
  25. data/lib/mocha/parameter_matchers/base.rb +50 -2
  26. data/test/acceptance/acceptance_test_helper.rb +1 -1
  27. data/test/acceptance/api_test.rb +1 -1
  28. data/test/acceptance/bug_18914_test.rb +1 -1
  29. data/test/acceptance/bug_21465_test.rb +1 -1
  30. data/test/acceptance/bug_21563_test.rb +1 -1
  31. data/test/acceptance/expected_invocation_count_test.rb +1 -1
  32. data/test/acceptance/failure_messages_test.rb +1 -1
  33. data/test/acceptance/minitest_test.rb +128 -124
  34. data/test/acceptance/mocha_example_test.rb +1 -1
  35. data/test/acceptance/mocha_test_result_test.rb +1 -1
  36. data/test/acceptance/mock_test.rb +1 -1
  37. data/test/acceptance/mock_with_initializer_block_test.rb +1 -1
  38. data/test/acceptance/mocked_methods_dispatch_test.rb +1 -1
  39. data/test/acceptance/optional_parameters_test.rb +1 -1
  40. data/test/acceptance/parameter_matcher_test.rb +38 -1
  41. data/test/acceptance/partial_mocks_test.rb +1 -1
  42. data/test/acceptance/return_value_test.rb +1 -1
  43. data/test/acceptance/sequence_test.rb +1 -1
  44. data/test/acceptance/states_test.rb +1 -1
  45. data/test/acceptance/stub_any_instance_method_test.rb +5 -2
  46. data/test/acceptance/stub_class_method_test.rb +5 -2
  47. data/test/acceptance/stub_everything_test.rb +1 -1
  48. data/test/acceptance/stub_instance_method_test.rb +5 -2
  49. data/test/acceptance/stub_module_method_test.rb +3 -3
  50. data/test/acceptance/stub_test.rb +1 -1
  51. data/test/acceptance/stubba_example_test.rb +1 -1
  52. data/test/acceptance/stubba_test.rb +1 -1
  53. data/test/acceptance/stubba_test_result_test.rb +1 -1
  54. data/test/acceptance/stubbing_error_backtrace_test.rb +1 -1
  55. data/test/acceptance/stubbing_method_unnecessarily_test.rb +1 -1
  56. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +5 -5
  57. data/test/acceptance/stubbing_non_existent_class_method_test.rb +5 -5
  58. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +5 -5
  59. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +9 -9
  60. data/test/acceptance/stubbing_non_public_class_method_test.rb +9 -9
  61. data/test/acceptance/stubbing_non_public_instance_method_test.rb +9 -9
  62. data/test/acceptance/stubbing_on_non_mock_object_test.rb +5 -5
  63. data/test/mini_test_result.rb +74 -0
  64. data/test/test_helper.rb +3 -1
  65. data/test/test_runner.rb +25 -11
  66. data/test/unit/any_instance_method_test.rb +1 -1
  67. data/test/unit/array_inspect_test.rb +1 -1
  68. data/test/unit/backtrace_filter_test.rb +1 -1
  69. data/test/unit/cardinality_test.rb +1 -1
  70. data/test/unit/central_test.rb +1 -1
  71. data/test/unit/change_state_side_effect_test.rb +1 -1
  72. data/test/unit/class_method_test.rb +2 -2
  73. data/test/unit/configuration_test.rb +1 -1
  74. data/test/unit/date_time_inspect_test.rb +1 -1
  75. data/test/unit/exception_raiser_test.rb +1 -1
  76. data/test/unit/expectation_list_test.rb +1 -1
  77. data/test/unit/expectation_test.rb +1 -1
  78. data/test/unit/hash_inspect_test.rb +1 -1
  79. data/test/unit/in_state_ordering_constraint_test.rb +1 -1
  80. data/test/unit/metaclass_test.rb +1 -1
  81. data/test/unit/method_matcher_test.rb +1 -1
  82. data/test/unit/mock_test.rb +16 -14
  83. data/test/unit/mockery_test.rb +1 -1
  84. data/test/unit/multiple_yields_test.rb +1 -1
  85. data/test/unit/no_yields_test.rb +1 -1
  86. data/test/unit/object_inspect_test.rb +10 -9
  87. data/test/unit/object_test.rb +11 -10
  88. data/test/unit/parameter_matchers/all_of_test.rb +1 -1
  89. data/test/unit/parameter_matchers/any_of_test.rb +1 -1
  90. data/test/unit/parameter_matchers/anything_test.rb +1 -1
  91. data/test/unit/parameter_matchers/equals_test.rb +1 -1
  92. data/test/unit/parameter_matchers/has_entries_test.rb +1 -1
  93. data/test/unit/parameter_matchers/has_entry_test.rb +1 -1
  94. data/test/unit/parameter_matchers/has_key_test.rb +1 -1
  95. data/test/unit/parameter_matchers/has_value_test.rb +1 -1
  96. data/test/unit/parameter_matchers/includes_test.rb +5 -5
  97. data/test/unit/parameter_matchers/instance_of_test.rb +2 -2
  98. data/test/unit/parameter_matchers/is_a_test.rb +1 -1
  99. data/test/unit/parameter_matchers/kind_of_test.rb +1 -1
  100. data/test/unit/parameter_matchers/not_test.rb +1 -1
  101. data/test/unit/parameter_matchers/regexp_matches_test.rb +1 -1
  102. data/test/unit/parameter_matchers/responds_with_test.rb +1 -1
  103. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +1 -1
  104. data/test/unit/parameters_matcher_test.rb +1 -1
  105. data/test/unit/return_values_test.rb +1 -1
  106. data/test/unit/sequence_test.rb +1 -1
  107. data/test/unit/single_return_value_test.rb +1 -1
  108. data/test/unit/single_yield_test.rb +1 -1
  109. data/test/unit/state_machine_test.rb +1 -1
  110. data/test/unit/string_inspect_test.rb +1 -1
  111. data/test/unit/yield_parameters_test.rb +1 -1
  112. metadata +43 -19
  113. data/COPYING +0 -3
@@ -1,4 +1,4 @@
1
- require 'mocha/module_method'
1
+ require 'mocha/class_method'
2
2
 
3
3
  module Mocha
4
4
 
data/lib/mocha/object.rb CHANGED
@@ -5,183 +5,167 @@ require 'mocha/module_method'
5
5
  require 'mocha/any_instance_method'
6
6
  require 'mocha/argument_iterator'
7
7
 
8
- module Mocha
9
-
10
- # Methods added all objects to allow mocking and stubbing on real objects.
8
+ # Methods added all objects to allow mocking and stubbing on real objects.
9
+ #
10
+ # Methods return a Mocha::Expectation which can be further modified by methods on Mocha::Expectation.
11
+ class Object
12
+
13
+ def mocha # :nodoc:
14
+ @mocha ||= Mocha::Mockery.instance.mock_impersonating(self)
15
+ end
16
+
17
+ def reset_mocha # :nodoc:
18
+ @mocha = nil
19
+ end
20
+
21
+ def stubba_method # :nodoc:
22
+ Mocha::InstanceMethod
23
+ end
24
+
25
+ def stubba_object # :nodoc:
26
+ self
27
+ end
28
+
29
+ # :call-seq: expects(method_name) -> expectation
30
+ # expects(method_names_vs_return_values) -> last expectation
11
31
  #
12
- # Methods return a Mocha::Expectation which can be further modified by methods on Mocha::Expectation.
13
- module ObjectMethods
14
-
15
- def mocha # :nodoc:
16
- @mocha ||= Mocha::Mockery.instance.mock_impersonating(self)
32
+ # Adds an expectation that a method identified by +method_name+ Symbol must be called exactly once with any parameters.
33
+ # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
34
+ # product = Product.new
35
+ # product.expects(:save).returns(true)
36
+ # assert_equal true, product.save
37
+ #
38
+ # The original implementation of <tt>Product#save</tt> is replaced temporarily.
39
+ #
40
+ # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
41
+ #
42
+ # If +method_names_vs_return_values+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
43
+ # product = Product.new
44
+ # product.expects(:valid? => true, :save => true)
45
+ #
46
+ # # exactly equivalent to
47
+ #
48
+ # product = Product.new
49
+ # product.expects(:valid?).returns(true)
50
+ # product.expects(:save).returns(true)
51
+ def expects(method_name_or_hash)
52
+ expectation = nil
53
+ mockery = Mocha::Mockery.instance
54
+ iterator = Mocha::ArgumentIterator.new(method_name_or_hash)
55
+ iterator.each { |*args|
56
+ method_name = args.shift
57
+ mockery.on_stubbing(self, method_name)
58
+ method = stubba_method.new(stubba_object, method_name)
59
+ mockery.stubba.stub(method)
60
+ expectation = mocha.expects(method_name, caller)
61
+ expectation.returns(args.shift) if args.length > 0
62
+ }
63
+ expectation
64
+ end
65
+
66
+ # :call-seq: stubs(method_name) -> expectation
67
+ # stubs(method_names_vs_return_values) -> last expectation
68
+ #
69
+ # Adds an expectation that a method identified by +method_name+ Symbol may be called any number of times with any parameters.
70
+ # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
71
+ # product = Product.new
72
+ # product.stubs(:save).returns(true)
73
+ # assert_equal true, product.save
74
+ #
75
+ # The original implementation of <tt>Product#save</tt> is replaced temporarily.
76
+ #
77
+ # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
78
+ #
79
+ # If +method_names_vs_return_values+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
80
+ # product = Product.new
81
+ # product.stubs(:valid? => true, :save => true)
82
+ #
83
+ # # exactly equivalent to
84
+ #
85
+ # product = Product.new
86
+ # product.stubs(:valid?).returns(true)
87
+ # product.stubs(:save).returns(true)
88
+ def stubs(method_name_or_hash)
89
+ expectation = nil
90
+ mockery = Mocha::Mockery.instance
91
+ iterator = Mocha::ArgumentIterator.new(method_name_or_hash)
92
+ iterator.each { |*args|
93
+ method_name = args.shift
94
+ mockery.on_stubbing(self, method_name)
95
+ method = stubba_method.new(stubba_object, method_name)
96
+ mockery.stubba.stub(method)
97
+ expectation = mocha.stubs(method_name, caller)
98
+ expectation.returns(args.shift) if args.length > 0
99
+ }
100
+ expectation
101
+ end
102
+
103
+ def method_exists?(method, include_public_methods = true) # :nodoc:
104
+ if include_public_methods
105
+ return true if public_methods(include_superclass_methods = true).include?(method)
106
+ return true if respond_to?(method.to_sym)
17
107
  end
108
+ return true if protected_methods(include_superclass_methods = true).include?(method)
109
+ return true if private_methods(include_superclass_methods = true).include?(method)
110
+ return false
111
+ end
112
+
113
+ end
114
+
115
+ class Module # :nodoc:
18
116
 
19
- def reset_mocha # :nodoc:
20
- @mocha = nil
21
- end
117
+ def stubba_method
118
+ Mocha::ModuleMethod
119
+ end
22
120
 
23
- def stubba_method # :nodoc:
24
- Mocha::InstanceMethod
25
- end
121
+ end
122
+
123
+ # Methods added all classes to allow mocking and stubbing on real objects.
124
+ class Class
125
+
126
+ def stubba_method # :nodoc:
127
+ Mocha::ClassMethod
128
+ end
129
+
130
+ class AnyInstance # :nodoc:
26
131
 
27
- def stubba_object # :nodoc:
28
- self
132
+ def initialize(klass)
133
+ @stubba_object = klass
29
134
  end
30
135
 
31
- # :call-seq: expects(method_name) -> expectation
32
- # expects(method_names_vs_return_values) -> last expectation
33
- #
34
- # Adds an expectation that a method identified by +method_name+ Symbol must be called exactly once with any parameters.
35
- # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
36
- # product = Product.new
37
- # product.expects(:save).returns(true)
38
- # assert_equal true, product.save
39
- #
40
- # The original implementation of <tt>Product#save</tt> is replaced temporarily.
41
- #
42
- # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
43
- #
44
- # If +method_names_vs_return_values+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
45
- # product = Product.new
46
- # product.expects(:valid? => true, :save => true)
47
- #
48
- # # exactly equivalent to
49
- #
50
- # product = Product.new
51
- # product.expects(:valid?).returns(true)
52
- # product.expects(:save).returns(true)
53
- def expects(method_name_or_hash)
54
- expectation = nil
55
- mockery = Mocha::Mockery.instance
56
- iterator = ArgumentIterator.new(method_name_or_hash)
57
- iterator.each { |*args|
58
- method_name = args.shift
59
- mockery.on_stubbing(self, method_name)
60
- method = stubba_method.new(stubba_object, method_name)
61
- mockery.stubba.stub(method)
62
- expectation = mocha.expects(method_name, caller)
63
- expectation.returns(args.shift) if args.length > 0
64
- }
65
- expectation
136
+ def mocha
137
+ @mocha ||= Mocha::Mockery.instance.mock_impersonating_any_instance_of(@stubba_object)
138
+ end
139
+
140
+ def stubba_method
141
+ Mocha::AnyInstanceMethod
66
142
  end
67
143
 
68
- # :call-seq: stubs(method_name) -> expectation
69
- # stubs(method_names_vs_return_values) -> last expectation
70
- #
71
- # Adds an expectation that a method identified by +method_name+ Symbol may be called any number of times with any parameters.
72
- # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
73
- # product = Product.new
74
- # product.stubs(:save).returns(true)
75
- # assert_equal true, product.save
76
- #
77
- # The original implementation of <tt>Product#save</tt> is replaced temporarily.
78
- #
79
- # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
80
- #
81
- # If +method_names_vs_return_values+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
82
- # product = Product.new
83
- # product.stubs(:valid? => true, :save => true)
84
- #
85
- # # exactly equivalent to
86
- #
87
- # product = Product.new
88
- # product.stubs(:valid?).returns(true)
89
- # product.stubs(:save).returns(true)
90
- def stubs(method_name_or_hash)
91
- expectation = nil
92
- mockery = Mocha::Mockery.instance
93
- iterator = ArgumentIterator.new(method_name_or_hash)
94
- iterator.each { |*args|
95
- method_name = args.shift
96
- mockery.on_stubbing(self, method_name)
97
- method = stubba_method.new(stubba_object, method_name)
98
- mockery.stubba.stub(method)
99
- expectation = mocha.stubs(method_name, caller)
100
- expectation.returns(args.shift) if args.length > 0
101
- }
102
- expectation
144
+ def stubba_object
145
+ @stubba_object
103
146
  end
104
147
 
105
- def method_exists?(method, include_public_methods = true) # :nodoc:
148
+ def method_exists?(method, include_public_methods = true)
106
149
  if include_public_methods
107
- return true if public_methods(include_superclass_methods = true).include?(method)
108
- return true if respond_to?(method.to_sym)
150
+ return true if @stubba_object.public_instance_methods(include_superclass_methods = true).include?(method)
109
151
  end
110
- return true if protected_methods(include_superclass_methods = true).include?(method)
111
- return true if private_methods(include_superclass_methods = true).include?(method)
152
+ return true if @stubba_object.protected_instance_methods(include_superclass_methods = true).include?(method)
153
+ return true if @stubba_object.private_instance_methods(include_superclass_methods = true).include?(method)
112
154
  return false
113
155
  end
114
156
 
115
157
  end
116
-
117
- module ModuleMethods # :nodoc:
118
-
119
- def stubba_method
120
- Mocha::ModuleMethod
121
- end
122
-
123
- end
124
-
125
- # Methods added all classes to allow mocking and stubbing on real objects.
126
- module ClassMethods
127
-
128
- def stubba_method # :nodoc:
129
- Mocha::ClassMethod
130
- end
131
-
132
- class AnyInstance # :nodoc:
133
-
134
- def initialize(klass)
135
- @stubba_object = klass
136
- end
137
-
138
- def mocha
139
- @mocha ||= Mocha::Mockery.instance.mock_impersonating_any_instance_of(@stubba_object)
140
- end
141
158
 
142
- def stubba_method
143
- Mocha::AnyInstanceMethod
144
- end
145
-
146
- def stubba_object
147
- @stubba_object
148
- end
149
-
150
- def method_exists?(method, include_public_methods = true)
151
- if include_public_methods
152
- return true if @stubba_object.public_instance_methods(include_superclass_methods = true).include?(method)
153
- end
154
- return true if @stubba_object.protected_instance_methods(include_superclass_methods = true).include?(method)
155
- return true if @stubba_object.private_instance_methods(include_superclass_methods = true).include?(method)
156
- return false
157
- end
158
-
159
- end
160
-
161
- # :call-seq: any_instance -> mock object
162
- #
163
- # Returns a mock object which will detect calls to any instance of this class.
164
- # Product.any_instance.stubs(:save).returns(false)
165
- # product_1 = Product.new
166
- # assert_equal false, product_1.save
167
- # product_2 = Product.new
168
- # assert_equal false, product_2.save
169
- def any_instance
170
- @any_instance ||= AnyInstance.new(self)
171
- end
172
-
159
+ # :call-seq: any_instance -> mock object
160
+ #
161
+ # Returns a mock object which will detect calls to any instance of this class.
162
+ # Product.any_instance.stubs(:save).returns(false)
163
+ # product_1 = Product.new
164
+ # assert_equal false, product_1.save
165
+ # product_2 = Product.new
166
+ # assert_equal false, product_2.save
167
+ def any_instance
168
+ @any_instance ||= AnyInstance.new(self)
173
169
  end
174
-
175
- end
176
-
177
- class Object # :nodoc:
178
- include Mocha::ObjectMethods
179
- end
180
170
 
181
- class Module # :nodoc:
182
- include Mocha::ModuleMethods
183
- end
184
-
185
- class Class # :nodoc:
186
- include Mocha::ClassMethods
187
- end
171
+ end
@@ -0,0 +1 @@
1
+ $options = (ENV['MOCHA_OPTIONS'] || '').split(',').inject({}) { |hash, key| hash[key] = true; hash }
@@ -2,12 +2,60 @@ module Mocha
2
2
 
3
3
  module ParameterMatchers
4
4
 
5
- class Base # :nodoc:
5
+ class Base
6
6
 
7
- def to_matcher
7
+ def to_matcher # :nodoc:
8
8
  self
9
9
  end
10
10
 
11
+ # :call-seq: &(matcher) -> parameter_matcher
12
+ #
13
+ # A short hand way of specifying multiple matchers that should
14
+ # all match.
15
+ #
16
+ # Returns a new +AllOf+ parameter matcher combining the
17
+ # given matcher and the receiver.
18
+ #
19
+ # The following statements are equivalent:
20
+ # object = mock()
21
+ # object.expects(:run).with(all_of(has_key(:foo), has_key(:bar)))
22
+ # object.run(:foo => 'foovalue', :bar => 'barvalue')
23
+ #
24
+ # # with the shorthand
25
+ # object.expects(:run).with(has_key(:foo) & has_key(:bar))
26
+ # object.run(:foo => 'foovalue', :bar => 'barvalue)
27
+ def &(matcher)
28
+ AllOf.new(self, matcher)
29
+ end
30
+
31
+ # :call-seq: |(matcher) -> parameter_matcher
32
+ #
33
+ # A short hand way of specifying multiple matchers, only at least
34
+ # one of which should pass.
35
+ #
36
+ # Returns a new +AnyOf+ parameter matcher combining the
37
+ # given matcher and the receiver.
38
+ #
39
+ # The following statements are equivalent:
40
+ # object = mock()
41
+ # object.expects(:run).with(any_of(has_key(:foo), has_key(:bar)))
42
+ # object.run(:foo => 'foovalue')
43
+ #
44
+ # # with the shorthand
45
+ # object.expects(:run).with(has_key(:foo) | has_key(:bar))
46
+ # object.run(:foo => 'foovalue')
47
+ #
48
+ # This shorthand will not work with an implicit equals match. Instead,
49
+ # an explicit equals matcher should be used:
50
+ #
51
+ # object.expects(:run).with(equals(1) | equals(2))
52
+ # object.run(1) # passes
53
+ # object.run(2) # passes
54
+ # object.run(3) # fails
55
+ def |(matcher)
56
+ AnyOf.new(self, matcher)
57
+ end
58
+
11
59
  end
12
60
 
13
61
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
1
+ require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'test_runner'
3
3
  require 'mocha/configuration'
4
4
 
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha_standalone'
3
3
  require 'simple_counter'
4
4
 
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class Bug18914Test < Test::Unit::TestCase
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class Bug21465Test < Test::Unit::TestCase
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class Bug21563Test < Test::Unit::TestCase
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class ExpectedInvocationCountTest < Test::Unit::TestCase
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "acceptance_test_helper")
1
+ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class FailureMessagesTest < Test::Unit::TestCase