media-path 0.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 (448) hide show
  1. data/CHANGELOG +3 -0
  2. data/LICENSE +20 -0
  3. data/README.textile +40 -0
  4. data/Rakefile +79 -0
  5. data/TODO.txt +6 -0
  6. data/deps.rip +5 -0
  7. data/lib/media-path.rb +269 -0
  8. data/media-path.gemspec +38 -0
  9. data/script/spec +14 -0
  10. data/spec/media-path_spec.rb +158 -0
  11. data/spec/spec.opts +5 -0
  12. data/spec/stubs/blog/public/js/moo.js +0 -0
  13. data/url.rb +20 -0
  14. data/url_spec.rb +35 -0
  15. data/vendor/rspec/History.rdoc +1512 -0
  16. data/vendor/rspec/License.txt +22 -0
  17. data/vendor/rspec/Manifest.txt +383 -0
  18. data/vendor/rspec/README.rdoc +55 -0
  19. data/vendor/rspec/Rakefile +145 -0
  20. data/vendor/rspec/Ruby1.9.rdoc +31 -0
  21. data/vendor/rspec/TODO.txt +17 -0
  22. data/vendor/rspec/Upgrade.rdoc +199 -0
  23. data/vendor/rspec/bin/autospec +4 -0
  24. data/vendor/rspec/bin/spec +5 -0
  25. data/vendor/rspec/cucumber.yml +5 -0
  26. data/vendor/rspec/examples/failing/README.txt +11 -0
  27. data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
  28. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  29. data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
  30. data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
  31. data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
  32. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
  33. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
  34. data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
  35. data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
  36. data/vendor/rspec/examples/failing/pending_example.rb +7 -0
  37. data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
  38. data/vendor/rspec/examples/failing/raising_example.rb +47 -0
  39. data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
  40. data/vendor/rspec/examples/failing/team_spec.rb +41 -0
  41. data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
  42. data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
  43. data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
  44. data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
  45. data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
  46. data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
  47. data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
  48. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
  49. data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
  50. data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
  51. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
  52. data/vendor/rspec/examples/passing/io_processor.rb +8 -0
  53. data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
  54. data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
  55. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  56. data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
  57. data/vendor/rspec/examples/passing/options_example.rb +29 -0
  58. data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
  59. data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
  60. data/vendor/rspec/examples/passing/pending_example.rb +18 -0
  61. data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
  62. data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
  63. data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
  64. data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
  65. data/vendor/rspec/examples/passing/stack.rb +36 -0
  66. data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
  67. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  68. data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
  69. data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
  70. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  71. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  72. data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
  73. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  74. data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
  75. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  76. data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
  77. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  78. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  79. data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
  80. data/vendor/rspec/features/expectations/customized_message.feature +54 -0
  81. data/vendor/rspec/features/expectations/expect_change.feature +65 -0
  82. data/vendor/rspec/features/expectations/expect_error.feature +44 -0
  83. data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
  84. data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
  85. data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
  86. data/vendor/rspec/features/interop/rspec_output.feature +25 -0
  87. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  88. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  89. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  90. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  91. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  92. data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
  93. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  94. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  95. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  96. data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
  97. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  98. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  99. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  100. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  101. data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
  102. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  103. data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
  104. data/vendor/rspec/features/pending/pending_examples.feature +81 -0
  105. data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
  106. data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
  107. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  108. data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
  109. data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
  110. data/vendor/rspec/features/support/env.rb +82 -0
  111. data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
  112. data/vendor/rspec/geminstaller.yml +28 -0
  113. data/vendor/rspec/init.rb +9 -0
  114. data/vendor/rspec/lib/autotest/discover.rb +3 -0
  115. data/vendor/rspec/lib/autotest/rspec.rb +54 -0
  116. data/vendor/rspec/lib/spec.rb +8 -0
  117. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  118. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  119. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  120. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  121. data/vendor/rspec/lib/spec/autorun.rb +3 -0
  122. data/vendor/rspec/lib/spec/deprecation.rb +40 -0
  123. data/vendor/rspec/lib/spec/dsl.rb +1 -0
  124. data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
  125. data/vendor/rspec/lib/spec/example.rb +164 -0
  126. data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
  127. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  128. data/vendor/rspec/lib/spec/example/errors.rb +25 -0
  129. data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
  130. data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
  131. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  132. data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
  133. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  134. data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
  135. data/vendor/rspec/lib/spec/example/example_methods.rb +152 -0
  136. data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
  137. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  138. data/vendor/rspec/lib/spec/example/pending.rb +18 -0
  139. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  140. data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
  141. data/vendor/rspec/lib/spec/example/subject.rb +108 -0
  142. data/vendor/rspec/lib/spec/expectations.rb +35 -0
  143. data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
  144. data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
  145. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  146. data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
  147. data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
  148. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
  149. data/vendor/rspec/lib/spec/interop/test.rb +44 -0
  150. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  151. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  152. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  153. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  154. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  155. data/vendor/rspec/lib/spec/matchers.rb +195 -0
  156. data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
  157. data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
  158. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  159. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  160. data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
  161. data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
  162. data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
  163. data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
  164. data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
  165. data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
  166. data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
  167. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  168. data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
  169. data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
  170. data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
  171. data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
  172. data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
  173. data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
  174. data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
  175. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  176. data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
  177. data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
  178. data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
  179. data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
  180. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  181. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  182. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  183. data/vendor/rspec/lib/spec/mocks.rb +200 -0
  184. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  185. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  186. data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
  187. data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
  188. data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
  189. data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
  190. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  191. data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
  192. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
  193. data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
  194. data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
  195. data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
  196. data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
  197. data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
  198. data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
  199. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  200. data/vendor/rspec/lib/spec/ruby.rb +9 -0
  201. data/vendor/rspec/lib/spec/runner.rb +66 -0
  202. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  203. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  204. data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
  205. data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
  206. data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
  207. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  208. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +32 -0
  209. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +58 -0
  210. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  211. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  212. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  213. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  214. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  215. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  216. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  217. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  218. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  219. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  220. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  221. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  222. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  223. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  224. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  225. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  226. data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
  227. data/vendor/rspec/lib/spec/runner/option_parser.rb +225 -0
  228. data/vendor/rspec/lib/spec/runner/options.rb +405 -0
  229. data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
  230. data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
  231. data/vendor/rspec/lib/spec/test/unit.rb +10 -0
  232. data/vendor/rspec/lib/spec/version.rb +14 -0
  233. data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
  234. data/vendor/rspec/resources/rake/examples.rake +7 -0
  235. data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
  236. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  237. data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
  238. data/vendor/rspec/spec/README.jruby +15 -0
  239. data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
  240. data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
  241. data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
  242. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  243. data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
  244. data/vendor/rspec/spec/ruby_forker.rb +13 -0
  245. data/vendor/rspec/spec/spec.opts +6 -0
  246. data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
  247. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  248. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  249. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
  250. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  251. data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
  252. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  253. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  254. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  255. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  256. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  257. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  258. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  259. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  260. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  261. data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
  262. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  263. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  264. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  265. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  266. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  267. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  268. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  269. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  270. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  271. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  272. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  273. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  274. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  275. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  276. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  277. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  278. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  279. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  280. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  281. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  282. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  283. data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
  284. data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
  285. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  286. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  287. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  288. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  289. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  290. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  291. data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
  292. data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
  293. data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
  294. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  295. data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
  296. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  297. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
  298. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  299. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  300. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  301. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  302. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  303. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  304. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  305. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
  306. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  307. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  308. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  309. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  310. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  311. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  312. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  313. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  314. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  315. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  316. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  317. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  318. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  319. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  320. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  321. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  322. data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
  323. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  324. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  325. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  326. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  327. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  328. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  329. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  330. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  331. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  332. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  333. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  334. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  335. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  336. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  337. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  338. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  339. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  340. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  341. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  342. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  343. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  344. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  345. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  346. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  347. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  348. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +162 -0
  349. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  350. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +146 -0
  351. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  352. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  353. data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
  354. data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
  355. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  356. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  357. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  358. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  359. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  360. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  361. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  362. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  363. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  364. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  365. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  366. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  367. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  368. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  369. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  370. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  371. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  372. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  373. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  374. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  375. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  376. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  377. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  378. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  379. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +554 -0
  380. data/vendor/rspec/spec/spec/runner/options_spec.rb +554 -0
  381. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  382. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  383. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  384. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
  385. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  386. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  387. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  388. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  389. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  390. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  391. data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
  392. data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
  393. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  394. data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
  395. data/vendor/rspec/spec/spec_helper.rb +112 -0
  396. data/vendor/rspec/spec/support/macros.rb +29 -0
  397. data/vendor/rspec/spec/support/spec_classes.rb +133 -0
  398. data/vendor/rubyexts/CHANGELOG +2 -0
  399. data/vendor/rubyexts/LICENSE +20 -0
  400. data/vendor/rubyexts/README.textile +0 -0
  401. data/vendor/rubyexts/Rakefile +79 -0
  402. data/vendor/rubyexts/TODO.txt +6 -0
  403. data/vendor/rubyexts/lib/rubyexts.rb +102 -0
  404. data/vendor/rubyexts/lib/rubyexts/array.rb +20 -0
  405. data/vendor/rubyexts/lib/rubyexts/attribute.rb +151 -0
  406. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
  407. data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
  408. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
  409. data/vendor/rubyexts/lib/rubyexts/enumerable.rb +30 -0
  410. data/vendor/rubyexts/lib/rubyexts/file.rb +84 -0
  411. data/vendor/rubyexts/lib/rubyexts/hash.rb +180 -0
  412. data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
  413. data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
  414. data/vendor/rubyexts/lib/rubyexts/object.rb +56 -0
  415. data/vendor/rubyexts/lib/rubyexts/object_space.rb +16 -0
  416. data/vendor/rubyexts/lib/rubyexts/os.rb +89 -0
  417. data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
  418. data/vendor/rubyexts/lib/rubyexts/random.rb +25 -0
  419. data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
  420. data/vendor/rubyexts/lib/rubyexts/time.rb +15 -0
  421. data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +62 -0
  422. data/vendor/rubyexts/lib/rubyexts/try_dup.rb +43 -0
  423. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
  424. data/vendor/rubyexts/rubyexts.gemspec +36 -0
  425. data/vendor/rubyexts/script/spec +12 -0
  426. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
  427. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
  428. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
  429. data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
  430. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
  431. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
  432. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
  433. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
  434. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
  435. data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
  436. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
  437. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
  438. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
  439. data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
  440. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
  441. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
  442. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
  443. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
  444. data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
  445. data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
  446. data/vendor/rubyexts/spec/spec.opts +5 -0
  447. data/vendor/rubyexts/spec/spec_helper.rb +16 -0
  448. metadata +510 -0
@@ -0,0 +1,10 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ class TestCaseWithErrors < Test::Unit::TestCase
7
+ def test_with_error
8
+ raise "error raised in TestCaseWithErrors"
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ class TestCaseThatPasses < Test::Unit::TestCase
7
+ def test_should_allow_underscore
8
+ assert true
9
+ end
10
+
11
+ def testShouldAllowUppercaseLetter
12
+ assert true
13
+ end
14
+
15
+ def testshouldallowlowercaseletter
16
+ assert true
17
+ end
18
+
19
+ define_method :"test: should allow punctuation" do
20
+ assert true
21
+ end
22
+ end
@@ -0,0 +1,38 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ module Test
7
+ module Unit
8
+ describe TestSuiteAdapter do
9
+ def create_adapter(group)
10
+ TestSuiteAdapter.new(group)
11
+ end
12
+
13
+ describe "#size" do
14
+ it "should return the number of examples in the example group" do
15
+ group = Class.new(Spec::ExampleGroup) do
16
+ describe("some examples")
17
+ it("bar") {}
18
+ it("baz") {}
19
+ end
20
+ adapter = create_adapter(group)
21
+ adapter.size.should == 2
22
+ end
23
+ end
24
+
25
+ describe "#delete" do
26
+ it "should do nothing" do
27
+ group = Class.new(Spec::ExampleGroup) do
28
+ describe("Some Examples")
29
+ it("does something") {}
30
+ end
31
+ adapter = create_adapter(group)
32
+ adapter.delete(adapter.examples.first)
33
+ adapter.should be_empty
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "ExampleGroup with test/unit/interop" do
4
+ include TestUnitSpecHelper
5
+
6
+ describe "with passing examples" do
7
+ it "should output 0 failures" do
8
+ output = ruby("#{resources}/spec_that_passes.rb")
9
+ output.should include("1 example, 0 failures")
10
+ end
11
+
12
+ it "should return an exit code of 0" do
13
+ ruby("#{resources}/spec_that_passes.rb")
14
+ $?.should == 0
15
+ end
16
+ end
17
+
18
+ describe "with failing examples" do
19
+ it "should output 1 failure" do
20
+ output = ruby("#{resources}/spec_that_fails.rb")
21
+ output.should include("1 example, 1 failure")
22
+ end
23
+
24
+ it "should return an exit code of 256" do
25
+ ruby("#{resources}/spec_that_fails.rb")
26
+ $?.should == 256
27
+ end
28
+ end
29
+
30
+ describe "with example that raises an error" do
31
+ it "should output 1 failure" do
32
+ output = ruby("#{resources}/spec_with_errors.rb")
33
+ output.should include("1 example, 1 failure")
34
+ end
35
+
36
+ it "should return an exit code of 256" do
37
+ ruby("#{resources}/spec_with_errors.rb")
38
+ $?.should == 256
39
+ end
40
+ end
41
+
42
+ describe "options hash" do
43
+ it "should be exposed" do
44
+ output = ruby("#{resources}/spec_with_options_hash.rb")
45
+ output.should include("1 example, 0 failures")
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'ruby_forker'
3
+
4
+ module TestUnitSpecHelper
5
+ include RubyForker
6
+
7
+ def resources
8
+ File.dirname(__FILE__) + "/resources"
9
+ end
10
+
11
+ def run_script(file_name)
12
+ output = ruby(file_name)
13
+ if !$?.success? || output.include?("FAILED") || output.include?("Error")
14
+ raise output
15
+ end
16
+ output
17
+ end
18
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "Test::Unit::TestCase" do
4
+ include TestUnitSpecHelper
5
+
6
+ before(:each) do
7
+ @dir = File.dirname(__FILE__) + "/resources"
8
+ end
9
+
10
+ describe "with passing test case" do
11
+ it "should output 0 failures" do
12
+ output = ruby("#{@dir}/test_case_that_passes.rb")
13
+ output.should include("1 example, 0 failures")
14
+ end
15
+
16
+ it "should return an exit code of 0" do
17
+ ruby("#{@dir}/test_case_that_passes.rb")
18
+ $?.should == 0
19
+ end
20
+ end
21
+
22
+ describe "with failing test case" do
23
+ it "should output 1 failure" do
24
+ output = ruby("#{@dir}/test_case_that_fails.rb")
25
+ output.should include("1 example, 1 failure")
26
+ end
27
+
28
+ it "should return an exit code of 256" do
29
+ ruby("#{@dir}/test_case_that_fails.rb")
30
+ $?.should == 256
31
+ end
32
+ end
33
+
34
+ describe "with test case that raises an error" do
35
+ it "should output 1 failure" do
36
+ output = ruby("#{@dir}/test_case_with_errors.rb")
37
+ output.should include("1 example, 1 failure")
38
+ end
39
+
40
+ it "should return an exit code of 256" do
41
+ ruby("#{@dir}/test_case_with_errors.rb")
42
+ $?.should == 256
43
+ end
44
+ end
45
+
46
+ it "should find all Test::Unit test methods" do
47
+ output = ruby("#{@dir}/test_case_with_various_names.rb")
48
+ output.should include("4 examples, 0 failures")
49
+ end
50
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "TestSuiteAdapter" do
4
+ include TestUnitSpecHelper
5
+ it "should pass" do
6
+ dir = File.dirname(__FILE__)
7
+ run_script "#{dir}/resources/testsuite_adapter_spec_with_test_unit.rb"
8
+ end
9
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+ module Spec
3
+ module Matchers
4
+ describe "[actual.should] be_close(expected, delta)" do
5
+ it "matches when actual == expected" do
6
+ be_close(5.0, 0.5).matches?(5.0).should be_true
7
+ end
8
+ it "matches when actual < (expected + delta)" do
9
+ be_close(5.0, 0.5).matches?(5.49).should be_true
10
+ end
11
+ it "matches when actual > (expected - delta)" do
12
+ be_close(5.0, 0.5).matches?(4.51).should be_true
13
+ end
14
+ it "does not match when actual == (expected - delta)" do
15
+ be_close(5.0, 0.5).matches?(4.5).should be_false
16
+ end
17
+ it "does not match when actual < (expected - delta)" do
18
+ be_close(5.0, 0.5).matches?(4.49).should be_false
19
+ end
20
+ it "does not match when actual == (expected + delta)" do
21
+ be_close(5.0, 0.5).matches?(5.5).should be_false
22
+ end
23
+ it "does not match when actual > (expected + delta)" do
24
+ be_close(5.0, 0.5).matches?(5.51).should be_false
25
+ end
26
+ it "provides a failure message for should" do
27
+ #given
28
+ matcher = be_close(5.0, 0.5)
29
+ #when
30
+ matcher.matches?(5.51)
31
+ #then
32
+ matcher.failure_message_for_should.should == "expected 5.0 +/- (< 0.5), got 5.51"
33
+ end
34
+
35
+ it "provides a failure message for should tno" do
36
+ #given
37
+ matcher = be_close(5.0, 0.5)
38
+ #when
39
+ matcher.matches?(5.49)
40
+ #then
41
+ matcher.failure_message_for_should_not.should == "expected 5.0 +/- (< 0.5), got 5.49"
42
+ end
43
+ it "provides a description" do
44
+ matcher = be_close(5.0, 0.5)
45
+ matcher.matches?(5.1)
46
+ matcher.description.should == "be close to 5.0 (within +- 0.5)"
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ module Spec
4
+ module Matchers
5
+ [:be_an_instance_of, :be_instance_of].each do |method|
6
+ describe "actual.should #{method}(expected)" do
7
+ it "passes if actual is instance of expected class" do
8
+ 5.should send(method, Fixnum)
9
+ end
10
+
11
+ it "fails if actual is instance of subclass of expected class" do
12
+ lambda { 5.should send(method, Numeric) }.should fail_with(%Q{expected 5 to be an instance of Numeric})
13
+ end
14
+
15
+ it "fails with failure message for should unless actual is instance of expected class" do
16
+ lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be an instance of Array})
17
+ end
18
+
19
+ it "provides a description" do
20
+ matcher = be_an_instance_of(Fixnum)
21
+ matcher.matches?(Numeric)
22
+ matcher.description.should == "be an instance of Fixnum"
23
+ end
24
+ end
25
+
26
+ describe "actual.should_not #{method}(expected)" do
27
+
28
+ it "fails with failure message for should_not if actual is instance of expected class" do
29
+ lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be an instance of String})
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ module Spec
4
+ module Matchers
5
+ [:be_a_kind_of, :be_kind_of].each do |method|
6
+ describe "actual.should #{method}(expected)" do
7
+ it "passes if actual is instance of expected class" do
8
+ 5.should send(method, Fixnum)
9
+ end
10
+
11
+ it "passes if actual is instance of subclass of expected class" do
12
+ 5.should send(method, Numeric)
13
+ end
14
+
15
+ it "fails with failure message for should unless actual is kind of expected class" do
16
+ lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be a kind of Array})
17
+ end
18
+
19
+ it "provides a description" do
20
+ matcher = be_a_kind_of(String)
21
+ matcher.matches?("this")
22
+ matcher.description.should == "be a kind of String"
23
+ end
24
+ end
25
+
26
+ describe "actual.should_not #{method}(expected)" do
27
+ it "fails with failure message for should_not if actual is kind of expected class" do
28
+ lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be a kind of String})
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,419 @@
1
+ require 'spec_helper'
2
+
3
+ describe "should be_predicate" do
4
+ it "should pass when actual returns true for :predicate?" do
5
+ actual = stub("actual", :happy? => true)
6
+ actual.should be_happy
7
+ end
8
+
9
+ it "should pass when actual returns true for :predicates? (present tense)" do
10
+ actual = stub("actual", :exists? => true, :exist? => true)
11
+ actual.should be_exist
12
+ end
13
+
14
+ it "should fail when actual returns false for :predicate?" do
15
+ actual = stub("actual", :happy? => false)
16
+ lambda {
17
+ actual.should be_happy
18
+ }.should fail_with("expected happy? to return true, got false")
19
+ end
20
+
21
+ it "should fail when actual returns false for :predicate?" do
22
+ actual = stub("actual", :happy? => nil)
23
+ lambda {
24
+ actual.should be_happy
25
+ }.should fail_with("expected happy? to return true, got nil")
26
+ end
27
+
28
+ it "should fail when actual does not respond to :predicate?" do
29
+ lambda {
30
+ Object.new.should be_happy
31
+ }.should raise_error(NameError, /happy\?/)
32
+ end
33
+
34
+ it "should fail on error other than NameError" do
35
+ actual = stub("actual")
36
+ actual.should_receive(:foo?).and_raise("aaaah")
37
+ lambda {
38
+ actual.should be_foo
39
+ }.should raise_error(/aaaah/)
40
+ end
41
+
42
+ it "should fail on error other than NameError (with the present tense predicate)" do
43
+ actual = Object.new
44
+ actual.should_receive(:foos?).and_raise("aaaah")
45
+ lambda {
46
+ actual.should be_foo
47
+ }.should raise_error(/aaaah/)
48
+ end
49
+ end
50
+
51
+ describe "should_not be_predicate" do
52
+ it "should pass when actual returns false for :sym?" do
53
+ actual = stub("actual", :happy? => false)
54
+ actual.should_not be_happy
55
+ end
56
+
57
+ it "should pass when actual returns nil for :sym?" do
58
+ actual = stub("actual", :happy? => nil)
59
+ actual.should_not be_happy
60
+ end
61
+
62
+ it "should fail when actual returns true for :sym?" do
63
+ actual = stub("actual", :happy? => true)
64
+ lambda {
65
+ actual.should_not be_happy
66
+ }.should fail_with("expected happy? to return false, got true")
67
+ end
68
+
69
+ it "should fail when actual does not respond to :sym?" do
70
+ lambda {
71
+ Object.new.should_not be_happy
72
+ }.should raise_error(NameError)
73
+ end
74
+ end
75
+
76
+ describe "should be_predicate(*args)" do
77
+ it "should pass when actual returns true for :predicate?(*args)" do
78
+ actual = mock("actual")
79
+ actual.should_receive(:older_than?).with(3).and_return(true)
80
+ actual.should be_older_than(3)
81
+ end
82
+
83
+ it "should fail when actual returns false for :predicate?(*args)" do
84
+ actual = mock("actual")
85
+ actual.should_receive(:older_than?).with(3).and_return(false)
86
+ lambda {
87
+ actual.should be_older_than(3)
88
+ }.should fail_with("expected older_than?(3) to return true, got false")
89
+ end
90
+
91
+ it "should fail when actual does not respond to :predicate?" do
92
+ lambda {
93
+ Object.new.should be_older_than(3)
94
+ }.should raise_error(NameError)
95
+ end
96
+ end
97
+
98
+ describe "should_not be_predicate(*args)" do
99
+ it "should pass when actual returns false for :predicate?(*args)" do
100
+ actual = mock("actual")
101
+ actual.should_receive(:older_than?).with(3).and_return(false)
102
+ actual.should_not be_older_than(3)
103
+ end
104
+
105
+ it "should fail when actual returns true for :predicate?(*args)" do
106
+ actual = mock("actual")
107
+ actual.should_receive(:older_than?).with(3).and_return(true)
108
+ lambda {
109
+ actual.should_not be_older_than(3)
110
+ }.should fail_with("expected older_than?(3) to return false, got true")
111
+ end
112
+
113
+ it "should fail when actual does not respond to :predicate?" do
114
+ lambda {
115
+ Object.new.should_not be_older_than(3)
116
+ }.should raise_error(NameError)
117
+ end
118
+ end
119
+
120
+ describe "should be_predicate(&block)" do
121
+ it "should pass when actual returns true for :predicate?(&block)" do
122
+ actual = mock("actual")
123
+ delegate = mock("delegate")
124
+ actual.should_receive(:happy?).and_yield
125
+ delegate.should_receive(:check_happy).and_return(true)
126
+ actual.should be_happy { delegate.check_happy }
127
+ end
128
+
129
+ it "should fail when actual returns false for :predicate?(&block)" do
130
+ actual = mock("actual")
131
+ delegate = mock("delegate")
132
+ actual.should_receive(:happy?).and_yield
133
+ delegate.should_receive(:check_happy).and_return(false)
134
+ lambda {
135
+ actual.should be_happy { delegate.check_happy }
136
+ }.should fail_with("expected happy? to return true, got false")
137
+ end
138
+
139
+ it "should fail when actual does not respond to :predicate?" do
140
+ delegate = mock("delegate", :check_happy => true)
141
+ lambda {
142
+ Object.new.should be_happy { delegate.check_happy }
143
+ }.should raise_error(NameError)
144
+ end
145
+ end
146
+
147
+ describe "should_not be_predicate(&block)" do
148
+ it "should pass when actual returns false for :predicate?(&block)" do
149
+ actual = mock("actual")
150
+ delegate = mock("delegate")
151
+ actual.should_receive(:happy?).and_yield
152
+ delegate.should_receive(:check_happy).and_return(false)
153
+ actual.should_not be_happy { delegate.check_happy }
154
+ end
155
+
156
+ it "should fail when actual returns true for :predicate?(&block)" do
157
+ actual = mock("actual")
158
+ delegate = mock("delegate")
159
+ actual.should_receive(:happy?).and_yield
160
+ delegate.should_receive(:check_happy).and_return(true)
161
+ lambda {
162
+ actual.should_not be_happy { delegate.check_happy }
163
+ }.should fail_with("expected happy? to return false, got true")
164
+ end
165
+
166
+ it "should fail when actual does not respond to :predicate?" do
167
+ delegate = mock("delegate", :check_happy => true)
168
+ lambda {
169
+ Object.new.should_not be_happy { delegate.check_happy }
170
+ }.should raise_error(NameError)
171
+ end
172
+ end
173
+
174
+ describe "should be_predicate(*args, &block)" do
175
+ it "should pass when actual returns true for :predicate?(*args, &block)" do
176
+ actual = mock("actual")
177
+ delegate = mock("delegate")
178
+ actual.should_receive(:older_than?).with(3).and_yield(3)
179
+ delegate.should_receive(:check_older_than).with(3).and_return(true)
180
+ actual.should be_older_than(3) { |age| delegate.check_older_than(age) }
181
+ end
182
+
183
+ it "should fail when actual returns false for :predicate?(*args, &block)" do
184
+ actual = mock("actual")
185
+ delegate = mock("delegate")
186
+ actual.should_receive(:older_than?).with(3).and_yield(3)
187
+ delegate.should_receive(:check_older_than).with(3).and_return(false)
188
+ lambda {
189
+ actual.should be_older_than(3) { |age| delegate.check_older_than(age) }
190
+ }.should fail_with("expected older_than?(3) to return true, got false")
191
+ end
192
+
193
+ it "should fail when actual does not respond to :predicate?" do
194
+ delegate = mock("delegate", :check_older_than => true)
195
+ lambda {
196
+ Object.new.should be_older_than(3) { |age| delegate.check_older_than(age) }
197
+ }.should raise_error(NameError)
198
+ end
199
+ end
200
+
201
+ describe "should_not be_predicate(*args, &block)" do
202
+ it "should pass when actual returns false for :predicate?(*args, &block)" do
203
+ actual = mock("actual")
204
+ delegate = mock("delegate")
205
+ actual.should_receive(:older_than?).with(3).and_yield(3)
206
+ delegate.should_receive(:check_older_than).with(3).and_return(false)
207
+ actual.should_not be_older_than(3) { |age| delegate.check_older_than(age) }
208
+ end
209
+
210
+ it "should fail when actual returns true for :predicate?(*args, &block)" do
211
+ actual = mock("actual")
212
+ delegate = mock("delegate")
213
+ actual.should_receive(:older_than?).with(3).and_yield(3)
214
+ delegate.should_receive(:check_older_than).with(3).and_return(true)
215
+ lambda {
216
+ actual.should_not be_older_than(3) { |age| delegate.check_older_than(age) }
217
+ }.should fail_with("expected older_than?(3) to return false, got true")
218
+ end
219
+
220
+ it "should fail when actual does not respond to :predicate?" do
221
+ delegate = mock("delegate", :check_older_than => true)
222
+ lambda {
223
+ Object.new.should_not be_older_than(3) { |age| delegate.check_older_than(age) }
224
+ }.should raise_error(NameError)
225
+ end
226
+ end
227
+
228
+ describe "should be_true" do
229
+ it "should pass when actual equal(true)" do
230
+ true.should be_true
231
+ end
232
+
233
+ it "should fail when actual equal(false)" do
234
+ lambda {
235
+ false.should be_true
236
+ }.should fail_with("expected true, got false")
237
+ end
238
+ end
239
+
240
+ describe "should be_false" do
241
+ it "should pass when actual equal(false)" do
242
+ false.should be_false
243
+ end
244
+
245
+ it "should fail when actual equal(true)" do
246
+ lambda {
247
+ true.should be_false
248
+ }.should fail_with("expected false, got true")
249
+ end
250
+ end
251
+
252
+ describe "should be_nil" do
253
+ it "should pass when actual is nil" do
254
+ nil.should be_nil
255
+ end
256
+
257
+ it "should fail when actual is not nil" do
258
+ lambda {
259
+ :not_nil.should be_nil
260
+ }.should fail_with("expected nil, got :not_nil")
261
+ end
262
+ end
263
+
264
+ describe "should_not be_nil" do
265
+ it "should pass when actual is not nil" do
266
+ :not_nil.should_not be_nil
267
+ end
268
+
269
+ it "should fail when actual is nil" do
270
+ lambda {
271
+ nil.should_not be_nil
272
+ }.should fail_with("expected not nil, got nil")
273
+ end
274
+ end
275
+
276
+ describe "should be <" do
277
+ it "should pass when < operator returns true" do
278
+ 3.should be < 4
279
+ end
280
+
281
+ it "should fail when < operator returns false" do
282
+ lambda { 3.should be < 3 }.should fail_with("expected < 3, got 3")
283
+ end
284
+ end
285
+
286
+ describe "should be <=" do
287
+ it "should pass when <= operator returns true" do
288
+ 3.should be <= 4
289
+ 4.should be <= 4
290
+ end
291
+
292
+ it "should fail when <= operator returns false" do
293
+ lambda { 3.should be <= 2 }.should fail_with("expected <= 2, got 3")
294
+ end
295
+ end
296
+
297
+ describe "should be >=" do
298
+ it "should pass when >= operator returns true" do
299
+ 4.should be >= 4
300
+ 5.should be >= 4
301
+ end
302
+
303
+ it "should fail when >= operator returns false" do
304
+ lambda { 3.should be >= 4 }.should fail_with("expected >= 4, got 3")
305
+ end
306
+ end
307
+
308
+ describe "should be >" do
309
+ it "should pass when > operator returns true" do
310
+ 5.should be > 4
311
+ end
312
+
313
+ it "should fail when > operator returns false" do
314
+ lambda { 3.should be > 4 }.should fail_with("expected > 4, got 3")
315
+ end
316
+ end
317
+
318
+ describe "should be ==" do
319
+ it "should pass when == operator returns true" do
320
+ 5.should be == 5
321
+ end
322
+
323
+ it "should fail when == operator returns false" do
324
+ lambda { 3.should be == 4 }.should fail_with("expected == 4, got 3")
325
+ end
326
+ end
327
+
328
+ describe "should be ===" do
329
+ it "should pass when === operator returns true" do
330
+ Hash.should be === Hash.new
331
+ end
332
+
333
+ it "should fail when === operator returns false" do
334
+ lambda { Hash.should be === "not a hash" }.should fail_with(%[expected === not a hash, got Hash])
335
+ end
336
+ end
337
+
338
+ describe "should_not with operators" do
339
+ it "should coach user to stop using operators with should_not" do
340
+ lambda {
341
+ 5.should_not be < 6
342
+ }.should raise_error(/not only FAILED,\nit is a bit confusing./m)
343
+ end
344
+ end
345
+
346
+ describe "should be" do
347
+ it "should pass if actual is true or a set value" do
348
+ true.should be
349
+ 1.should be
350
+ end
351
+
352
+ it "should fail if actual is false" do
353
+ lambda {false.should be}.should fail_with("expected true, got false")
354
+ end
355
+
356
+ it "should fail if actual is nil" do
357
+ lambda {nil.should be}.should fail_with("expected true, got nil")
358
+ end
359
+ end
360
+
361
+ describe "should be(value)" do
362
+ it "should pass if actual.equal?(value)" do
363
+ 5.should be(5)
364
+ end
365
+ it "should fail if !actual.equal?(value)" do
366
+ lambda { 5.should be(6) }.should fail_with("expected 6, got 5")
367
+ end
368
+ end
369
+
370
+ describe "'should be' with operator" do
371
+ it "should include 'be' in the description" do
372
+ (be > 6).description.should =~ /be > 6/
373
+ (be >= 6).description.should =~ /be >= 6/
374
+ (be <= 6).description.should =~ /be <= 6/
375
+ (be < 6).description.should =~ /be < 6/
376
+ end
377
+ end
378
+
379
+
380
+ describe "arbitrary predicate with DelegateClass" do
381
+ it "should access methods defined in the delegating class (LH[#48])" do
382
+ require 'delegate'
383
+ class ArrayDelegate < DelegateClass(Array)
384
+ def initialize(array)
385
+ @internal_array = array
386
+ super(@internal_array)
387
+ end
388
+
389
+ def large?
390
+ @internal_array.size >= 5
391
+ end
392
+ end
393
+
394
+ delegate = ArrayDelegate.new([1,2,3,4,5,6])
395
+ delegate.should be_large
396
+ end
397
+ end
398
+
399
+ describe "be_a, be_an" do
400
+ it "should pass when class matches" do
401
+ "foobar".should be_a(String)
402
+ [1,2,3].should be_an(Array)
403
+ end
404
+
405
+ it "should fail when class does not match" do
406
+ "foobar".should_not be_a(Hash)
407
+ [1,2,3].should_not be_an(Integer)
408
+ end
409
+ end
410
+
411
+ describe "be_an_instance_of" do
412
+ it "passes when direct class matches" do
413
+ 5.should be_an_instance_of(Fixnum)
414
+ end
415
+
416
+ it "fails when class is higher up hierarchy" do
417
+ 5.should_not be_an_instance_of(Numeric)
418
+ end
419
+ end