rspec 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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: []