rspec 1.0.0 → 1.3.1

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 (456) hide show
  1. data/.document +7 -0
  2. data/History.rdoc +1546 -0
  3. data/{MIT-LICENSE → License.txt} +3 -1
  4. data/Manifest.txt +384 -0
  5. data/README.rdoc +41 -0
  6. data/Rakefile +94 -229
  7. data/Ruby1.9.rdoc +31 -0
  8. data/TODO.txt +17 -0
  9. data/Upgrade.rdoc +260 -0
  10. data/bin/autospec +4 -0
  11. data/bin/spec +5 -3
  12. data/cucumber.yml +5 -0
  13. data/examples/failing/README.txt +11 -0
  14. data/examples/failing/diffing_spec.rb +36 -0
  15. data/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  16. data/examples/failing/failure_in_after.rb +10 -0
  17. data/examples/failing/failure_in_before.rb +10 -0
  18. data/examples/failing/mocking_example.rb +38 -0
  19. data/examples/failing/mocking_with_flexmock.rb +26 -0
  20. data/examples/failing/mocking_with_mocha.rb +25 -0
  21. data/examples/failing/mocking_with_rr.rb +27 -0
  22. data/examples/failing/partial_mock_example.rb +18 -0
  23. data/examples/failing/pending_example.rb +7 -0
  24. data/examples/failing/predicate_example.rb +32 -0
  25. data/examples/failing/raising_example.rb +47 -0
  26. data/examples/failing/syntax_error_example.rb +7 -0
  27. data/examples/failing/team_spec.rb +41 -0
  28. data/examples/failing/timeout_behaviour.rb +5 -0
  29. data/examples/{custom_formatter.rb → passing/custom_formatter.rb} +1 -1
  30. data/examples/passing/dynamic_spec.rb +7 -0
  31. data/examples/{file_accessor.rb → passing/file_accessor.rb} +18 -18
  32. data/examples/{file_accessor_spec.rb → passing/file_accessor_spec.rb} +37 -38
  33. data/examples/passing/filtered_formatter.rb +17 -0
  34. data/examples/passing/filtered_formatter_example.rb +31 -0
  35. data/examples/{greeter_spec.rb → passing/greeter_spec.rb} +1 -1
  36. data/examples/passing/helper_method_example.rb +12 -0
  37. data/examples/passing/implicit_docstrings_example.rb +16 -0
  38. data/examples/{io_processor.rb → passing/io_processor.rb} +8 -8
  39. data/examples/{io_processor_spec.rb → passing/io_processor_spec.rb} +2 -3
  40. data/examples/{mocking_example.rb → passing/mocking_example.rb} +0 -2
  41. data/examples/{multi_threaded_behaviour_runner.rb → passing/multi_threaded_example_group_runner.rb} +10 -9
  42. data/examples/passing/nested_classes_example.rb +35 -0
  43. data/examples/passing/options_example.rb +29 -0
  44. data/examples/passing/options_formatter.rb +20 -0
  45. data/examples/{partial_mock_example.rb → passing/partial_mock_example.rb} +2 -3
  46. data/examples/passing/pending_example.rb +18 -0
  47. data/examples/{predicate_example.rb → passing/predicate_example.rb} +1 -3
  48. data/examples/{shared_behaviours_example.rb → passing/shared_example_group_example.rb} +15 -11
  49. data/examples/passing/shared_stack_examples.rb +36 -0
  50. data/examples/passing/simple_matcher_example.rb +29 -0
  51. data/examples/{stack.rb → passing/stack.rb} +1 -1
  52. data/examples/{stack_spec.rb → passing/stack_spec.rb} +6 -40
  53. data/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  54. data/examples/{stubbing_example.rb → passing/stubbing_example.rb} +1 -3
  55. data/examples/passing/yielding_example.rb +31 -0
  56. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  57. data/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  58. data/features/command_line/line_number_option.feature +56 -0
  59. data/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  60. data/features/example_groups/define_example_attribute.feature +41 -0
  61. data/features/example_groups/example_group_with_should_methods.feature +29 -0
  62. data/features/example_groups/implicit_docstrings.feature +59 -0
  63. data/features/example_groups/nested_groups.feature +32 -0
  64. data/features/expectations/customized_message.feature +54 -0
  65. data/features/expectations/expect_change.feature +65 -0
  66. data/features/expectations/expect_error.feature +44 -0
  67. data/features/extensions/custom_example_group.feature +19 -0
  68. data/features/formatters/custom_formatter.feature +30 -0
  69. data/features/formatters/nested_formatter.feature +32 -0
  70. data/features/interop/cucumber_stubs_dont_leak.feature +11 -0
  71. data/features/interop/examples_and_tests_together.feature +84 -0
  72. data/features/interop/rspec_output.feature +25 -0
  73. data/features/interop/test_but_not_test_unit.feature +26 -0
  74. data/features/interop/test_case_with_should_methods.feature +46 -0
  75. data/features/load_paths/add_lib_to_load_path.feature +20 -0
  76. data/features/load_paths/add_spec_to_load_path.feature +20 -0
  77. data/features/matchers/define_diffable_matcher.feature +26 -0
  78. data/features/matchers/define_matcher.feature +179 -0
  79. data/features/matchers/define_matcher_outside_rspec.feature +38 -0
  80. data/features/matchers/define_matcher_with_fluent_interface.feature +48 -0
  81. data/features/matchers/define_wrapped_matcher.feature +56 -0
  82. data/features/matchers/match_unless_raises.feature +60 -0
  83. data/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  84. data/features/mock_framework_integration/use_flexmock.feature +27 -0
  85. data/features/mock_framework_integration/use_mocha.feature +27 -0
  86. data/features/mock_framework_integration/use_rr.feature +27 -0
  87. data/features/mocks/block_local_expectations.feature +62 -0
  88. data/features/mocks/mix_stubs_and_mocks.feature +22 -0
  89. data/features/mocks/stub_implementation.feature +26 -0
  90. data/features/pending/pending_examples.feature +81 -0
  91. data/features/runner/specify_line_number.feature +32 -0
  92. data/features/spec_helper/spec_helper.feature +25 -0
  93. data/features/step_definitions/running_rspec_steps.rb +52 -0
  94. data/features/step_definitions/stubbing_steps.rb +16 -0
  95. data/features/subject/explicit_subject.feature +31 -0
  96. data/features/subject/implicit_subject.feature +43 -0
  97. data/features/support/env.rb +83 -0
  98. data/features/support/matchers/smart_match.rb +31 -0
  99. data/geminstaller.yml +29 -0
  100. data/init.rb +9 -0
  101. data/lib/autotest/discover.rb +3 -0
  102. data/lib/autotest/rspec.rb +54 -0
  103. data/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  104. data/{plugins → lib/spec/adapters}/mock_frameworks/mocha.rb +8 -4
  105. data/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  106. data/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  107. data/lib/spec/autorun.rb +3 -0
  108. data/lib/spec/deprecation.rb +41 -0
  109. data/lib/spec/dsl/main.rb +93 -0
  110. data/lib/spec/dsl.rb +1 -10
  111. data/lib/spec/example/args_and_options.rb +27 -0
  112. data/lib/spec/example/before_and_after_hooks.rb +93 -0
  113. data/lib/spec/example/errors.rb +25 -0
  114. data/lib/spec/example/example_group.rb +10 -0
  115. data/lib/spec/example/example_group_factory.rb +82 -0
  116. data/lib/spec/example/example_group_hierarchy.rb +53 -0
  117. data/lib/spec/example/example_group_methods.rb +287 -0
  118. data/lib/spec/example/example_group_proxy.rb +61 -0
  119. data/lib/spec/example/example_matcher.rb +43 -0
  120. data/lib/spec/example/example_methods.rb +152 -0
  121. data/lib/spec/example/example_proxy.rb +41 -0
  122. data/lib/spec/example/module_reopening_fix.rb +43 -0
  123. data/lib/spec/example/pending.rb +18 -0
  124. data/lib/spec/example/predicate_matchers.rb +46 -0
  125. data/lib/spec/example/shared_example_group.rb +59 -0
  126. data/lib/spec/example/subject.rb +114 -0
  127. data/lib/spec/example.rb +164 -0
  128. data/lib/spec/expectations/errors.rb +7 -1
  129. data/lib/spec/expectations/extensions/kernel.rb +52 -0
  130. data/lib/spec/expectations/extensions.rb +1 -2
  131. data/lib/spec/expectations/fail_with.rb +45 -0
  132. data/lib/spec/expectations/handler.rb +37 -30
  133. data/lib/spec/expectations.rb +2 -23
  134. data/lib/spec/extensions/instance_exec.rb +31 -0
  135. data/lib/spec/interop/test/unit/autorunner.rb +6 -0
  136. data/lib/spec/interop/test/unit/testcase.rb +56 -0
  137. data/lib/spec/interop/test/unit/testresult.rb +6 -0
  138. data/lib/spec/interop/test/unit/testsuite_adapter.rb +36 -0
  139. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  140. data/lib/spec/interop/test.rb +44 -0
  141. data/lib/spec/matchers/be.rb +183 -140
  142. data/lib/spec/matchers/be_close.rb +18 -23
  143. data/lib/spec/matchers/be_instance_of.rb +26 -0
  144. data/lib/spec/matchers/be_kind_of.rb +26 -0
  145. data/lib/spec/matchers/change.rb +72 -41
  146. data/lib/spec/matchers/compatibility.rb +14 -0
  147. data/lib/spec/matchers/dsl.rb +20 -0
  148. data/lib/spec/matchers/eql.rb +25 -26
  149. data/lib/spec/matchers/equal.rb +35 -25
  150. data/lib/spec/matchers/errors.rb +5 -0
  151. data/lib/spec/matchers/exist.rb +16 -0
  152. data/lib/spec/matchers/generated_descriptions.rb +36 -0
  153. data/lib/spec/matchers/has.rb +17 -26
  154. data/lib/spec/matchers/have.rb +36 -24
  155. data/lib/spec/matchers/include.rb +22 -48
  156. data/lib/spec/matchers/match.rb +11 -31
  157. data/lib/spec/matchers/match_array.rb +71 -0
  158. data/lib/spec/matchers/matcher.rb +132 -0
  159. data/lib/spec/matchers/method_missing.rb +9 -0
  160. data/lib/spec/matchers/operator_matcher.rb +55 -44
  161. data/lib/spec/matchers/pretty.rb +37 -0
  162. data/lib/spec/matchers/raise_exception.rb +131 -0
  163. data/lib/spec/matchers/respond_to.rb +35 -9
  164. data/lib/spec/matchers/satisfy.rb +2 -2
  165. data/lib/spec/matchers/simple_matcher.rb +134 -0
  166. data/lib/spec/matchers/throw_symbol.rb +56 -31
  167. data/lib/spec/matchers/wrap_expectation.rb +55 -0
  168. data/lib/spec/matchers.rb +104 -48
  169. data/lib/spec/mocks/argument_expectation.rb +28 -112
  170. data/lib/spec/mocks/argument_matchers.rb +237 -0
  171. data/lib/spec/mocks/error_generator.rb +20 -13
  172. data/lib/spec/mocks/errors.rb +1 -1
  173. data/lib/spec/mocks/example_methods.rb +69 -0
  174. data/lib/spec/mocks/extensions.rb +1 -0
  175. data/lib/spec/mocks/framework.rb +15 -0
  176. data/lib/spec/mocks/message_expectation.rb +206 -93
  177. data/lib/spec/mocks/methods.rb +66 -7
  178. data/lib/spec/mocks/mock.rb +53 -11
  179. data/lib/spec/mocks/proxy.rb +160 -55
  180. data/lib/spec/mocks/space.rb +2 -2
  181. data/lib/spec/mocks.rb +14 -23
  182. data/lib/spec/rake/spectask.rb +108 -53
  183. data/lib/spec/rake/verify_rcov.rb +4 -4
  184. data/lib/spec/ruby.rb +9 -0
  185. data/lib/spec/runner/backtrace_tweaker.rb +45 -23
  186. data/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  187. data/lib/spec/runner/command_line.rb +7 -14
  188. data/lib/spec/runner/configuration.rb +202 -0
  189. data/lib/spec/runner/differs/default.rb +93 -0
  190. data/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  191. data/lib/spec/runner/drb_command_line.rb +18 -7
  192. data/lib/spec/runner/example_group_runner.rb +58 -0
  193. data/lib/spec/runner/extensions/kernel.rb +5 -46
  194. data/lib/spec/runner/formatter/base_formatter.rb +97 -26
  195. data/lib/spec/runner/formatter/base_text_formatter.rb +79 -39
  196. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  197. data/lib/spec/runner/formatter/failing_examples_formatter.rb +6 -8
  198. data/lib/spec/runner/formatter/html_formatter.rb +101 -75
  199. data/lib/spec/runner/formatter/nested_text_formatter.rb +50 -0
  200. data/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  201. data/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  202. data/lib/spec/runner/formatter/progress_bar_formatter.rb +11 -8
  203. data/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  204. data/lib/spec/runner/formatter/snippet_extractor.rb +2 -2
  205. data/lib/spec/runner/formatter/specdoc_formatter.rb +20 -15
  206. data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  207. data/lib/spec/runner/heckle_runner.rb +56 -56
  208. data/lib/spec/runner/{heckle_runner_win.rb → heckle_runner_unsupported.rb} +10 -10
  209. data/lib/spec/runner/line_number_query.rb +78 -0
  210. data/lib/spec/runner/option_parser.rb +147 -148
  211. data/lib/spec/runner/options.rb +343 -95
  212. data/lib/spec/runner/reporter.rb +117 -60
  213. data/lib/spec/runner.rb +39 -138
  214. data/lib/spec/stubs/cucumber.rb +5 -0
  215. data/lib/spec/test/unit.rb +10 -0
  216. data/lib/spec/version.rb +14 -22
  217. data/lib/spec.rb +5 -10
  218. data/resources/helpers/cmdline.rb +8 -0
  219. data/resources/rake/examples.rake +7 -0
  220. data/resources/rake/examples_with_rcov.rake +9 -0
  221. data/resources/rake/failing_examples_with_html.rake +9 -0
  222. data/resources/rake/verify_rcov.rake +7 -0
  223. data/spec/README.jruby +15 -0
  224. data/spec/autotest/autotest_helper.rb +8 -0
  225. data/spec/autotest/autotest_matchers.rb +38 -0
  226. data/spec/autotest/discover_spec.rb +8 -0
  227. data/spec/autotest/failed_results_re_spec.rb +31 -0
  228. data/spec/autotest/rspec_spec.rb +126 -0
  229. data/spec/ruby_forker.rb +13 -0
  230. data/spec/spec/dsl/main_spec.rb +103 -0
  231. data/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  232. data/spec/spec/example/example_group_factory_spec.rb +180 -0
  233. data/spec/spec/example/example_group_methods_spec.rb +778 -0
  234. data/spec/spec/example/example_group_proxy_spec.rb +107 -0
  235. data/spec/spec/example/example_group_spec.rb +632 -0
  236. data/spec/spec/example/example_matcher_spec.rb +85 -0
  237. data/spec/spec/example/example_methods_spec.rb +162 -0
  238. data/spec/spec/example/example_proxy_spec.rb +57 -0
  239. data/spec/spec/example/helper_method_spec.rb +24 -0
  240. data/spec/spec/{dsl/behaviour_eval_spec.rb → example/nested_example_group_spec.rb} +25 -3
  241. data/spec/spec/example/pending_module_spec.rb +58 -0
  242. data/spec/spec/example/predicate_matcher_spec.rb +41 -0
  243. data/spec/spec/example/shared_example_group_spec.rb +257 -0
  244. data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  245. data/spec/spec/example/subject_spec.rb +110 -0
  246. data/spec/spec/expectations/differs/default_spec.rb +100 -13
  247. data/spec/spec/expectations/extensions/{object_spec.rb → kernel_spec.rb} +13 -14
  248. data/spec/spec/expectations/fail_with_spec.rb +42 -17
  249. data/spec/spec/expectations/handler_spec.rb +206 -0
  250. data/spec/spec/expectations/wrap_expectation_spec.rb +31 -0
  251. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  252. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  253. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  254. data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  255. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  256. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  257. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  258. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  259. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  260. data/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  261. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  262. data/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  263. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  264. data/spec/spec/matchers/be_close_spec.rb +32 -21
  265. data/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  266. data/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  267. data/spec/spec/matchers/be_spec.rb +261 -10
  268. data/spec/spec/matchers/change_spec.rb +178 -61
  269. data/spec/spec/matchers/compatibility_spec.rb +28 -0
  270. data/spec/spec/matchers/description_generation_spec.rb +47 -46
  271. data/spec/spec/matchers/dsl_spec.rb +34 -0
  272. data/spec/spec/matchers/eql_spec.rb +14 -9
  273. data/spec/spec/matchers/equal_spec.rb +43 -14
  274. data/spec/spec/matchers/exist_spec.rb +41 -24
  275. data/spec/spec/matchers/has_spec.rb +154 -1
  276. data/spec/spec/matchers/have_spec.rb +311 -189
  277. data/spec/spec/matchers/include_spec.rb +45 -2
  278. data/spec/spec/matchers/match_array_spec.rb +115 -0
  279. data/spec/spec/matchers/match_spec.rb +25 -5
  280. data/spec/spec/matchers/matcher_spec.rb +289 -0
  281. data/spec/spec/matchers/matchers_spec.rb +2 -0
  282. data/spec/spec/matchers/operator_matcher_spec.rb +48 -15
  283. data/spec/spec/matchers/raise_exception_spec.rb +345 -0
  284. data/spec/spec/matchers/respond_to_spec.rb +78 -16
  285. data/spec/spec/matchers/satisfy_spec.rb +1 -1
  286. data/spec/spec/matchers/simple_matcher_spec.rb +100 -0
  287. data/spec/spec/matchers/throw_symbol_spec.rb +111 -41
  288. data/spec/spec/mocks/and_yield_spec.rb +117 -0
  289. data/spec/spec/mocks/any_number_of_times_spec.rb +9 -2
  290. data/spec/spec/mocks/argument_expectation_spec.rb +19 -15
  291. data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  292. data/spec/spec/mocks/at_least_spec.rb +2 -2
  293. data/spec/spec/mocks/at_most_spec.rb +3 -3
  294. data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
  295. data/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  296. data/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  297. data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  298. data/spec/spec/mocks/bug_report_496_spec.rb +17 -0
  299. data/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  300. data/spec/spec/mocks/bug_report_7611_spec.rb +2 -2
  301. data/spec/spec/mocks/bug_report_7805_spec.rb +2 -2
  302. data/spec/spec/mocks/bug_report_8165_spec.rb +4 -4
  303. data/spec/spec/mocks/bug_report_8302_spec.rb +2 -2
  304. data/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  305. data/spec/spec/mocks/double_spec.rb +12 -0
  306. data/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  307. data/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  308. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  309. data/spec/spec/mocks/mock_ordering_spec.rb +15 -5
  310. data/spec/spec/mocks/mock_space_spec.rb +1 -1
  311. data/spec/spec/mocks/mock_spec.rb +346 -129
  312. data/spec/spec/mocks/multiple_return_value_spec.rb +9 -9
  313. data/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  314. data/spec/spec/mocks/null_object_mock_spec.rb +15 -1
  315. data/spec/spec/mocks/once_counts_spec.rb +2 -2
  316. data/spec/spec/mocks/options_hash_spec.rb +19 -17
  317. data/spec/spec/mocks/partial_mock_spec.rb +124 -12
  318. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +2 -2
  319. data/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  320. data/spec/spec/mocks/precise_counts_spec.rb +2 -2
  321. data/spec/spec/mocks/record_messages_spec.rb +2 -2
  322. data/spec/spec/mocks/stub_chain_spec.rb +42 -0
  323. data/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  324. data/spec/spec/mocks/stub_spec.rb +147 -103
  325. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  326. data/spec/spec/mocks/twice_counts_spec.rb +2 -2
  327. data/spec/spec/mocks/unstub_spec.rb +127 -0
  328. data/spec/spec/package/bin_spec_spec.rb +11 -7
  329. data/spec/spec/rake/spectask_spec.rb +150 -0
  330. data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  331. data/spec/spec/runner/command_line_spec.rb +158 -29
  332. data/spec/spec/runner/configuration_spec.rb +320 -0
  333. data/spec/spec/runner/drb_command_line_spec.rb +137 -72
  334. data/spec/spec/runner/empty_file.txt +0 -0
  335. data/spec/spec/runner/example_group_runner_spec.rb +26 -0
  336. data/spec/spec/runner/examples.txt +2 -0
  337. data/spec/spec/runner/failed.txt +3 -0
  338. data/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  339. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  340. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  341. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +17 -12
  342. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  343. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  344. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  345. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  346. data/spec/spec/runner/formatter/html_formatter_spec.rb +112 -52
  347. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +329 -0
  348. data/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  349. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +87 -16
  350. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +14 -7
  351. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +153 -50
  352. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  353. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  354. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  355. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  356. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  357. data/spec/spec/runner/heckle_runner_spec.rb +32 -17
  358. data/spec/spec/runner/heckler_spec.rb +17 -11
  359. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  360. data/spec/spec/runner/line_number_query_spec.rb +129 -0
  361. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +27 -21
  362. data/spec/spec/runner/option_parser_spec.rb +367 -164
  363. data/spec/spec/runner/options_spec.rb +506 -94
  364. data/spec/spec/runner/output_one_time_fixture.rb +7 -0
  365. data/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  366. data/spec/spec/runner/output_one_time_spec.rb +15 -0
  367. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +94 -27
  368. data/spec/spec/runner/reporter_spec.rb +212 -121
  369. data/spec/spec/runner/resources/a_bar.rb +0 -0
  370. data/spec/spec/runner/resources/a_foo.rb +0 -0
  371. data/spec/spec/runner/resources/a_spec.rb +1 -0
  372. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  373. data/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  374. data/spec/spec/runner/spec.opts +2 -0
  375. data/spec/spec/runner/spec_drb.opts +2 -0
  376. data/spec/spec/runner/spec_spaced.opts +2 -0
  377. data/spec/spec/runner_spec.rb +13 -0
  378. data/spec/spec.opts +6 -0
  379. data/spec/spec_helper.rb +87 -45
  380. data/spec/support/macros.rb +29 -0
  381. data/spec/{spec → support}/spec_classes.rb +26 -4
  382. metadata +461 -141
  383. data/CHANGES +0 -748
  384. data/EXAMPLES.rd +0 -108
  385. data/README +0 -70
  386. data/UPGRADE +0 -31
  387. data/bin/spec_translator +0 -8
  388. data/examples/auto_spec_description_example.rb +0 -19
  389. data/examples/before_and_after_example.rb +0 -39
  390. data/examples/behave_as_example.rb +0 -45
  391. data/examples/dynamic_spec.rb +0 -9
  392. data/examples/helper_method_example.rb +0 -11
  393. data/examples/legacy_spec.rb +0 -10
  394. data/examples/not_yet_implemented_spec.rb +0 -12
  395. data/examples/priority.txt +0 -1
  396. data/examples/spec_helper.rb +0 -1
  397. data/examples/test_case_adapter_example.rb +0 -26
  398. data/examples/test_case_spec.rb +0 -65
  399. data/lib/spec/dsl/behaviour.rb +0 -204
  400. data/lib/spec/dsl/behaviour_callbacks.rb +0 -77
  401. data/lib/spec/dsl/behaviour_eval.rb +0 -177
  402. data/lib/spec/dsl/behaviour_factory.rb +0 -42
  403. data/lib/spec/dsl/composite_proc_builder.rb +0 -28
  404. data/lib/spec/dsl/configuration.rb +0 -119
  405. data/lib/spec/dsl/description.rb +0 -46
  406. data/lib/spec/dsl/example.rb +0 -127
  407. data/lib/spec/dsl/example_matcher.rb +0 -28
  408. data/lib/spec/dsl/example_should_raise_handler.rb +0 -74
  409. data/lib/spec/expectations/differs/default.rb +0 -61
  410. data/lib/spec/expectations/extensions/object.rb +0 -66
  411. data/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  412. data/lib/spec/extensions/object.rb +0 -6
  413. data/lib/spec/extensions.rb +0 -1
  414. data/lib/spec/matchers/raise_error.rb +0 -100
  415. data/lib/spec/mocks/argument_constraint_matchers.rb +0 -12
  416. data/lib/spec/mocks/spec_methods.rb +0 -30
  417. data/lib/spec/runner/behaviour_runner.rb +0 -102
  418. data/lib/spec/runner/extensions/object.rb +0 -32
  419. data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +0 -25
  420. data/lib/spec/runner/formatter/rdoc_formatter.rb +0 -24
  421. data/lib/spec/runner/formatter.rb +0 -9
  422. data/lib/spec/runner/spec_parser.rb +0 -50
  423. data/lib/spec/test_case_adapter.rb +0 -10
  424. data/lib/spec/translator.rb +0 -106
  425. data/plugins/mock_frameworks/flexmock.rb +0 -27
  426. data/plugins/mock_frameworks/rspec.rb +0 -18
  427. data/spec/spec/dsl/behaviour_factory_spec.rb +0 -30
  428. data/spec/spec/dsl/behaviour_spec.rb +0 -604
  429. data/spec/spec/dsl/composite_proc_builder_spec.rb +0 -57
  430. data/spec/spec/dsl/configuration_spec.rb +0 -50
  431. data/spec/spec/dsl/description_spec.rb +0 -81
  432. data/spec/spec/dsl/example_class_spec.rb +0 -24
  433. data/spec/spec/dsl/example_instance_spec.rb +0 -162
  434. data/spec/spec/dsl/example_should_raise_spec.rb +0 -137
  435. data/spec/spec/dsl/predicate_matcher_spec.rb +0 -21
  436. data/spec/spec/dsl/shared_behaviour_spec.rb +0 -208
  437. data/spec/spec/matchers/handler_spec.rb +0 -88
  438. data/spec/spec/matchers/matcher_methods_spec.rb +0 -78
  439. data/spec/spec/matchers/raise_error_spec.rb +0 -147
  440. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -73
  441. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -92
  442. data/spec/spec/runner/behaviour_runner_spec.rb +0 -118
  443. data/spec/spec/runner/context_matching_spec.rb +0 -27
  444. data/spec/spec/runner/execution_context_spec.rb +0 -31
  445. data/spec/spec/runner/extensions/kernel_spec.rb +0 -36
  446. data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +0 -27
  447. data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +0 -21
  448. data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +0 -36
  449. data/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +0 -19
  450. data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +0 -46
  451. data/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +0 -21
  452. data/spec/spec/runner/object_ext_spec.rb +0 -11
  453. data/spec/spec/runner/spec_matcher_spec.rb +0 -102
  454. data/spec/spec/runner/spec_parser_spec.rb +0 -93
  455. data/spec/spec/translator_spec.rb +0 -216
  456. /data/examples/{custom_expectation_matchers.rb → passing/custom_matchers.rb} +0 -0
@@ -1,27 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "FailingBehavioursFormatter" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @formatter = FailingBehavioursFormatter.new(@io)
10
- end
11
-
12
- it "should add example name for each failure" do
13
- @formatter.add_behaviour("b 1")
14
- @formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
15
- @formatter.add_behaviour("b 2")
16
- @formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
17
- @formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
18
- @io.string.should eql(<<-EOF
19
- b 1
20
- b 2
21
- EOF
22
- )
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,21 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "ProgressBarFormatterDryRun" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @formatter = ProgressBarFormatter.new(@io)
10
- @formatter.dry_run = true
11
- end
12
- it "should not produce summary on dry run" do
13
- @formatter.dump_summary(3, 2, 1, 0)
14
- @io.string.should eql("")
15
-
16
- end
17
-
18
- end
19
- end
20
- end
21
- end
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "ProgressBarFormatter failure dump with NoisyBacktraceTweaker" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @reporter = Reporter.new([ProgressBarFormatter.new(@io)], NoisyBacktraceTweaker.new)
10
- @reporter.add_behaviour("context")
11
- end
12
-
13
- it "should end with line break" do
14
- error=Spec::Expectations::ExpectationNotMetError.new("message")
15
- set_backtrace(error)
16
- @reporter.example_finished("spec", error, "spec")
17
- @reporter.dump
18
- @io.string.should match(/\n\z/)
19
- end
20
-
21
- it "should include context and spec name in backtrace if error in spec" do
22
- error=RuntimeError.new("message")
23
- set_backtrace(error)
24
- @reporter.example_finished("spec", error, "spec")
25
- @reporter.dump
26
- @io.string.should match(/RuntimeError in 'context spec'/)
27
- end
28
-
29
- def set_backtrace(error)
30
- error.set_backtrace(["/a/b/c/d/e.rb:34:in `whatever'"])
31
- end
32
-
33
- end
34
- end
35
- end
36
- end
@@ -1,19 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "RdocFormatterDryRun" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @formatter = RdocFormatter.new(@io)
10
- @formatter.dry_run = true
11
- end
12
- it "should not produce summary on dry run" do
13
- @formatter.dump_summary(3, 2, 1, 0)
14
- @io.string.should == ""
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,46 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "RdocFormatter" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @formatter = RdocFormatter.new(@io)
10
- @formatter.dry_run = true
11
- end
12
- it "should produce no summary" do
13
- @formatter.dump_summary(nil, nil, nil, nil)
14
- @io.string.should be_empty
15
-
16
- end
17
- it "should produce nothing on start dump" do
18
- @formatter.start_dump
19
- @io.string.should be_empty
20
-
21
- end
22
- it "should push out context" do
23
- @formatter.add_behaviour("context")
24
- @io.string.should eql("# context\n")
25
-
26
- end
27
- it "should push out failed spec" do
28
- @formatter.example_failed("spec", 98, nil)
29
- @io.string.should eql("# * spec [98 - FAILED]\n")
30
-
31
- end
32
- it "should push out spec" do
33
- @formatter.example_passed("spec")
34
- @io.string.should eql("# * spec\n")
35
-
36
- end
37
-
38
- it "should push out not implemented spec" do
39
- @formatter.example_not_implemented("spec")
40
- @io.string.should eql("# * spec [NOT IMPLEMENTED]\n")
41
- end
42
-
43
- end
44
- end
45
- end
46
- end
@@ -1,21 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- describe "SpecdocFormatterDryRun" do
7
- before(:each) do
8
- @io = StringIO.new
9
- @formatter = SpecdocFormatter.new(@io)
10
- @formatter.dry_run = true
11
- end
12
- it "should not produce summary on dry run" do
13
- @formatter.dump_summary(3, 2, 1, 0)
14
- @io.string.should eql("")
15
-
16
- end
17
-
18
- end
19
- end
20
- end
21
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- describe "ObjectExt" do
6
- it "should add copy_instance_variables_from to object" do
7
- Object.new.should respond_to(:copy_instance_variables_from)
8
- end
9
- end
10
- end
11
- end
@@ -1,102 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
-
3
- module Spec
4
- module DSL
5
- module ExampleMatcherSpecHelper
6
- class MatchDescription
7
- def initialize(description)
8
- @description = description
9
- end
10
-
11
- def matches?(matcher)
12
- matcher.matches?(@description)
13
- end
14
-
15
- def failure_message
16
- "expected matcher.matches?(#{@description.inspect}) to return true, got false"
17
- end
18
-
19
- def negative_failure_message
20
- "expected matcher.matches?(#{@description.inspect}) to return false, got true"
21
- end
22
- end
23
- def match_description(description)
24
- MatchDescription.new(description)
25
- end
26
- end
27
-
28
- describe ExampleMatcher do
29
- include ExampleMatcherSpecHelper
30
-
31
- it "should match correct behaviour and example" do
32
- matcher=ExampleMatcher.new("behaviour", "example")
33
- matcher.should match_description("behaviour example")
34
- end
35
-
36
- it "should not match wrong example" do
37
- matcher=ExampleMatcher.new("behaviour", "other example")
38
- matcher.should_not match_description("behaviour example")
39
- end
40
-
41
- it "should not match wrong behaviour" do
42
- matcher=ExampleMatcher.new("other behaviour", "example")
43
- matcher.should_not match_description("behaviour example")
44
- end
45
-
46
- it "should match example only" do
47
- matcher=ExampleMatcher.new("behaviour", "example")
48
- matcher.should match_description("example")
49
- end
50
-
51
- it "should match behaviour only" do
52
- matcher=ExampleMatcher.new("behaviour", "example")
53
- matcher.should match_description("behaviour")
54
- end
55
-
56
- it "should escape regexp chars" do
57
- matcher=ExampleMatcher.new("(con|text)", "[example]")
58
- matcher.should_not match_description("con p")
59
- end
60
-
61
- it "should match when behaviour is modularized" do
62
- matcher=ExampleMatcher.new("MyModule::MyClass", "example")
63
- matcher.should match_description("MyClass example")
64
- end
65
-
66
- # it "should match with regexp reserved (characters) in the example" do
67
- # matcher=ExampleMatcher.new("with ([#]) an example", "a context")
68
- # matcher.should match_description("a context")
69
- # matcher.should match_description("with ([#]) an example")
70
- # matcher.should match_description("a context with ([#]) an example")
71
- # end
72
- #
73
- # it "should match with regexp reserved (characters) in the context" do
74
- # matcher=ExampleMatcher.new("with an example", "a ([#]) context")
75
- # matcher.should match_description("a ([#]) context with an example")
76
- # matcher.should match_description("a ([#]) context with an example")
77
- # matcher.should match_description("a ([#]) context with an example")
78
- # end
79
-
80
- # it "should not match wrong example only" do
81
- # matcher=ExampleMatcher.new("with another example", "a context")
82
- # matcher.should_not match_description("with an example")
83
- # end
84
- #
85
- # it "should not match wrong context" do
86
- # matcher=ExampleMatcher.new("another context with an example", "a context")
87
- # matcher.should_not match_description("with an example")
88
- # end
89
- #
90
- # it "should not match wrong context only" do
91
- # matcher=ExampleMatcher.new("another context", "a context")
92
- # matcher.should_not match_description("with an example")
93
- # end
94
- #
95
- # it "should not match wrong example" do
96
- # matcher=ExampleMatcher.new("a context with another example", "a context")
97
- # matcher.should_not match_description("with an example")
98
- # end
99
-
100
- end
101
- end
102
- end
@@ -1,93 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
-
3
- describe "c" do
4
-
5
- it "1" do
6
- end
7
-
8
- it "2" do
9
- end
10
-
11
- end
12
-
13
- describe "d" do
14
-
15
- it "3" do
16
- end
17
-
18
- it "4" do
19
- end
20
-
21
- end
22
-
23
- class SpecParserSubject
24
- end
25
-
26
- describe SpecParserSubject do
27
-
28
- it "5" do
29
- end
30
-
31
- end
32
-
33
- describe SpecParserSubject, "described" do
34
-
35
- it "6" do
36
- end
37
-
38
- end
39
-
40
- describe "SpecParser" do
41
- before(:each) do
42
- @p = Spec::Runner::SpecParser.new
43
- end
44
-
45
- it "should find spec name for 'specify' at same line" do
46
- @p.spec_name_for(File.open(__FILE__), 5).should == "c 1"
47
- end
48
-
49
- it "should find spec name for 'specify' at end of spec line" do
50
- @p.spec_name_for(File.open(__FILE__), 6).should == "c 1"
51
- end
52
-
53
- it "should find context for 'context' above all specs" do
54
- @p.spec_name_for(File.open(__FILE__), 4).should == "c"
55
- end
56
-
57
- it "should find spec name for 'it' at same line" do
58
- @p.spec_name_for(File.open(__FILE__), 15).should == "d 3"
59
- end
60
-
61
- it "should find spec name for 'it' at end of spec line" do
62
- @p.spec_name_for(File.open(__FILE__), 16).should == "d 3"
63
- end
64
-
65
- it "should find context for 'describe' above all specs" do
66
- @p.spec_name_for(File.open(__FILE__), 14).should == "d"
67
- end
68
-
69
- it "should find nearest example name between examples" do
70
- @p.spec_name_for(File.open(__FILE__), 7).should == "c 1"
71
- end
72
-
73
- it "should find nothing outside a context" do
74
- @p.spec_name_for(File.open(__FILE__), 2).should be_nil
75
- end
76
-
77
- it "should find context name for type" do
78
- @p.spec_name_for(File.open(__FILE__), 26).should == "SpecParserSubject"
79
- end
80
-
81
- it "should find context and spec name for type" do
82
- @p.spec_name_for(File.open(__FILE__), 28).should == "SpecParserSubject 5"
83
- end
84
-
85
- it "should find context and description for type" do
86
- @p.spec_name_for(File.open(__FILE__), 33).should == "SpecParserSubject described"
87
- end
88
-
89
- it "should find context and description and example for type" do
90
- @p.spec_name_for(File.open(__FILE__), 36).should == "SpecParserSubject described 6"
91
- end
92
-
93
- end
@@ -1,216 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- describe "Translator" do
4
- before do
5
- @t = Spec::Translator.new
6
- end
7
-
8
- it "should translate files" do
9
- from = File.dirname(__FILE__) + '/..'
10
- to = File.dirname(__FILE__) + '/../../translated_specs'
11
- @t.translate_dir(from, to)
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
53
-
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')
60
- end
61
-
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)')
68
- end
69
-
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')
72
- end
73
-
74
- it "should translate should_throw" do
75
- @t.translate_line('lambda { self.call }.should_throw').should eql('lambda { self.call }.should throw_symbol')
76
- end
77
-
78
- it "should not translate 0.9 should_not" do
79
- @t.translate_line('@target.should_not @matcher').should eql('@target.should_not @matcher')
80
- end
81
-
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")')
88
- end
89
-
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')
96
- end
97
-
98
- it "should translate be(expected) to equal(expected)" do
99
- @t.translate_line('foo.should_be :cool').should eql('foo.should equal :cool')
100
- end
101
-
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)')
104
- end
105
-
106
- it "should translate should_be <" do
107
- @t.translate_line('3.should_be < 4').should eql('3.should be < 4')
108
- end
109
-
110
- it "should translate should_be <=" do
111
- @t.translate_line('3.should_be <= 4').should eql('3.should be <= 4')
112
- end
113
-
114
- it "should translate should_be >=" do
115
- @t.translate_line('4.should_be >= 3').should eql('4.should be >= 3')
116
- end
117
-
118
- it "should translate should_be >" do
119
- @t.translate_line('4.should_be > 3').should eql('4.should be > 3')
120
- end
121
-
122
- it "should translate should_be_happy" do
123
- @t.translate_line("4.should_be_happy").should eql("4.should be_happy")
124
- end
125
-
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
142
-
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")
152
- end
153
-
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
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
208
-
209
- it "should translate redirects" do
210
- @t.translate_line(
211
- "controller.should_redirect_to 'http://not_existing_domain_for_novalis.test.host/404.html'"
212
- ).should eql(
213
- "controller.should redirect_to('http://not_existing_domain_for_novalis.test.host/404.html')"
214
- )
215
- end
216
- end