rspec 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. data/History.rdoc +41 -2
  2. data/Manifest.txt +11 -10
  3. data/Rakefile +47 -22
  4. data/Ruby1.9.rdoc +1 -2
  5. data/Upgrade.rdoc +56 -7
  6. data/bin/spec +2 -1
  7. data/cucumber.yml +3 -1
  8. data/examples/failing/README.txt +7 -3
  9. data/examples/failing/failing_implicit_docstrings_example.rb +0 -2
  10. data/examples/failing/mocking_example.rb +0 -2
  11. data/examples/failing/partial_mock_example.rb +0 -2
  12. data/examples/failing/pending_example.rb +0 -2
  13. data/examples/failing/predicate_example.rb +0 -2
  14. data/examples/failing/team_spec.rb +0 -3
  15. data/examples/failing/timeout_behaviour.rb +0 -2
  16. data/examples/passing/custom_formatter.rb +0 -1
  17. data/examples/passing/dynamic_spec.rb +0 -2
  18. data/examples/passing/file_accessor.rb +1 -2
  19. data/examples/passing/file_accessor_spec.rb +1 -2
  20. data/examples/passing/filtered_formatter.rb +0 -1
  21. data/examples/passing/greeter_spec.rb +0 -1
  22. data/examples/passing/helper_method_example.rb +0 -2
  23. data/examples/passing/implicit_docstrings_example.rb +0 -2
  24. data/examples/passing/io_processor_spec.rb +1 -2
  25. data/examples/passing/mocking_example.rb +0 -2
  26. data/examples/passing/nested_classes_example.rb +1 -2
  27. data/examples/passing/options_example.rb +0 -2
  28. data/examples/passing/partial_mock_example.rb +0 -2
  29. data/examples/passing/pending_example.rb +0 -2
  30. data/examples/passing/predicate_example.rb +0 -2
  31. data/examples/passing/shared_example_group_example.rb +0 -2
  32. data/examples/passing/simple_matcher_example.rb +0 -2
  33. data/examples/passing/stack_spec.rb +2 -3
  34. data/examples/passing/stack_spec_with_nested_example_groups.rb +2 -3
  35. data/examples/passing/stubbing_example.rb +0 -2
  36. data/examples/passing/yielding_example.rb +0 -2
  37. data/features/before_and_after_blocks/before_and_after_blocks.feature +4 -4
  38. data/features/command_line/line_number_option.feature +14 -14
  39. data/features/command_line/line_number_option_with_example_with_no_name.feature +2 -2
  40. data/features/example_groups/define_example_attribute.feature +41 -0
  41. data/features/example_groups/example_group_with_should_methods.feature +1 -1
  42. data/features/example_groups/implicit_docstrings.feature +7 -7
  43. data/features/example_groups/nested_groups.feature +2 -2
  44. data/features/expectations/customized_message.feature +4 -4
  45. data/features/expectations/expect_change.feature +4 -4
  46. data/features/expectations/expect_error.feature +4 -4
  47. data/features/extensions/custom_example_group.feature +10 -10
  48. data/features/formatters/custom_formatter.feature +3 -3
  49. data/features/interop/examples_and_tests_together.feature +10 -6
  50. data/features/interop/rspec_output.feature +1 -1
  51. data/features/interop/test_case_with_should_methods.feature +1 -1
  52. data/features/load_paths/add_lib_to_load_path.feature +20 -0
  53. data/features/load_paths/add_spec_to_load_path.feature +20 -0
  54. data/features/matchers/define_diffable_matcher.feature +2 -2
  55. data/features/matchers/define_matcher.feature +19 -19
  56. data/features/matchers/define_matcher_outside_rspec.feature +2 -3
  57. data/features/matchers/define_matcher_with_fluent_interface.feature +2 -2
  58. data/features/matchers/define_wrapped_matcher.feature +29 -0
  59. data/features/mock_framework_integration/use_flexmock.feature +1 -1
  60. data/features/mock_framework_integration/use_mocha.feature +1 -1
  61. data/features/mock_framework_integration/use_rr.feature +1 -1
  62. data/features/mocks/mix_stubs_and_mocks.feature +2 -2
  63. data/features/mocks/stub_implementation.feature +1 -1
  64. data/features/pending/pending_examples.feature +16 -16
  65. data/features/runner/specify_line_number.feature +4 -4
  66. data/features/spec_helper/spec_helper.feature +25 -0
  67. data/features/step_definitions/running_rspec_steps.rb +4 -2
  68. data/features/subject/explicit_subject.feature +2 -2
  69. data/features/subject/implicit_subject.feature +14 -2
  70. data/features/support/env.rb +6 -3
  71. data/lib/spec/adapters/mock_frameworks/mocha.rb +6 -1
  72. data/lib/spec/example/example_group_methods.rb +7 -0
  73. data/lib/spec/example/example_methods.rb +1 -1
  74. data/lib/spec/example/subject.rb +8 -0
  75. data/lib/spec/interop/test.rb +27 -1
  76. data/lib/spec/interop/test/unit/testcase.rb +1 -1
  77. data/lib/spec/matchers/exist.rb +2 -2
  78. data/lib/spec/matchers/extensions/instance_exec.rb +28 -20
  79. data/lib/spec/matchers/matcher.rb +21 -20
  80. data/lib/spec/mocks/argument_matchers.rb +17 -13
  81. data/lib/spec/mocks/error_generator.rb +14 -3
  82. data/lib/spec/mocks/{spec_methods.rb → example_methods.rb} +25 -11
  83. data/lib/spec/mocks/framework.rb +1 -1
  84. data/lib/spec/mocks/methods.rb +15 -0
  85. data/lib/spec/mocks/mock.rb +16 -10
  86. data/lib/spec/mocks/proxy.rb +1 -1
  87. data/lib/spec/rake/spectask.rb +3 -3
  88. data/lib/spec/runner/backtrace_tweaker.rb +41 -22
  89. data/lib/spec/runner/configuration.rb +18 -1
  90. data/lib/spec/runner/differs/default.rb +1 -1
  91. data/lib/spec/runner/drb_command_line.rb +5 -2
  92. data/lib/spec/runner/formatter/base_text_formatter.rb +8 -3
  93. data/lib/spec/runner/option_parser.rb +21 -15
  94. data/lib/spec/runner/options.rb +54 -23
  95. data/lib/spec/version.rb +3 -3
  96. data/resources/helpers/cmdline.rb +0 -1
  97. data/spec/autotest/autotest_helper.rb +4 -6
  98. data/spec/autotest/discover_spec.rb +2 -2
  99. data/spec/autotest/failed_results_re_spec.rb +1 -1
  100. data/spec/autotest/rspec_spec.rb +1 -1
  101. data/spec/spec/dsl/main_spec.rb +1 -1
  102. data/spec/spec/example/example_group_class_definition_spec.rb +1 -1
  103. data/spec/spec/example/example_group_factory_spec.rb +1 -1
  104. data/spec/spec/example/example_group_methods_spec.rb +21 -1
  105. data/spec/spec/example/example_group_proxy_spec.rb +1 -1
  106. data/spec/spec/example/example_group_spec.rb +1 -1
  107. data/spec/spec/example/example_matcher_spec.rb +1 -1
  108. data/spec/spec/example/example_methods_spec.rb +1 -1
  109. data/spec/spec/example/example_proxy_spec.rb +1 -1
  110. data/spec/spec/example/helper_method_spec.rb +1 -1
  111. data/spec/spec/example/nested_example_group_spec.rb +1 -1
  112. data/spec/spec/example/predicate_matcher_spec.rb +1 -1
  113. data/spec/spec/example/shared_example_group_spec.rb +1 -1
  114. data/spec/spec/example/subclassing_example_group_spec.rb +1 -1
  115. data/spec/spec/example/subject_spec.rb +17 -1
  116. data/spec/spec/expectations/differs/default_spec.rb +16 -3
  117. data/spec/spec/expectations/extensions/kernel_spec.rb +1 -1
  118. data/spec/spec/expectations/fail_with_spec.rb +1 -1
  119. data/spec/spec/expectations/handler_spec.rb +1 -1
  120. data/spec/spec/expectations/wrap_expectation_spec.rb +1 -1
  121. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  122. data/spec/spec/interop/test/unit/spec_spec.rb +1 -1
  123. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +2 -2
  124. data/spec/spec/interop/test/unit/testcase_spec.rb +7 -2
  125. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +1 -1
  126. data/spec/spec/matchers/be_close_spec.rb +1 -1
  127. data/spec/spec/matchers/be_instance_of_spec.rb +1 -1
  128. data/spec/spec/matchers/be_kind_of_spec.rb +1 -1
  129. data/spec/spec/matchers/be_spec.rb +13 -1
  130. data/spec/spec/matchers/change_spec.rb +1 -1
  131. data/spec/spec/matchers/compatibility_spec.rb +1 -1
  132. data/spec/spec/matchers/description_generation_spec.rb +1 -1
  133. data/spec/spec/matchers/dsl_spec.rb +1 -1
  134. data/spec/spec/matchers/eql_spec.rb +1 -1
  135. data/spec/spec/matchers/equal_spec.rb +1 -1
  136. data/spec/spec/matchers/exist_spec.rb +6 -2
  137. data/spec/spec/matchers/has_spec.rb +19 -1
  138. data/spec/spec/matchers/have_spec.rb +1 -1
  139. data/spec/spec/matchers/include_spec.rb +1 -1
  140. data/spec/spec/matchers/match_array_spec.rb +1 -1
  141. data/spec/spec/matchers/match_spec.rb +1 -1
  142. data/spec/spec/matchers/matcher_methods_spec.rb +1 -1
  143. data/spec/spec/matchers/matcher_spec.rb +55 -28
  144. data/spec/spec/matchers/matchers_spec.rb +1 -1
  145. data/spec/spec/matchers/operator_matcher_spec.rb +1 -1
  146. data/spec/spec/matchers/raise_error_spec.rb +1 -1
  147. data/spec/spec/matchers/respond_to_spec.rb +1 -1
  148. data/spec/spec/matchers/satisfy_spec.rb +1 -1
  149. data/spec/spec/matchers/simple_matcher_spec.rb +1 -1
  150. data/spec/spec/matchers/throw_symbol_spec.rb +1 -1
  151. data/spec/spec/mocks/any_number_of_times_spec.rb +1 -1
  152. data/spec/spec/mocks/argument_expectation_spec.rb +1 -1
  153. data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  154. data/spec/spec/mocks/at_least_spec.rb +1 -1
  155. data/spec/spec/mocks/at_most_spec.rb +1 -1
  156. data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
  157. data/spec/spec/mocks/bug_report_10263_spec.rb +1 -1
  158. data/spec/spec/mocks/bug_report_11545_spec.rb +1 -1
  159. data/spec/spec/mocks/bug_report_15719_spec.rb +3 -3
  160. data/spec/spec/mocks/bug_report_496_spec.rb +1 -1
  161. data/spec/spec/mocks/bug_report_600_spec.rb +1 -1
  162. data/spec/spec/mocks/bug_report_7611_spec.rb +1 -1
  163. data/spec/spec/mocks/bug_report_7805_spec.rb +1 -1
  164. data/spec/spec/mocks/bug_report_8165_spec.rb +1 -1
  165. data/spec/spec/mocks/bug_report_8302_spec.rb +1 -1
  166. data/spec/spec/mocks/bug_report_830_spec.rb +1 -1
  167. data/spec/spec/mocks/double_spec.rb +12 -0
  168. data/spec/spec/mocks/failing_argument_matchers_spec.rb +6 -6
  169. data/spec/spec/mocks/hash_including_matcher_spec.rb +1 -1
  170. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +1 -1
  171. data/spec/spec/mocks/mock_ordering_spec.rb +4 -4
  172. data/spec/spec/mocks/mock_space_spec.rb +1 -1
  173. data/spec/spec/mocks/mock_spec.rb +20 -24
  174. data/spec/spec/mocks/multiple_return_value_spec.rb +8 -8
  175. data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
  176. data/spec/spec/mocks/null_object_mock_spec.rb +1 -1
  177. data/spec/spec/mocks/once_counts_spec.rb +1 -1
  178. data/spec/spec/mocks/options_hash_spec.rb +1 -1
  179. data/spec/spec/mocks/partial_mock_spec.rb +1 -1
  180. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +1 -1
  181. data/spec/spec/mocks/passing_argument_matchers_spec.rb +1 -1
  182. data/spec/spec/mocks/precise_counts_spec.rb +1 -1
  183. data/spec/spec/mocks/record_messages_spec.rb +1 -1
  184. data/spec/spec/mocks/stub_chain_spec.rb +1 -1
  185. data/spec/spec/mocks/stub_implementation_spec.rb +1 -1
  186. data/spec/spec/mocks/stub_spec.rb +14 -9
  187. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +2 -2
  188. data/spec/spec/mocks/twice_counts_spec.rb +1 -1
  189. data/spec/spec/mocks/unstub_spec.rb +1 -1
  190. data/spec/spec/package/bin_spec_spec.rb +4 -10
  191. data/spec/spec/rake/spectask_spec.rb +2 -2
  192. data/spec/spec/runner/class_and_argument_parser_spec.rb +1 -1
  193. data/spec/spec/runner/command_line_spec.rb +1 -1
  194. data/spec/spec/runner/configuration_spec.rb +15 -6
  195. data/spec/spec/runner/drb_command_line_spec.rb +1 -1
  196. data/spec/spec/runner/example_group_runner_spec.rb +1 -1
  197. data/spec/spec/runner/formatter/base_formatter_spec.rb +1 -1
  198. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +10 -1
  199. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +1 -1
  200. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +1 -1
  201. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +72 -76
  202. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +50 -50
  203. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +50 -50
  204. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +61 -69
  205. data/spec/spec/runner/formatter/html_formatter_spec.rb +26 -26
  206. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +1 -1
  207. data/spec/spec/runner/formatter/profile_formatter_spec.rb +1 -1
  208. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +13 -9
  209. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +1 -1
  210. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +1 -1
  211. data/spec/spec/runner/formatter/{text_mate_formatted-1.8.4.html → text_mate_formatted-1.8.6-jruby.html} +64 -59
  212. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +46 -46
  213. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +46 -46
  214. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +55 -63
  215. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +3 -3
  216. data/spec/spec/runner/heckle_runner_spec.rb +1 -1
  217. data/spec/spec/runner/heckler_spec.rb +1 -1
  218. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +1 -1
  219. data/spec/spec/runner/line_number_query_spec.rb +10 -1
  220. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +22 -16
  221. data/spec/spec/runner/option_parser_spec.rb +48 -14
  222. data/spec/spec/runner/options_spec.rb +16 -2
  223. data/spec/spec/runner/output_one_time_fixture.rb +1 -1
  224. data/spec/spec/runner/output_one_time_fixture_runner.rb +2 -3
  225. data/spec/spec/runner/output_one_time_spec.rb +6 -7
  226. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +65 -22
  227. data/spec/spec/runner/reporter_spec.rb +1 -1
  228. data/spec/spec/runner_spec.rb +1 -1
  229. data/spec/spec_helper.rb +5 -7
  230. data/spec/{spec → support}/spec_classes.rb +0 -0
  231. metadata +58 -17
  232. data/examples/failing/spec_helper.rb +0 -3
  233. data/examples/passing/spec_helper.rb +0 -3
  234. data/features/heckle/heckle.feature +0 -56
  235. data/spec/rspec_suite.rb +0 -6
  236. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -366
  237. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
  238. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -372
data/lib/spec/version.rb CHANGED
@@ -3,12 +3,12 @@ module Spec # :nodoc:
3
3
  unless defined? MAJOR
4
4
  MAJOR = 1
5
5
  MINOR = 2
6
- TINY = 8
6
+ TINY = 9
7
7
  PRE = nil
8
-
8
+
9
9
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
10
10
 
11
11
  SUMMARY = "rspec #{STRING}"
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -1,4 +1,3 @@
1
- $:.push File.join(File.dirname(__FILE__), *%w[.. .. lib])
2
1
  require 'spec'
3
2
 
4
3
  # Uncommenting next line will break the output feature (no output!!)
@@ -1,10 +1,8 @@
1
+ require 'spec_helper'
1
2
  begin
2
3
  require 'autotest'
3
4
  rescue LoadError
4
- require 'rubygems' unless ENV['NO_RUBYGEMS']
5
- require 'autotest'
5
+ raise "You must install ZenTest to use autotest"
6
6
  end
7
- dir = File.dirname(__FILE__)
8
- require File.expand_path("#{dir}/../spec_helper")
9
- require File.expand_path("#{dir}/../../lib/autotest/rspec")
10
- require File.expand_path("#{dir}/autotest_matchers")
7
+ require 'autotest/rspec'
8
+ require 'spec/autotest/autotest_matchers'
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + "/autotest_helper"
1
+ require 'spec/autotest/autotest_helper'
2
2
 
3
3
  describe Autotest::Rspec, "discovery" do
4
4
  it "adds the rspec autotest plugin" do
5
5
  Autotest.should_receive(:add_discovery)
6
- require File.dirname(__FILE__) + "/../../lib/autotest/discover"
6
+ load File.expand_path(File.dirname(__FILE__) + "/../../lib/autotest/discover.rb")
7
7
  end
8
8
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/autotest_helper"
1
+ require 'spec/autotest/autotest_helper'
2
2
 
3
3
  describe "failed_results_re" do
4
4
  it "should match a failure" do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/autotest_helper"
1
+ require 'spec/autotest/autotest_helper'
2
2
 
3
3
  describe Autotest::Rspec do
4
4
  describe "adding spec.opts --options" do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module DSL
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -732,6 +732,26 @@ module Spec
732
732
  end
733
733
  end
734
734
 
735
+ describe "#define" do
736
+ let(:counter) do
737
+ Class.new do
738
+ def initialize
739
+ @count = 0
740
+ end
741
+ def count
742
+ @count += 1
743
+ end
744
+ end.new
745
+ end
746
+ it "generates an instance method" do
747
+ counter.count.should == 1
748
+ end
749
+
750
+ it "caches the value" do
751
+ counter.count.should == 1
752
+ counter.count.should == 2
753
+ end
754
+ end
735
755
  end
736
756
  end
737
757
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  class Thing
4
4
  attr_reader :arg
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  # This was added to prove that http://rspec.lighthouseapp.com/projects/5645/tickets/211
4
4
  # was fixed in ruby 1.9.1
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Example
@@ -83,5 +83,21 @@ module Spec
83
83
  end
84
84
  end
85
85
  end
86
+
87
+ describe ".its (to access subject's attributes)" do
88
+ with_sandboxed_options do
89
+ it "passes when expectation should pass" do
90
+ group = Class.new(ExampleGroupDouble).describe(Array)
91
+ child = group.its(:length) { should == 0 }
92
+ child.run(options).should == true
93
+ end
94
+
95
+ it "fails when expectation should fail" do
96
+ group = Class.new(ExampleGroupDouble).describe(Array)
97
+ child = group.its(:length) { should == 1 }
98
+ child.run(options).should == false
99
+ end
100
+ end
101
+ end
86
102
  end
87
103
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Fixtures
@@ -111,7 +111,20 @@ EOD
111
111
  expected = { "foo" => "bar", "fizz" => [1, 2, 3] }
112
112
  actual = { "foo" => "baz", "fizz" => [1, 2] }
113
113
 
114
- expected_diff = <<'EOD'
114
+ # UGH - 1.8.7 seems to order hash keys differently than the others
115
+ if RUBY_VERSION =~ /^1.8.7/
116
+ expected_diff = <<'EOD'
117
+
118
+ Expected the key "fizz" to be [1, 2, 3], but was [1, 2]
119
+ Expected the key "foo" to be "bar", but was "baz"
120
+
121
+
122
+ @@ -1,2 +1,2 @@
123
+ -{"fizz"=>[1, 2, 3], "foo"=>"bar"}
124
+ +{"fizz"=>[1, 2], "foo"=>"baz"}
125
+ EOD
126
+ else
127
+ expected_diff = <<'EOD'
115
128
 
116
129
  Expected the key "fizz" to be [1, 2, 3], but was [1, 2]
117
130
  Expected the key "foo" to be "bar", but was "baz"
@@ -121,7 +134,7 @@ Expected the key "foo" to be "bar", but was "baz"
121
134
  -{"foo"=>"bar", "fizz"=>[1, 2, 3]}
122
135
  +{"foo"=>"baz", "fizz"=>[1, 2]}
123
136
  EOD
124
-
137
+ end
125
138
 
126
139
  diff = @differ.diff_as_hash(actual, expected)
127
140
  diff.should == expected_diff
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Object, "#should" do
4
4
  before(:each) do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Spec::Expectations, "#fail_with with no diff" do
4
4
  before(:each) do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module ExampleExpectations
4
4
 
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Matchers
@@ -0,0 +1,22 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ class TestCaseThatPasses < Test::Unit::TestCase
7
+ def test_should_allow_underscore
8
+ assert true
9
+ end
10
+
11
+ def testShouldAllowUppercaseLetter
12
+ assert true
13
+ end
14
+
15
+ def testshouldallowlowercaseletter
16
+ assert true
17
+ end
18
+
19
+ define_method :"test: should allow punctuation" do
20
+ assert true
21
+ end
22
+ end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_unit_spec_helper'
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
2
 
3
3
  describe "ExampleGroup with test/unit/interop" do
4
4
  include TestUnitSpecHelper
@@ -1,5 +1,5 @@
1
- require File.dirname(__FILE__) + '/../../../../spec_helper'
2
- require File.dirname(__FILE__) + '/../../../../ruby_forker'
1
+ require 'spec_helper'
2
+ require 'ruby_forker'
3
3
 
4
4
  module TestUnitSpecHelper
5
5
  include RubyForker
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_unit_spec_helper'
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
2
 
3
3
  describe "Test::Unit::TestCase" do
4
4
  include TestUnitSpecHelper
@@ -42,4 +42,9 @@ describe "Test::Unit::TestCase" do
42
42
  $?.should == 256
43
43
  end
44
44
  end
45
- end
45
+
46
+ it "should find all Test::Unit test methods" do
47
+ output = ruby("#{@dir}/test_case_with_various_names.rb")
48
+ output.should include("4 examples, 0 failures")
49
+ end
50
+ end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_unit_spec_helper'
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
2
 
3
3
  describe "TestSuiteAdapter" do
4
4
  include TestUnitSpecHelper
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
  module Spec
3
3
  module Matchers
4
4
  describe "[actual.should] be_close(expected, delta)" do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Matchers
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Matchers
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe "should be_predicate" do
4
4
  it "should pass when actual returns true for :predicate?" do
@@ -18,6 +18,13 @@ describe "should be_predicate" do
18
18
  }.should fail_with("expected happy? to return true, got false")
19
19
  end
20
20
 
21
+ it "should fail when actual returns false for :predicate?" do
22
+ actual = stub("actual", :happy? => nil)
23
+ lambda {
24
+ actual.should be_happy
25
+ }.should fail_with("expected happy? to return true, got nil")
26
+ end
27
+
21
28
  it "should fail when actual does not respond to :predicate?" do
22
29
  lambda {
23
30
  Object.new.should be_happy
@@ -47,6 +54,11 @@ describe "should_not be_predicate" do
47
54
  actual.should_not be_happy
48
55
  end
49
56
 
57
+ it "should pass when actual returns nil for :sym?" do
58
+ actual = stub("actual", :happy? => nil)
59
+ actual.should_not be_happy
60
+ end
61
+
50
62
  it "should fail when actual returns true for :sym?" do
51
63
  actual = stub("actual", :happy? => true)
52
64
  lambda {
@@ -1,6 +1,6 @@
1
1
  #Based on patch from Wilson Bilkovich
2
2
 
3
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
3
+ require 'spec_helper'
4
4
  class SomethingExpected
5
5
  attr_accessor :some_value
6
6
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  Spec::Matchers.define :have_public_instance_method do |method|
4
4
  match do |klass|
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  describe "Matchers should be able to generate their own descriptions" do
4
4
  after(:each) do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Matchers
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Matchers