rspec 0.8.2 → 0.9.0

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 (245) hide show
  1. data/CHANGES +125 -9
  2. data/EXAMPLES.rd +50 -27
  3. data/README +14 -1
  4. data/Rakefile +95 -42
  5. data/UPGRADE +31 -0
  6. data/bin/spec +0 -1
  7. data/bin/spec_translator +6 -0
  8. data/examples/auto_spec_description_example.rb +19 -0
  9. data/examples/{setup_teardown_example.rb → before_and_after_example.rb} +6 -6
  10. data/examples/behave_as_example.rb +45 -0
  11. data/examples/custom_expectation_matchers.rb +13 -12
  12. data/examples/dynamic_spec.rb +2 -2
  13. data/examples/file_accessor_spec.rb +2 -2
  14. data/examples/greeter_spec.rb +3 -3
  15. data/examples/helper_method_example.rb +2 -2
  16. data/examples/io_processor_spec.rb +4 -4
  17. data/examples/legacy_spec.rb +10 -0
  18. data/examples/mocking_example.rb +5 -5
  19. data/examples/multi_threaded_behaviour_runner.rb +25 -0
  20. data/examples/partial_mock_example.rb +4 -4
  21. data/examples/predicate_example.rb +4 -4
  22. data/examples/priority.txt +1 -0
  23. data/examples/shared_behaviours_example.rb +31 -0
  24. data/examples/stack_spec.rb +52 -69
  25. data/examples/stubbing_example.rb +10 -10
  26. data/examples/test_case_adapter_example.rb +26 -0
  27. data/examples/test_case_spec.rb +6 -6
  28. data/lib/spec.rb +9 -4
  29. data/lib/spec/dsl.rb +10 -0
  30. data/lib/spec/dsl/behaviour.rb +189 -0
  31. data/lib/spec/dsl/behaviour_callbacks.rb +43 -0
  32. data/lib/spec/dsl/behaviour_eval.rb +170 -0
  33. data/lib/spec/dsl/behaviour_factory.rb +32 -0
  34. data/lib/spec/dsl/composite_proc_builder.rb +28 -0
  35. data/lib/spec/dsl/configuration.rb +38 -0
  36. data/lib/spec/dsl/description.rb +34 -0
  37. data/lib/spec/dsl/example.rb +114 -0
  38. data/lib/spec/dsl/example_matcher.rb +28 -0
  39. data/lib/spec/{runner/spec_should_raise_handler.rb → dsl/example_should_raise_handler.rb} +4 -4
  40. data/lib/spec/expectations.rb +0 -3
  41. data/lib/spec/expectations/differs/default.rb +0 -1
  42. data/lib/spec/expectations/extensions.rb +0 -1
  43. data/lib/spec/expectations/extensions/object.rb +10 -53
  44. data/lib/spec/expectations/handler.rb +14 -18
  45. data/lib/spec/extensions.rb +1 -0
  46. data/lib/spec/extensions/object.rb +6 -0
  47. data/lib/spec/matchers.rb +19 -21
  48. data/lib/spec/matchers/be.rb +40 -11
  49. data/lib/spec/matchers/be_close.rb +2 -2
  50. data/lib/spec/matchers/operator_matcher.rb +52 -0
  51. data/lib/spec/matchers/respond_to.rb +21 -11
  52. data/lib/spec/mocks.rb +5 -28
  53. data/lib/spec/mocks/argument_constraint_matchers.rb +12 -0
  54. data/lib/spec/mocks/argument_expectation.rb +7 -4
  55. data/lib/spec/mocks/methods.rb +11 -16
  56. data/lib/spec/mocks/mock.rb +6 -3
  57. data/lib/spec/mocks/{mock_handler.rb → proxy.rb} +4 -7
  58. data/lib/spec/mocks/space.rb +28 -0
  59. data/lib/spec/mocks/spec_methods.rb +30 -0
  60. data/lib/spec/rake/spectask.rb +23 -21
  61. data/lib/spec/rake/verify_rcov.rb +1 -0
  62. data/lib/spec/runner.rb +88 -35
  63. data/lib/spec/runner/backtrace_tweaker.rb +2 -1
  64. data/lib/spec/runner/behaviour_runner.rb +102 -0
  65. data/lib/spec/runner/command_line.rb +5 -17
  66. data/lib/spec/runner/drb_command_line.rb +2 -2
  67. data/lib/spec/runner/extensions/kernel.rb +22 -9
  68. data/lib/spec/runner/formatter.rb +4 -0
  69. data/lib/spec/runner/formatter/base_formatter.rb +63 -0
  70. data/lib/spec/runner/formatter/base_text_formatter.rb +22 -52
  71. data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +25 -0
  72. data/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
  73. data/lib/spec/runner/formatter/html_formatter.rb +74 -29
  74. data/lib/spec/runner/formatter/progress_bar_formatter.rb +6 -8
  75. data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
  76. data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  77. data/lib/spec/runner/formatter/specdoc_formatter.rb +6 -6
  78. data/lib/spec/runner/heckle_runner.rb +8 -7
  79. data/lib/spec/runner/option_parser.rb +136 -55
  80. data/lib/spec/runner/options.rb +26 -0
  81. data/lib/spec/runner/reporter.rb +38 -31
  82. data/lib/spec/runner/spec_parser.rb +22 -13
  83. data/lib/spec/test_case_adapter.rb +10 -0
  84. data/lib/spec/translator.rb +103 -86
  85. data/lib/spec/version.rb +7 -15
  86. data/plugins/mock_frameworks/flexmock.rb +27 -0
  87. data/plugins/mock_frameworks/mocha.rb +21 -0
  88. data/plugins/mock_frameworks/rspec.rb +18 -0
  89. data/spec/spec/dsl/behaviour_eval_spec.rb +49 -0
  90. data/spec/spec/dsl/behaviour_factory_spec.rb +30 -0
  91. data/spec/spec/dsl/behaviour_spec.rb +508 -0
  92. data/spec/spec/dsl/composite_proc_builder_spec.rb +57 -0
  93. data/spec/spec/dsl/configuration_spec.rb +43 -0
  94. data/spec/spec/dsl/description_spec.rb +51 -0
  95. data/spec/spec/dsl/example_class_spec.rb +24 -0
  96. data/spec/spec/dsl/example_instance_spec.rb +140 -0
  97. data/spec/spec/dsl/example_should_raise_spec.rb +137 -0
  98. data/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
  99. data/spec/spec/dsl/shared_behaviour_spec.rb +186 -0
  100. data/spec/spec/expectations/differs/default_spec.rb +12 -12
  101. data/spec/spec/expectations/extensions/object_spec.rb +10 -10
  102. data/spec/spec/expectations/fail_with_spec.rb +20 -20
  103. data/spec/spec/matchers/be_close_spec.rb +37 -31
  104. data/spec/spec/matchers/be_spec.rb +50 -41
  105. data/spec/spec/matchers/change_spec.rb +54 -54
  106. data/spec/spec/matchers/description_generation_spec.rb +43 -31
  107. data/spec/spec/matchers/eql_spec.rb +24 -37
  108. data/spec/spec/matchers/equal_spec.rb +24 -37
  109. data/spec/spec/matchers/exist_spec.rb +48 -0
  110. data/spec/spec/matchers/handler_spec.rb +36 -23
  111. data/spec/spec/matchers/has_spec.rb +8 -8
  112. data/spec/spec/matchers/have_spec.rb +38 -38
  113. data/spec/spec/matchers/include_spec.rb +6 -6
  114. data/spec/spec/matchers/match_spec.rb +8 -8
  115. data/spec/spec/matchers/matcher_methods_spec.rb +24 -31
  116. data/spec/spec/matchers/raise_error_spec.rb +34 -34
  117. data/spec/spec/matchers/respond_to_spec.rb +32 -8
  118. data/spec/spec/matchers/satisfy_spec.rb +6 -6
  119. data/spec/spec/matchers/should_===_spec.rb +38 -0
  120. data/spec/spec/matchers/should_==_spec.rb +37 -0
  121. data/spec/spec/matchers/should_=~_spec.rb +36 -0
  122. data/spec/spec/matchers/throw_symbol_spec.rb +47 -55
  123. data/spec/spec/mocks/any_number_of_times_spec.rb +16 -21
  124. data/spec/spec/mocks/argument_expectation_spec.rb +3 -3
  125. data/spec/spec/mocks/at_least_spec.rb +30 -30
  126. data/spec/spec/mocks/at_most_spec.rb +53 -57
  127. data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  128. data/spec/spec/mocks/bug_report_7611_spec.rb +3 -3
  129. data/spec/spec/mocks/bug_report_7805_spec.rb +3 -3
  130. data/spec/spec/mocks/bug_report_8165_spec.rb +5 -5
  131. data/spec/spec/mocks/bug_report_8302_spec.rb +5 -5
  132. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +26 -27
  133. data/spec/spec/mocks/mock_ordering_spec.rb +19 -15
  134. data/spec/spec/mocks/mock_space_spec.rb +54 -0
  135. data/spec/spec/mocks/mock_spec.rb +111 -141
  136. data/spec/spec/mocks/multiple_return_value_spec.rb +48 -48
  137. data/spec/spec/mocks/null_object_mock_spec.rb +10 -10
  138. data/spec/spec/mocks/once_counts_spec.rb +32 -35
  139. data/spec/spec/mocks/options_hash_spec.rb +12 -10
  140. data/spec/spec/mocks/partial_mock_spec.rb +15 -15
  141. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +24 -22
  142. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +19 -19
  143. data/spec/spec/mocks/precise_counts_spec.rb +28 -32
  144. data/spec/spec/mocks/record_messages_spec.rb +10 -10
  145. data/spec/spec/mocks/stub_spec.rb +45 -45
  146. data/spec/spec/mocks/twice_counts_spec.rb +21 -21
  147. data/spec/spec/package/bin_spec_spec.rb +12 -0
  148. data/spec/spec/runner/behaviour_runner_spec.rb +114 -0
  149. data/spec/spec/runner/command_line_spec.rb +8 -8
  150. data/spec/spec/runner/context_matching_spec.rb +14 -15
  151. data/spec/spec/runner/drb_command_line_spec.rb +12 -12
  152. data/spec/spec/runner/execution_context_spec.rb +8 -29
  153. data/spec/spec/runner/extensions/kernel_spec.rb +36 -0
  154. data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +27 -0
  155. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +28 -0
  156. data/spec/spec/runner/formatter/html_formatter_spec.rb +9 -8
  157. data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +6 -6
  158. data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +10 -10
  159. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +22 -27
  160. data/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +6 -5
  161. data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +17 -17
  162. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
  163. data/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +6 -6
  164. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +17 -17
  165. data/spec/spec/runner/heckle_runner_spec.rb +21 -21
  166. data/spec/spec/runner/heckler_spec.rb +5 -5
  167. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +12 -12
  168. data/spec/spec/runner/object_ext_spec.rb +3 -3
  169. data/spec/spec/runner/option_parser_spec.rb +171 -102
  170. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +21 -12
  171. data/spec/spec/runner/reporter_spec.rb +106 -97
  172. data/spec/spec/runner/spec_matcher_spec.rb +46 -51
  173. data/spec/spec/runner/spec_parser_spec.rb +72 -16
  174. data/spec/spec/spec_classes.rb +12 -3
  175. data/spec/spec/translator_spec.rb +165 -36
  176. metadata +66 -76
  177. data/RELEASE-PLAN +0 -117
  178. data/examples/auto_spec_name_generation_example.rb +0 -18
  179. data/lib/spec/callback.rb +0 -11
  180. data/lib/spec/callback/callback_container.rb +0 -60
  181. data/lib/spec/callback/extensions/module.rb +0 -24
  182. data/lib/spec/callback/extensions/object.rb +0 -37
  183. data/lib/spec/deprecated.rb +0 -3
  184. data/lib/spec/expectations/extensions/proc.rb +0 -57
  185. data/lib/spec/expectations/should.rb +0 -5
  186. data/lib/spec/expectations/should/base.rb +0 -64
  187. data/lib/spec/expectations/should/change.rb +0 -69
  188. data/lib/spec/expectations/should/have.rb +0 -128
  189. data/lib/spec/expectations/should/not.rb +0 -74
  190. data/lib/spec/expectations/should/should.rb +0 -81
  191. data/lib/spec/expectations/sugar.rb +0 -47
  192. data/lib/spec/runner/context.rb +0 -154
  193. data/lib/spec/runner/context_eval.rb +0 -142
  194. data/lib/spec/runner/context_runner.rb +0 -55
  195. data/lib/spec/runner/execution_context.rb +0 -17
  196. data/lib/spec/runner/spec_matcher.rb +0 -25
  197. data/lib/spec/runner/specification.rb +0 -114
  198. data/spec/spec/callback/callback_container_spec.rb +0 -27
  199. data/spec/spec/callback/module_spec.rb +0 -37
  200. data/spec/spec/callback/object_spec.rb +0 -90
  201. data/spec/spec/callback/object_with_class_callback_spec.rb +0 -19
  202. data/spec/spec/expectations/should/should_==_spec.rb +0 -19
  203. data/spec/spec/expectations/should/should_=~_spec.rb +0 -13
  204. data/spec/spec/expectations/should/should_be_a_kind_of_spec.rb +0 -21
  205. data/spec/spec/expectations/should/should_be_an_instance_of_spec.rb +0 -30
  206. data/spec/spec/expectations/should/should_be_arbitrary_predicate_spec.rb +0 -81
  207. data/spec/spec/expectations/should/should_be_close_spec.rb +0 -18
  208. data/spec/spec/expectations/should/should_be_comparison_operator_spec.rb +0 -44
  209. data/spec/spec/expectations/should/should_be_false_spec.rb +0 -39
  210. data/spec/spec/expectations/should/should_be_spec.rb +0 -11
  211. data/spec/spec/expectations/should/should_be_true_spec.rb +0 -27
  212. data/spec/spec/expectations/should/should_change_spec.rb +0 -184
  213. data/spec/spec/expectations/should/should_eql_spec.rb +0 -11
  214. data/spec/spec/expectations/should/should_equal_spec.rb +0 -11
  215. data/spec/spec/expectations/should/should_have_at_least_spec.rb +0 -53
  216. data/spec/spec/expectations/should/should_have_at_most_spec.rb +0 -45
  217. data/spec/spec/expectations/should/should_have_key_spec.rb +0 -21
  218. data/spec/spec/expectations/should/should_have_spec.rb +0 -64
  219. data/spec/spec/expectations/should/should_include_spec.rb +0 -59
  220. data/spec/spec/expectations/should/should_match_spec.rb +0 -25
  221. data/spec/spec/expectations/should/should_not_==_spec.rb +0 -15
  222. data/spec/spec/expectations/should/should_not_be_a_kind_of_spec.rb +0 -21
  223. data/spec/spec/expectations/should/should_not_be_an_instance_of_spec.rb +0 -11
  224. data/spec/spec/expectations/should/should_not_be_arbitrary_predicate_spec.rb +0 -68
  225. data/spec/spec/expectations/should/should_not_be_spec.rb +0 -11
  226. data/spec/spec/expectations/should/should_not_change_spec.rb +0 -24
  227. data/spec/spec/expectations/should/should_not_eql_spec.rb +0 -11
  228. data/spec/spec/expectations/should/should_not_equal_spec.rb +0 -11
  229. data/spec/spec/expectations/should/should_not_have_key_spec.rb +0 -15
  230. data/spec/spec/expectations/should/should_not_include_spec.rb +0 -58
  231. data/spec/spec/expectations/should/should_not_match_spec.rb +0 -11
  232. data/spec/spec/expectations/should/should_not_raise_spec.rb +0 -75
  233. data/spec/spec/expectations/should/should_not_respond_to_spec.rb +0 -15
  234. data/spec/spec/expectations/should/should_not_throw_spec.rb +0 -35
  235. data/spec/spec/expectations/should/should_raise_spec.rb +0 -66
  236. data/spec/spec/expectations/should/should_respond_to_spec.rb +0 -15
  237. data/spec/spec/expectations/should/should_satisfy_spec.rb +0 -35
  238. data/spec/spec/expectations/should/should_throw_spec.rb +0 -27
  239. data/spec/spec/runner/context_runner_spec.rb +0 -100
  240. data/spec/spec/runner/context_spec.rb +0 -405
  241. data/spec/spec/runner/kernel_ext_spec.rb +0 -16
  242. data/spec/spec/runner/spec_name_generation_spec.rb +0 -102
  243. data/spec/spec/runner/specification_class_spec.rb +0 -72
  244. data/spec/spec/runner/specification_instance_spec.rb +0 -160
  245. data/spec/spec/runner/specification_should_raise_spec.rb +0 -136
@@ -81,8 +81,8 @@ module Spec
81
81
  @return_val
82
82
  end
83
83
 
84
- def __verify
85
- @funny_called.should be(true)
84
+ def rspec_verify
85
+ @funny_called.should be_true
86
86
  end
87
87
  end
88
88
  class ClassWithUnqueriedPredicate
@@ -96,7 +96,16 @@ module Spec
96
96
  end
97
97
 
98
98
  module Custom
99
- class Formatter
99
+ class Formatter < Spec::Runner::Formatter::BaseTextFormatter
100
+ attr_reader :where
101
+
102
+ def initialize(where)
103
+ @where = where
104
+ end
105
+ end
106
+
107
+ class BehaviourRunner
108
+ def initialize(one); end
100
109
  end
101
110
  end
102
111
 
@@ -1,79 +1,208 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper.rb'
2
2
 
3
- context "Translator" do
4
- setup do
3
+ describe "Translator" do
4
+ before do
5
5
  @t = Spec::Translator.new
6
6
  end
7
7
 
8
- specify "should translate files" do
8
+ it "should translate files" do
9
9
  from = File.dirname(__FILE__) + '/..'
10
10
  to = File.dirname(__FILE__) + '/../../translated_specs'
11
11
  @t.translate_dir(from, to)
12
12
  end
13
+
14
+ it "should translate context_setup do" do
15
+ @t.translate_line(
16
+ "context_setup do\n"
17
+ ).should eql(
18
+ "before(:all) do\n"
19
+ )
20
+ end
21
+
22
+ it "should translate context_setup {foo}" do
23
+ @t.translate_line(
24
+ "context_setup {foo}\n"
25
+ ).should eql(
26
+ "before(:all) {foo}\n"
27
+ )
28
+ end
29
+
30
+ it "should translate context ' to describe '" do
31
+ @t.translate_line(
32
+ "context 'Translator' do\n"
33
+ ).should eql(
34
+ "describe 'Translator' do\n"
35
+ )
36
+ end
37
+
38
+ it 'should translate context " to describe "' do
39
+ @t.translate_line(
40
+ 'context "Translator"'
41
+ ).should eql(
42
+ 'describe "Translator"'
43
+ )
44
+ end
45
+
46
+ it 'should translate spaces then context " to describe "' do
47
+ @t.translate_line(
48
+ ' context "Translator"'
49
+ ).should eql(
50
+ ' describe "Translator"'
51
+ )
52
+ end
13
53
 
14
- specify "should translate should_be_close" do
15
- @t.translate('5.0.should_be_close(5.0, 0.5)').should eql('5.0.should be_close(5.0, 0.5)')
54
+ it "should not translate context=foo" do
55
+ @t.translate_line(' context=foo').should eql(' context=foo')
56
+ end
57
+
58
+ it "should not translate context = foo" do
59
+ @t.translate_line(' context = foo').should eql(' context = foo')
16
60
  end
17
61
 
18
- specify "should translate should_not_raise" do
19
- @t.translate('lambda { self.call }.should_not_raise').should eql('lambda { self.call }.should_not raise_error')
62
+ it "should not translate context = foo" do
63
+ @t.translate_line(' context = foo').should eql(' context = foo')
64
+ end
65
+
66
+ it "should translate should_be_close" do
67
+ @t.translate_line('5.0.should_be_close(5.0, 0.5)').should eql('5.0.should be_close(5.0, 0.5)')
20
68
  end
21
69
 
22
- specify "should translate should_throw" do
23
- @t.translate('lambda { self.call }.should_throw').should eql('lambda { self.call }.should throw_symbol')
70
+ it "should translate should_not_raise" do
71
+ @t.translate_line('lambda { self.call }.should_not_raise').should eql('lambda { self.call }.should_not raise_error')
24
72
  end
25
73
 
26
- specify "should not translate 0.9 should_not" do
27
- @t.translate('@target.should_not @matcher').should eql('@target.should_not @matcher')
74
+ it "should translate should_throw" do
75
+ @t.translate_line('lambda { self.call }.should_throw').should eql('lambda { self.call }.should throw_symbol')
28
76
  end
29
77
 
30
- specify "should leave should_not_receive" do
31
- @t.translate('@mock.should_not_receive(:not_expected).with("unexpected text")').should eql('@mock.should_not_receive(:not_expected).with("unexpected text")')
78
+ it "should not translate 0.9 should_not" do
79
+ @t.translate_line('@target.should_not @matcher').should eql('@target.should_not @matcher')
32
80
  end
33
81
 
34
- specify "should leave should_receive" do
35
- @t.translate('@mock.should_receive(:not_expected).with("unexpected text")').should eql('@mock.should_receive(:not_expected).with("unexpected text")')
82
+ it "should leave should_not_receive" do
83
+ @t.translate_line('@mock.should_not_receive(:not_expected).with("unexpected text")').should eql('@mock.should_not_receive(:not_expected).with("unexpected text")')
84
+ end
85
+
86
+ it "should leave should_receive" do
87
+ @t.translate_line('@mock.should_receive(:not_expected).with("unexpected text")').should eql('@mock.should_receive(:not_expected).with("unexpected text")')
36
88
  end
37
89
 
38
- specify "should translate multi word predicates" do
39
- @t.translate('foo.should_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
90
+ it "should translate multi word predicates" do
91
+ @t.translate_line('foo.should_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
92
+ end
93
+
94
+ it "should translate multi word predicates prefixed with be" do
95
+ @t.translate_line('foo.should_be_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
40
96
  end
41
97
 
42
- specify "should translate multi word predicates prefixed with be" do
43
- @t.translate('foo.should_be_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
98
+ it "should translate be(expected) to equal(expected)" do
99
+ @t.translate_line('foo.should_be :cool').should eql('foo.should equal :cool')
44
100
  end
45
101
 
46
- specify "should translate be(expected) to equal(expected)" do
47
- @t.translate('foo.should_be :cool').should eql('foo.should equal :cool')
102
+ it "should translate instance_of" do
103
+ @t.translate_line('5.should_be_an_instance_of(Integer)').should eql('5.should be_an_instance_of(Integer)')
48
104
  end
49
105
 
50
- specify "should translate instance_of" do
51
- @t.translate('5.should_be_an_instance_of(Integer)').should eql('5.should be_an_instance_of(Integer)')
106
+ it "should translate should_be <" do
107
+ @t.translate_line('3.should_be < 4').should eql('3.should be < 4')
52
108
  end
53
109
 
54
- specify "should translate should_be <" do
55
- @t.translate('3.should_be < 4').should eql('3.should be < 4')
110
+ it "should translate should_be <=" do
111
+ @t.translate_line('3.should_be <= 4').should eql('3.should be <= 4')
56
112
  end
57
113
 
58
- specify "should translate should_be <=" do
59
- @t.translate('3.should_be <= 4').should eql('3.should be <= 4')
114
+ it "should translate should_be >=" do
115
+ @t.translate_line('4.should_be >= 3').should eql('4.should be >= 3')
60
116
  end
61
117
 
62
- specify "should translate should_be >=" do
63
- @t.translate('4.should_be >= 3').should eql('4.should be >= 3')
118
+ it "should translate should_be >" do
119
+ @t.translate_line('4.should_be > 3').should eql('4.should be > 3')
64
120
  end
65
121
 
66
- specify "should translate should_be >" do
67
- @t.translate('4.should_be > 3').should eql('4.should be > 3')
122
+ it "should translate should_be_happy" do
123
+ @t.translate_line("4.should_be_happy").should eql("4.should be_happy")
68
124
  end
69
125
 
70
- =begin
126
+ it "should translate custom method taking regexp with parenthesis" do
127
+ @t.translate_line("@browser.should_contain_text(/Sn.rrunger og annet rusk/)").should eql("@browser.should be_contain_text(/Sn.rrunger og annet rusk/)")
128
+ end
129
+
130
+ it "should translate custom method taking regexp without parenthesis" do
131
+ @t.translate_line("@browser.should_contain_text /Sn.rrunger og annet rusk/\n").should eql("@browser.should be_contain_text(/Sn.rrunger og annet rusk/)\n")
132
+ end
133
+
134
+ it "should translate should_not_be_nil" do
135
+ @t.translate_line("foo.should_not_be_nil\n").should eql("foo.should_not be_nil\n")
136
+ end
137
+
138
+ it "should translate kind of" do
139
+ @t.translate_line('@object.should_be_kind_of(MessageExpectation)').should(
140
+ eql('@object.should be_kind_of(MessageExpectation)'))
141
+ end
71
142
 
72
- specify "should translate kind of" do
73
- @t.translate('@object.should_receive(:foobar).should_be_kind_of(MessageExpectation)').should(
74
- eql('@object.should_receive(:foobar).should be_kind_of(MessageExpectation)'))
143
+ it "should translate should_be_true" do
144
+ @t.translate_line("foo.should_be_true\n").should eql("foo.should be_true\n")
145
+ end
146
+
147
+ # [#9674] spec_translate incorrectly handling shoud_match, when regexp in a var, in a block
148
+ # http://rubyforge.org/tracker/?func=detail&atid=3149&aid=9674&group_id=797
149
+ it "should translate should_match on a regexp, in a var, in a block" do
150
+ @t.translate_line("collection.each { |c| c.should_match a_regexp_in_a_var }\n").should eql("collection.each { |c| c.should match(a_regexp_in_a_var) }\n")
151
+ @t.translate_line("collection.each{|c| c.should_match a_regexp_in_a_var}\n").should eql("collection.each{|c| c.should match(a_regexp_in_a_var) }\n")
75
152
  end
76
153
 
77
- =end
154
+ # From Rubinius specs
155
+ it "should translate close_to without parens" do
156
+ @t.translate_line("end.should_be_close 3.14159_26535_89793_23846, TOLERANCE\n").should eql("end.should be_close(3.14159_26535_89793_23846, TOLERANCE)\n")
157
+ end
78
158
 
159
+ # [#9882] 0.9 Beta 1 - translator bugs
160
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
161
+ it "should support symbol arguments" do
162
+ @t.translate_line(
163
+ "lambda { sequence.parse('bar') }.should_throw :ZeroWidthParseSuccess\n"
164
+ ).should eql(
165
+ "lambda { sequence.parse('bar') }.should throw_symbol(:ZeroWidthParseSuccess)\n"
166
+ )
167
+ end
168
+
169
+ # [#9882] 0.9 Beta 1 - translator bugs
170
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
171
+ it "should support instance var arguments" do
172
+ @t.translate_line(
173
+ "a.should_eql @local"
174
+ ).should eql(
175
+ "a.should eql(@local)"
176
+ )
177
+ end
178
+
179
+ # [#9882] 0.9 Beta 1 - translator bugs
180
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
181
+ it "should support lambdas as expecteds" do
182
+ @t.translate_line(
183
+ "@parslet.should_not_eql lambda { nil }.to_parseable"
184
+ ).should eql(
185
+ "@parslet.should_not eql(lambda { nil }.to_parseable)"
186
+ )
187
+ end
188
+
189
+ # [#9882] 0.9 Beta 1 - translator bugs
190
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
191
+ it "should support fully qualified names" do
192
+ @t.translate_line(
193
+ "results.should_be_kind_of SimpleASTLanguage::Identifier"
194
+ ).should eql(
195
+ "results.should be_kind_of(SimpleASTLanguage::Identifier)"
196
+ )
197
+ end
198
+
199
+ # [#9882] 0.9 Beta 1 - translator bugs
200
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
201
+ # it "should leave whitespace between expression and comments" do
202
+ # @t.translate_line(
203
+ # "lambda { @instance.foo = foo }.should_raise NoMethodError # no writer defined"
204
+ # ).should eql(
205
+ # "lambda { @instance.foo = foo }.should raise_error(NoMethodError) # no writer defined"
206
+ # )
207
+ # end
79
208
  end
metadata CHANGED
@@ -3,9 +3,9 @@ rubygems_version: 0.9.1
3
3
  specification_version: 1
4
4
  name: rspec
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.8.2
7
- date: 2007-03-02 00:00:00 +00:00
8
- summary: RSpec-0.8.2 (r1560) - BDD for Ruby http://rspec.rubyforge.org/
6
+ version: 0.9.0
7
+ date: 2007-05-01 00:00:00 +02:00
8
+ summary: RSpec-0.9.0 (r1874) - BDD for Ruby http://rspec.rubyforge.org/
9
9
  require_paths:
10
10
  - lib
11
11
  email: rspec-devel@rubyforge.org
@@ -34,33 +34,34 @@ files:
34
34
  - MIT-LICENSE
35
35
  - Rakefile
36
36
  - README
37
- - RELEASE-PLAN
37
+ - UPGRADE
38
38
  - lib/spec.rb
39
- - lib/spec/callback.rb
40
- - lib/spec/deprecated.rb
39
+ - lib/spec/dsl.rb
41
40
  - lib/spec/expectations.rb
41
+ - lib/spec/extensions.rb
42
42
  - lib/spec/matchers.rb
43
43
  - lib/spec/mocks.rb
44
44
  - lib/spec/runner.rb
45
+ - lib/spec/test_case_adapter.rb
45
46
  - lib/spec/translator.rb
46
47
  - lib/spec/version.rb
47
- - lib/spec/callback/callback_container.rb
48
- - lib/spec/callback/extensions/module.rb
49
- - lib/spec/callback/extensions/object.rb
48
+ - lib/spec/dsl/behaviour.rb
49
+ - lib/spec/dsl/behaviour_callbacks.rb
50
+ - lib/spec/dsl/behaviour_eval.rb
51
+ - lib/spec/dsl/behaviour_factory.rb
52
+ - lib/spec/dsl/composite_proc_builder.rb
53
+ - lib/spec/dsl/configuration.rb
54
+ - lib/spec/dsl/description.rb
55
+ - lib/spec/dsl/example.rb
56
+ - lib/spec/dsl/example_matcher.rb
57
+ - lib/spec/dsl/example_should_raise_handler.rb
50
58
  - lib/spec/expectations/errors.rb
51
59
  - lib/spec/expectations/extensions.rb
52
60
  - lib/spec/expectations/handler.rb
53
- - lib/spec/expectations/should.rb
54
- - lib/spec/expectations/sugar.rb
55
61
  - lib/spec/expectations/differs/default.rb
56
62
  - lib/spec/expectations/extensions/object.rb
57
- - lib/spec/expectations/extensions/proc.rb
58
63
  - lib/spec/expectations/extensions/string_and_symbol.rb
59
- - lib/spec/expectations/should/base.rb
60
- - lib/spec/expectations/should/change.rb
61
- - lib/spec/expectations/should/have.rb
62
- - lib/spec/expectations/should/not.rb
63
- - lib/spec/expectations/should/should.rb
64
+ - lib/spec/extensions/object.rb
64
65
  - lib/spec/matchers/be.rb
65
66
  - lib/spec/matchers/be_close.rb
66
67
  - lib/spec/matchers/change.rb
@@ -70,97 +71,71 @@ files:
70
71
  - lib/spec/matchers/have.rb
71
72
  - lib/spec/matchers/include.rb
72
73
  - lib/spec/matchers/match.rb
74
+ - lib/spec/matchers/operator_matcher.rb
73
75
  - lib/spec/matchers/raise_error.rb
74
76
  - lib/spec/matchers/respond_to.rb
75
77
  - lib/spec/matchers/satisfy.rb
76
78
  - lib/spec/matchers/throw_symbol.rb
79
+ - lib/spec/mocks/argument_constraint_matchers.rb
77
80
  - lib/spec/mocks/argument_expectation.rb
78
81
  - lib/spec/mocks/error_generator.rb
79
82
  - lib/spec/mocks/errors.rb
80
83
  - lib/spec/mocks/message_expectation.rb
81
84
  - lib/spec/mocks/methods.rb
82
85
  - lib/spec/mocks/mock.rb
83
- - lib/spec/mocks/mock_handler.rb
84
86
  - lib/spec/mocks/order_group.rb
87
+ - lib/spec/mocks/proxy.rb
88
+ - lib/spec/mocks/space.rb
89
+ - lib/spec/mocks/spec_methods.rb
85
90
  - lib/spec/mocks/extensions/object.rb
86
91
  - lib/spec/rake/spectask.rb
87
92
  - lib/spec/rake/verify_rcov.rb
88
93
  - lib/spec/runner/backtrace_tweaker.rb
94
+ - lib/spec/runner/behaviour_runner.rb
89
95
  - lib/spec/runner/command_line.rb
90
- - lib/spec/runner/context.rb
91
- - lib/spec/runner/context_eval.rb
92
- - lib/spec/runner/context_runner.rb
93
96
  - lib/spec/runner/drb_command_line.rb
94
- - lib/spec/runner/execution_context.rb
95
97
  - lib/spec/runner/formatter.rb
96
98
  - lib/spec/runner/heckle_runner.rb
97
99
  - lib/spec/runner/heckle_runner_win.rb
98
100
  - lib/spec/runner/option_parser.rb
101
+ - lib/spec/runner/options.rb
99
102
  - lib/spec/runner/reporter.rb
100
- - lib/spec/runner/spec_matcher.rb
101
103
  - lib/spec/runner/spec_parser.rb
102
- - lib/spec/runner/spec_should_raise_handler.rb
103
- - lib/spec/runner/specification.rb
104
104
  - lib/spec/runner/extensions/kernel.rb
105
105
  - lib/spec/runner/extensions/object.rb
106
+ - lib/spec/runner/formatter/base_formatter.rb
106
107
  - lib/spec/runner/formatter/base_text_formatter.rb
108
+ - lib/spec/runner/formatter/failing_behaviours_formatter.rb
109
+ - lib/spec/runner/formatter/failing_examples_formatter.rb
107
110
  - lib/spec/runner/formatter/html_formatter.rb
108
111
  - lib/spec/runner/formatter/progress_bar_formatter.rb
109
112
  - lib/spec/runner/formatter/rdoc_formatter.rb
113
+ - lib/spec/runner/formatter/snippet_extractor.rb
110
114
  - lib/spec/runner/formatter/specdoc_formatter.rb
111
115
  - spec/spec_helper.rb
112
116
  - spec/spec/spec_classes.rb
113
117
  - spec/spec/translator_spec.rb
114
- - spec/spec/callback/callback_container_spec.rb
115
- - spec/spec/callback/module_spec.rb
116
- - spec/spec/callback/object_spec.rb
117
- - spec/spec/callback/object_with_class_callback_spec.rb
118
+ - spec/spec/dsl/behaviour_eval_spec.rb
119
+ - spec/spec/dsl/behaviour_factory_spec.rb
120
+ - spec/spec/dsl/behaviour_spec.rb
121
+ - spec/spec/dsl/composite_proc_builder_spec.rb
122
+ - spec/spec/dsl/configuration_spec.rb
123
+ - spec/spec/dsl/description_spec.rb
124
+ - spec/spec/dsl/example_class_spec.rb
125
+ - spec/spec/dsl/example_instance_spec.rb
126
+ - spec/spec/dsl/example_should_raise_spec.rb
127
+ - spec/spec/dsl/predicate_matcher_spec.rb
128
+ - spec/spec/dsl/shared_behaviour_spec.rb
118
129
  - spec/spec/expectations/fail_with_spec.rb
119
130
  - spec/spec/expectations/differs/default_spec.rb
120
131
  - spec/spec/expectations/extensions/object_spec.rb
121
- - spec/spec/expectations/should/should_==_spec.rb
122
- - spec/spec/expectations/should/should_=~_spec.rb
123
- - spec/spec/expectations/should/should_be_a_kind_of_spec.rb
124
- - spec/spec/expectations/should/should_be_an_instance_of_spec.rb
125
- - spec/spec/expectations/should/should_be_arbitrary_predicate_spec.rb
126
- - spec/spec/expectations/should/should_be_close_spec.rb
127
- - spec/spec/expectations/should/should_be_comparison_operator_spec.rb
128
- - spec/spec/expectations/should/should_be_false_spec.rb
129
- - spec/spec/expectations/should/should_be_spec.rb
130
- - spec/spec/expectations/should/should_be_true_spec.rb
131
- - spec/spec/expectations/should/should_change_spec.rb
132
- - spec/spec/expectations/should/should_eql_spec.rb
133
- - spec/spec/expectations/should/should_equal_spec.rb
134
- - spec/spec/expectations/should/should_have_at_least_spec.rb
135
- - spec/spec/expectations/should/should_have_at_most_spec.rb
136
- - spec/spec/expectations/should/should_have_key_spec.rb
137
- - spec/spec/expectations/should/should_have_spec.rb
138
- - spec/spec/expectations/should/should_include_spec.rb
139
- - spec/spec/expectations/should/should_match_spec.rb
140
- - spec/spec/expectations/should/should_not_==_spec.rb
141
- - spec/spec/expectations/should/should_not_be_a_kind_of_spec.rb
142
- - spec/spec/expectations/should/should_not_be_an_instance_of_spec.rb
143
- - spec/spec/expectations/should/should_not_be_arbitrary_predicate_spec.rb
144
- - spec/spec/expectations/should/should_not_be_spec.rb
145
- - spec/spec/expectations/should/should_not_change_spec.rb
146
- - spec/spec/expectations/should/should_not_eql_spec.rb
147
- - spec/spec/expectations/should/should_not_equal_spec.rb
148
- - spec/spec/expectations/should/should_not_have_key_spec.rb
149
- - spec/spec/expectations/should/should_not_include_spec.rb
150
- - spec/spec/expectations/should/should_not_match_spec.rb
151
- - spec/spec/expectations/should/should_not_raise_spec.rb
152
- - spec/spec/expectations/should/should_not_respond_to_spec.rb
153
- - spec/spec/expectations/should/should_not_throw_spec.rb
154
- - spec/spec/expectations/should/should_raise_spec.rb
155
- - spec/spec/expectations/should/should_respond_to_spec.rb
156
- - spec/spec/expectations/should/should_satisfy_spec.rb
157
- - spec/spec/expectations/should/should_throw_spec.rb
158
132
  - spec/spec/matchers/be_close_spec.rb
159
133
  - spec/spec/matchers/be_spec.rb
160
134
  - spec/spec/matchers/change_spec.rb
161
135
  - spec/spec/matchers/description_generation_spec.rb
162
136
  - spec/spec/matchers/eql_spec.rb
163
137
  - spec/spec/matchers/equal_spec.rb
138
+ - spec/spec/matchers/exist_spec.rb
164
139
  - spec/spec/matchers/handler_spec.rb
165
140
  - spec/spec/matchers/has_spec.rb
166
141
  - spec/spec/matchers/have_spec.rb
@@ -170,17 +145,22 @@ files:
170
145
  - spec/spec/matchers/raise_error_spec.rb
171
146
  - spec/spec/matchers/respond_to_spec.rb
172
147
  - spec/spec/matchers/satisfy_spec.rb
148
+ - spec/spec/matchers/should_===_spec.rb
149
+ - spec/spec/matchers/should_==_spec.rb
150
+ - spec/spec/matchers/should_=~_spec.rb
173
151
  - spec/spec/matchers/throw_symbol_spec.rb
174
152
  - spec/spec/mocks/any_number_of_times_spec.rb
175
153
  - spec/spec/mocks/argument_expectation_spec.rb
176
154
  - spec/spec/mocks/at_least_spec.rb
177
155
  - spec/spec/mocks/at_most_spec.rb
156
+ - spec/spec/mocks/bug_report_10260_spec.rb
178
157
  - spec/spec/mocks/bug_report_7611_spec.rb
179
158
  - spec/spec/mocks/bug_report_7805_spec.rb
180
159
  - spec/spec/mocks/bug_report_8165_spec.rb
181
160
  - spec/spec/mocks/bug_report_8302_spec.rb
182
161
  - spec/spec/mocks/failing_mock_argument_constraints_spec.rb
183
162
  - spec/spec/mocks/mock_ordering_spec.rb
163
+ - spec/spec/mocks/mock_space_spec.rb
184
164
  - spec/spec/mocks/mock_spec.rb
185
165
  - spec/spec/mocks/multiple_return_value_spec.rb
186
166
  - spec/spec/mocks/null_object_mock_spec.rb
@@ -193,35 +173,36 @@ files:
193
173
  - spec/spec/mocks/record_messages_spec.rb
194
174
  - spec/spec/mocks/stub_spec.rb
195
175
  - spec/spec/mocks/twice_counts_spec.rb
176
+ - spec/spec/package/bin_spec_spec.rb
177
+ - spec/spec/runner/behaviour_runner_spec.rb
196
178
  - spec/spec/runner/command_line_spec.rb
197
179
  - spec/spec/runner/context_matching_spec.rb
198
- - spec/spec/runner/context_runner_spec.rb
199
- - spec/spec/runner/context_spec.rb
200
180
  - spec/spec/runner/drb_command_line_spec.rb
201
181
  - spec/spec/runner/execution_context_spec.rb
202
182
  - spec/spec/runner/heckle_runner_spec.rb
203
183
  - spec/spec/runner/heckler_spec.rb
204
- - spec/spec/runner/kernel_ext_spec.rb
205
184
  - spec/spec/runner/noisy_backtrace_tweaker_spec.rb
206
185
  - spec/spec/runner/object_ext_spec.rb
207
186
  - spec/spec/runner/option_parser_spec.rb
208
187
  - spec/spec/runner/quiet_backtrace_tweaker_spec.rb
209
188
  - spec/spec/runner/reporter_spec.rb
210
189
  - spec/spec/runner/spec_matcher_spec.rb
211
- - spec/spec/runner/spec_name_generation_spec.rb
212
190
  - spec/spec/runner/spec_parser_spec.rb
213
- - spec/spec/runner/specification_class_spec.rb
214
- - spec/spec/runner/specification_instance_spec.rb
215
- - spec/spec/runner/specification_should_raise_spec.rb
191
+ - spec/spec/runner/extensions/kernel_spec.rb
192
+ - spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb
193
+ - spec/spec/runner/formatter/failing_examples_formatter_spec.rb
216
194
  - spec/spec/runner/formatter/html_formatter_spec.rb
217
195
  - spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb
218
196
  - spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb
219
197
  - spec/spec/runner/formatter/progress_bar_formatter_spec.rb
220
198
  - spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb
221
199
  - spec/spec/runner/formatter/rdoc_formatter_spec.rb
200
+ - spec/spec/runner/formatter/snippet_extractor_spec.rb
222
201
  - spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb
223
202
  - spec/spec/runner/formatter/specdoc_formatter_spec.rb
224
- - examples/auto_spec_name_generation_example.rb
203
+ - examples/auto_spec_description_example.rb
204
+ - examples/before_and_after_example.rb
205
+ - examples/behave_as_example.rb
225
206
  - examples/custom_expectation_matchers.rb
226
207
  - examples/custom_formatter.rb
227
208
  - examples/dynamic_spec.rb
@@ -231,15 +212,23 @@ files:
231
212
  - examples/helper_method_example.rb
232
213
  - examples/io_processor.rb
233
214
  - examples/io_processor_spec.rb
215
+ - examples/legacy_spec.rb
234
216
  - examples/mocking_example.rb
217
+ - examples/multi_threaded_behaviour_runner.rb
235
218
  - examples/partial_mock_example.rb
236
219
  - examples/predicate_example.rb
237
- - examples/setup_teardown_example.rb
220
+ - examples/priority.txt
221
+ - examples/shared_behaviours_example.rb
238
222
  - examples/spec_helper.rb
239
223
  - examples/stack.rb
240
224
  - examples/stack_spec.rb
241
225
  - examples/stubbing_example.rb
226
+ - examples/test_case_adapter_example.rb
242
227
  - examples/test_case_spec.rb
228
+ - plugins/mock_frameworks
229
+ - plugins/mock_frameworks/flexmock.rb
230
+ - plugins/mock_frameworks/mocha.rb
231
+ - plugins/mock_frameworks/rspec.rb
243
232
  test_files: []
244
233
 
245
234
  rdoc_options:
@@ -253,9 +242,10 @@ extra_rdoc_files:
253
242
  - README
254
243
  - CHANGES
255
244
  - MIT-LICENSE
256
- - RELEASE-PLAN
245
+ - UPGRADE
257
246
  executables:
258
247
  - spec
248
+ - spec_translator
259
249
  extensions: []
260
250
 
261
251
  requirements: []