pupu 0.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 (567) hide show
  1. data/CHANGELOG +1 -0
  2. data/LICENSE +20 -0
  3. data/README.textile +160 -0
  4. data/Rakefile +61 -0
  5. data/TODO.txt +21 -0
  6. data/bin/pupu +73 -0
  7. data/deps.rip +6 -0
  8. data/examples/blog/Rakefile +4 -0
  9. data/examples/blog/Thorfile +9 -0
  10. data/examples/blog/bin/pupu +4 -0
  11. data/examples/blog/config.ru +22 -0
  12. data/examples/blog/config/pupu.rb +4 -0
  13. data/examples/blog/init.rb +18 -0
  14. data/examples/blog/media/javascripts/initializers/lighter.js +16 -0
  15. data/examples/blog/media/pupu/autocompleter/CHANGELOG +1 -0
  16. data/examples/blog/media/pupu/autocompleter/LICENSE +20 -0
  17. data/examples/blog/media/pupu/autocompleter/README.textile +26 -0
  18. data/examples/blog/media/pupu/autocompleter/Rakefile +29 -0
  19. data/examples/blog/media/pupu/autocompleter/TODO +1 -0
  20. data/examples/blog/media/pupu/autocompleter/config.rb +12 -0
  21. data/examples/blog/media/pupu/autocompleter/images/spinner.gif +0 -0
  22. data/examples/blog/media/pupu/autocompleter/javascripts/autocompleter.js +442 -0
  23. data/examples/blog/media/pupu/autocompleter/javascripts/autocompleter.local.js +31 -0
  24. data/examples/blog/media/pupu/autocompleter/javascripts/autocompleter.request.js +109 -0
  25. data/examples/blog/media/pupu/autocompleter/javascripts/initializers/autocompleter.js +26 -0
  26. data/examples/blog/media/pupu/autocompleter/javascripts/observer.js +69 -0
  27. data/examples/blog/media/pupu/autocompleter/metadata.yml +5 -0
  28. data/examples/blog/media/pupu/autocompleter/stylesheets/autocompleter.css +68 -0
  29. data/examples/blog/media/pupu/blueprint/CHANGELOG +1 -0
  30. data/examples/blog/media/pupu/blueprint/LICENSE +20 -0
  31. data/examples/blog/media/pupu/blueprint/README.textile +22 -0
  32. data/examples/blog/media/pupu/blueprint/Rakefile +29 -0
  33. data/examples/blog/media/pupu/blueprint/TODO +3 -0
  34. data/examples/blog/media/pupu/blueprint/config.rb +18 -0
  35. data/examples/blog/media/pupu/blueprint/metadata.yml +5 -0
  36. data/examples/blog/media/pupu/blueprint/stylesheets/ie.css +26 -0
  37. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/buttons/icons/cross.png +0 -0
  38. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/buttons/icons/key.png +0 -0
  39. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/buttons/icons/tick.png +0 -0
  40. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/buttons/readme.txt +32 -0
  41. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/buttons/screen.css +97 -0
  42. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/fancy-type/readme.txt +14 -0
  43. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/fancy-type/screen.css +71 -0
  44. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/doc.png +0 -0
  45. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/email.png +0 -0
  46. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/external.png +0 -0
  47. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/feed.png +0 -0
  48. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/im.png +0 -0
  49. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/pdf.png +0 -0
  50. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/visited.png +0 -0
  51. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/icons/xls.png +0 -0
  52. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/readme.txt +18 -0
  53. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/link-icons/screen.css +40 -0
  54. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/rtl/readme.txt +10 -0
  55. data/examples/blog/media/pupu/blueprint/stylesheets/plugins/rtl/screen.css +109 -0
  56. data/examples/blog/media/pupu/blueprint/stylesheets/print.css +30 -0
  57. data/examples/blog/media/pupu/blueprint/stylesheets/screen.css +251 -0
  58. data/examples/blog/media/pupu/blueprint/stylesheets/src/forms.css +49 -0
  59. data/examples/blog/media/pupu/blueprint/stylesheets/src/grid.css +212 -0
  60. data/examples/blog/media/pupu/blueprint/stylesheets/src/grid.png +0 -0
  61. data/examples/blog/media/pupu/blueprint/stylesheets/src/ie.css +59 -0
  62. data/examples/blog/media/pupu/blueprint/stylesheets/src/print.css +85 -0
  63. data/examples/blog/media/pupu/blueprint/stylesheets/src/reset.css +38 -0
  64. data/examples/blog/media/pupu/blueprint/stylesheets/src/typography.css +105 -0
  65. data/examples/blog/media/pupu/flash/CHANGELOG +1 -0
  66. data/examples/blog/media/pupu/flash/LICENSE +20 -0
  67. data/examples/blog/media/pupu/flash/README.textile +22 -0
  68. data/examples/blog/media/pupu/flash/Rakefile +37 -0
  69. data/examples/blog/media/pupu/flash/TODO +1 -0
  70. data/examples/blog/media/pupu/flash/config.rb +11 -0
  71. data/examples/blog/media/pupu/flash/javascripts/flash.js +63 -0
  72. data/examples/blog/media/pupu/flash/javascripts/initializers/flash.js +12 -0
  73. data/examples/blog/media/pupu/flash/metadata.yml +5 -0
  74. data/examples/blog/media/pupu/flash/stylesheets/initializers/flash.css +21 -0
  75. data/examples/blog/media/pupu/lighter/CHANGELOG +2 -0
  76. data/examples/blog/media/pupu/lighter/LICENSE +20 -0
  77. data/examples/blog/media/pupu/lighter/README.textile +19 -0
  78. data/examples/blog/media/pupu/lighter/TODO.txt +4 -0
  79. data/examples/blog/media/pupu/lighter/config.rb +20 -0
  80. data/examples/blog/media/pupu/lighter/initializers/lighter.js +11 -0
  81. data/examples/blog/media/pupu/lighter/javascripts/Fuel.css.js +1 -0
  82. data/examples/blog/media/pupu/lighter/javascripts/Fuel.html.js +1 -0
  83. data/examples/blog/media/pupu/lighter/javascripts/Fuel.js.js +1 -0
  84. data/examples/blog/media/pupu/lighter/javascripts/Fuel.md.js +1 -0
  85. data/examples/blog/media/pupu/lighter/javascripts/Fuel.php.js +1 -0
  86. data/examples/blog/media/pupu/lighter/javascripts/Fuel.ruby.js +1 -0
  87. data/examples/blog/media/pupu/lighter/javascripts/Fuel.shell.js +1 -0
  88. data/examples/blog/media/pupu/lighter/javascripts/Fuel.sql.js +1 -0
  89. data/examples/blog/media/pupu/lighter/javascripts/Fuel.template.js +45 -0
  90. data/examples/blog/media/pupu/lighter/javascripts/ZeroClipboard.js +1 -0
  91. data/examples/blog/media/pupu/lighter/javascripts/lighter.js +1 -0
  92. data/examples/blog/media/pupu/lighter/media/ZeroClipboard.swf +0 -0
  93. data/examples/blog/media/pupu/lighter/metadata.yml +5 -0
  94. data/examples/blog/media/pupu/lighter/stylesheets/Flame.git.css +1 -0
  95. data/examples/blog/media/pupu/lighter/stylesheets/Flame.mocha.css +1 -0
  96. data/examples/blog/media/pupu/lighter/stylesheets/Flame.panic.css +1 -0
  97. data/examples/blog/media/pupu/lighter/stylesheets/Flame.standard.css +1 -0
  98. data/examples/blog/media/pupu/lighter/stylesheets/Flame.template.css +101 -0
  99. data/examples/blog/media/pupu/lighter/stylesheets/Flame.tutti.css +1 -0
  100. data/examples/blog/media/pupu/lighter/stylesheets/Flame.twilight.css +1 -0
  101. data/examples/blog/media/pupu/mootools/CHANGELOG +2 -0
  102. data/examples/blog/media/pupu/mootools/LICENSE +20 -0
  103. data/examples/blog/media/pupu/mootools/README.textile +19 -0
  104. data/examples/blog/media/pupu/mootools/Rakefile +29 -0
  105. data/examples/blog/media/pupu/mootools/TODO +1 -0
  106. data/examples/blog/media/pupu/mootools/config.rb +8 -0
  107. data/examples/blog/media/pupu/mootools/javascripts/mootools-1.2-core.js +350 -0
  108. data/examples/blog/media/pupu/mootools/javascripts/mootools-1.2-more.js +154 -0
  109. data/examples/blog/media/pupu/mootools/metadata.yml +5 -0
  110. data/examples/blog/templates/base.html.haml +10 -0
  111. data/examples/blog/templates/examples/arguments.html.haml +7 -0
  112. data/examples/blog/templates/examples/base.html.haml +15 -0
  113. data/examples/blog/templates/examples/dependencies.html.haml +5 -0
  114. data/examples/blog/templates/examples/simple.html.haml +5 -0
  115. data/examples/blog/templates/index.html.haml +11 -0
  116. data/lib/pupu.rb +7 -0
  117. data/lib/pupu/adapters/merb.rb +14 -0
  118. data/lib/pupu/adapters/rails.rb +0 -0
  119. data/lib/pupu/adapters/rango.rb +11 -0
  120. data/lib/pupu/cli.rb +161 -0
  121. data/lib/pupu/dsl.rb +95 -0
  122. data/lib/pupu/exceptions.rb +21 -0
  123. data/lib/pupu/github.rb +121 -0
  124. data/lib/pupu/helpers.rb +13 -0
  125. data/lib/pupu/metadata.rb +15 -0
  126. data/lib/pupu/parser.rb +47 -0
  127. data/lib/pupu/pupu.rb +142 -0
  128. data/lib/pupu/tasks/pupu.rake +42 -0
  129. data/lib/pupu/tasks/pupu.thor +48 -0
  130. data/pupu.gemspec +44 -0
  131. data/script/spec +12 -0
  132. data/simple-templater.scope +6 -0
  133. data/spec/data/public/pupu/autocompleter/CHANGELOG +1 -0
  134. data/spec/data/public/pupu/autocompleter/LICENSE +20 -0
  135. data/spec/data/public/pupu/autocompleter/README.textile +26 -0
  136. data/spec/data/public/pupu/autocompleter/Rakefile +29 -0
  137. data/spec/data/public/pupu/autocompleter/TODO +1 -0
  138. data/spec/data/public/pupu/autocompleter/config.rb +12 -0
  139. data/spec/data/public/pupu/autocompleter/images/spinner.gif +0 -0
  140. data/spec/data/public/pupu/autocompleter/initializers/autocompleter.js +26 -0
  141. data/spec/data/public/pupu/autocompleter/javascripts/autocompleter.js +442 -0
  142. data/spec/data/public/pupu/autocompleter/javascripts/autocompleter.local.js +31 -0
  143. data/spec/data/public/pupu/autocompleter/javascripts/autocompleter.request.js +109 -0
  144. data/spec/data/public/pupu/autocompleter/javascripts/observer.js +69 -0
  145. data/spec/data/public/pupu/autocompleter/stylesheets/autocompleter.css +68 -0
  146. data/spec/pupu/adapters/merb_spec.rb +0 -0
  147. data/spec/pupu/adapters/rango_spec.rb +0 -0
  148. data/spec/pupu/cli_spec.rb +21 -0
  149. data/spec/pupu/dsl_spec.rb +62 -0
  150. data/spec/pupu/exceptions_spec.rb +14 -0
  151. data/spec/pupu/github_spec.rb +19 -0
  152. data/spec/pupu/helpers_spec.rb +18 -0
  153. data/spec/pupu/metadata_spec.rb +21 -0
  154. data/spec/pupu/parser_spec.rb +19 -0
  155. data/spec/pupu/pupu_spec.rb +125 -0
  156. data/spec/spec.opts +5 -0
  157. data/spec/spec_helper.rb +10 -0
  158. data/stubs/pupu/content/CHANGELOG +2 -0
  159. data/stubs/pupu/content/LICENSE.rbt +20 -0
  160. data/stubs/pupu/content/README.textile.rbt +19 -0
  161. data/stubs/pupu/content/TODO.txt +4 -0
  162. data/stubs/pupu/content/config.rb.rbt +20 -0
  163. data/stubs/pupu/content/initializers/%name%.css +0 -0
  164. data/stubs/pupu/content/initializers/%name%.js +3 -0
  165. data/stubs/pupu/content/javascripts/%javascript%.js +0 -0
  166. data/stubs/pupu/content/stylesheets/%stylesheet%.css +0 -0
  167. data/stubs/pupu/metadata.yml +3 -0
  168. data/stubs/pupu/postprocess.rb +11 -0
  169. data/stubs/pupu/setup.rb +25 -0
  170. data/url.rb +20 -0
  171. data/url_spec.rb +35 -0
  172. data/vendor/media-path/CHANGELOG +3 -0
  173. data/vendor/media-path/LICENSE +20 -0
  174. data/vendor/media-path/README.textile +40 -0
  175. data/vendor/media-path/Rakefile +61 -0
  176. data/vendor/media-path/TODO.txt +6 -0
  177. data/vendor/media-path/deps.rip +5 -0
  178. data/vendor/media-path/lib/media-path.rb +269 -0
  179. data/vendor/media-path/media-path.gemspec +38 -0
  180. data/vendor/media-path/script/spec +14 -0
  181. data/vendor/media-path/spec/media-path_spec.rb +158 -0
  182. data/vendor/media-path/spec/spec.opts +5 -0
  183. data/vendor/media-path/spec/stubs/blog/public/js/moo.js +0 -0
  184. data/vendor/rspec/History.rdoc +1510 -0
  185. data/vendor/rspec/License.txt +22 -0
  186. data/vendor/rspec/Manifest.txt +383 -0
  187. data/vendor/rspec/README.rdoc +55 -0
  188. data/vendor/rspec/Rakefile +145 -0
  189. data/vendor/rspec/Ruby1.9.rdoc +31 -0
  190. data/vendor/rspec/TODO.txt +17 -0
  191. data/vendor/rspec/Upgrade.rdoc +199 -0
  192. data/vendor/rspec/bin/autospec +4 -0
  193. data/vendor/rspec/bin/spec +5 -0
  194. data/vendor/rspec/cucumber.yml +5 -0
  195. data/vendor/rspec/examples/failing/README.txt +11 -0
  196. data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
  197. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  198. data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
  199. data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
  200. data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
  201. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
  202. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
  203. data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
  204. data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
  205. data/vendor/rspec/examples/failing/pending_example.rb +7 -0
  206. data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
  207. data/vendor/rspec/examples/failing/raising_example.rb +47 -0
  208. data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
  209. data/vendor/rspec/examples/failing/team_spec.rb +41 -0
  210. data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
  211. data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
  212. data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
  213. data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
  214. data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
  215. data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
  216. data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
  217. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
  218. data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
  219. data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
  220. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
  221. data/vendor/rspec/examples/passing/io_processor.rb +8 -0
  222. data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
  223. data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
  224. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  225. data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
  226. data/vendor/rspec/examples/passing/options_example.rb +29 -0
  227. data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
  228. data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
  229. data/vendor/rspec/examples/passing/pending_example.rb +18 -0
  230. data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
  231. data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
  232. data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
  233. data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
  234. data/vendor/rspec/examples/passing/stack.rb +36 -0
  235. data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
  236. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  237. data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
  238. data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
  239. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  240. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  241. data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
  242. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  243. data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
  244. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  245. data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
  246. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  247. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  248. data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
  249. data/vendor/rspec/features/expectations/customized_message.feature +54 -0
  250. data/vendor/rspec/features/expectations/expect_change.feature +65 -0
  251. data/vendor/rspec/features/expectations/expect_error.feature +44 -0
  252. data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
  253. data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
  254. data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
  255. data/vendor/rspec/features/interop/rspec_output.feature +25 -0
  256. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  257. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  258. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  259. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  260. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  261. data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
  262. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  263. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  264. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  265. data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
  266. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  267. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  268. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  269. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  270. data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
  271. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  272. data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
  273. data/vendor/rspec/features/pending/pending_examples.feature +81 -0
  274. data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
  275. data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
  276. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  277. data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
  278. data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
  279. data/vendor/rspec/features/support/env.rb +82 -0
  280. data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
  281. data/vendor/rspec/geminstaller.yml +28 -0
  282. data/vendor/rspec/init.rb +9 -0
  283. data/vendor/rspec/lib/autotest/discover.rb +3 -0
  284. data/vendor/rspec/lib/autotest/rspec.rb +54 -0
  285. data/vendor/rspec/lib/spec.rb +8 -0
  286. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  287. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  288. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  289. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  290. data/vendor/rspec/lib/spec/autorun.rb +3 -0
  291. data/vendor/rspec/lib/spec/deprecation.rb +40 -0
  292. data/vendor/rspec/lib/spec/dsl.rb +1 -0
  293. data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
  294. data/vendor/rspec/lib/spec/example.rb +164 -0
  295. data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
  296. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  297. data/vendor/rspec/lib/spec/example/errors.rb +25 -0
  298. data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
  299. data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
  300. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  301. data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
  302. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  303. data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
  304. data/vendor/rspec/lib/spec/example/example_methods.rb +148 -0
  305. data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
  306. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  307. data/vendor/rspec/lib/spec/example/pending.rb +18 -0
  308. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  309. data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
  310. data/vendor/rspec/lib/spec/example/subject.rb +108 -0
  311. data/vendor/rspec/lib/spec/expectations.rb +35 -0
  312. data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
  313. data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
  314. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  315. data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
  316. data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
  317. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
  318. data/vendor/rspec/lib/spec/interop/test.rb +44 -0
  319. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  320. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  321. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  322. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  323. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  324. data/vendor/rspec/lib/spec/matchers.rb +195 -0
  325. data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
  326. data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
  327. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  328. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  329. data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
  330. data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
  331. data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
  332. data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
  333. data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
  334. data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
  335. data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
  336. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  337. data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
  338. data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
  339. data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
  340. data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
  341. data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
  342. data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
  343. data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
  344. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  345. data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
  346. data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
  347. data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
  348. data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
  349. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  350. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  351. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  352. data/vendor/rspec/lib/spec/mocks.rb +200 -0
  353. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  354. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  355. data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
  356. data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
  357. data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
  358. data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
  359. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  360. data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
  361. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
  362. data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
  363. data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
  364. data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
  365. data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
  366. data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
  367. data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
  368. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  369. data/vendor/rspec/lib/spec/ruby.rb +9 -0
  370. data/vendor/rspec/lib/spec/runner.rb +66 -0
  371. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  372. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  373. data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
  374. data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
  375. data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
  376. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  377. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +26 -0
  378. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +59 -0
  379. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  380. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  381. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  382. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  383. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  384. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  385. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  386. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  387. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  388. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  389. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  390. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  391. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  392. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  393. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  394. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  395. data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
  396. data/vendor/rspec/lib/spec/runner/option_parser.rb +223 -0
  397. data/vendor/rspec/lib/spec/runner/options.rb +400 -0
  398. data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
  399. data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
  400. data/vendor/rspec/lib/spec/test/unit.rb +10 -0
  401. data/vendor/rspec/lib/spec/version.rb +14 -0
  402. data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
  403. data/vendor/rspec/resources/rake/examples.rake +7 -0
  404. data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
  405. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  406. data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
  407. data/vendor/rspec/spec/README.jruby +15 -0
  408. data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
  409. data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
  410. data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
  411. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  412. data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
  413. data/vendor/rspec/spec/ruby_forker.rb +13 -0
  414. data/vendor/rspec/spec/spec.opts +6 -0
  415. data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
  416. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  417. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  418. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
  419. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  420. data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
  421. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  422. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  423. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  424. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  425. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  426. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  427. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  428. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  429. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  430. data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
  431. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  432. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  433. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  434. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  435. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  436. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  437. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  438. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  439. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  440. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  441. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  442. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  443. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  444. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  445. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  446. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  447. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  448. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  449. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  450. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  451. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  452. data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
  453. data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
  454. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  455. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  456. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  457. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  458. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  459. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  460. data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
  461. data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
  462. data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
  463. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  464. data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
  465. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  466. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
  467. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  468. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  469. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  470. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  471. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  472. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  473. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  474. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
  475. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  476. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  477. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  478. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  479. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  480. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  481. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  482. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  483. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  484. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  485. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  486. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  487. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  488. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  489. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  490. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  491. data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
  492. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  493. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  494. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  495. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  496. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  497. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  498. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  499. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  500. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  501. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  502. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  503. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  504. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  505. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  506. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  507. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  508. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  509. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  510. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  511. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  512. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  513. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  514. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  515. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  516. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  517. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +141 -0
  518. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  519. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
  520. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  521. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  522. data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
  523. data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
  524. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  525. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  526. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  527. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  528. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  529. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  530. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  531. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  532. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  533. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  534. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  535. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  536. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  537. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  538. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  539. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  540. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  541. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  542. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  543. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  544. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  545. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  546. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  547. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  548. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
  549. data/vendor/rspec/spec/spec/runner/options_spec.rb +547 -0
  550. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  551. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  552. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  553. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
  554. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  555. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  556. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  557. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  558. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  559. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  560. data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
  561. data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
  562. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  563. data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
  564. data/vendor/rspec/spec/spec_helper.rb +112 -0
  565. data/vendor/rspec/spec/support/macros.rb +29 -0
  566. data/vendor/rspec/spec/support/spec_classes.rb +133 -0
  567. metadata +639 -0
@@ -0,0 +1,547 @@
1
+ require 'spec_helper'
2
+ require 'spec/runner/resources/custom_example_group_runner'
3
+
4
+ module Spec
5
+ module Runner
6
+ describe Options do
7
+ before(:each) do
8
+ @err = StringIO.new('')
9
+ @out = StringIO.new('')
10
+ @options = Options.new(@err, @out)
11
+
12
+ before_suite_parts = []
13
+ after_suite_parts = []
14
+ @options.stub!(:before_suite_parts).and_return(before_suite_parts)
15
+ @options.stub!(:after_suite_parts).and_return(after_suite_parts)
16
+ end
17
+
18
+ after(:each) do
19
+ Spec::Expectations.differ = nil
20
+ end
21
+
22
+ describe "#require_ruby_debug" do
23
+ it "should require ruby-debug" do
24
+ @options.stub!(:require)
25
+ @options.should_receive(:require).with("ruby-debug")
26
+ @options.require_ruby_debug
27
+ end
28
+ end
29
+
30
+ describe "#examples" do
31
+ it "should default to empty array" do
32
+ @options.examples.should == []
33
+ end
34
+ end
35
+
36
+ describe "#include_pattern" do
37
+ it "should default to '**/*_spec.rb'" do
38
+ @options.filename_pattern.should == "**/*_spec.rb"
39
+ end
40
+ end
41
+
42
+ describe "#files_to_load" do
43
+
44
+ it "should load files not following pattern if named explicitly" do
45
+ file = File.expand_path(File.dirname(__FILE__) + "/resources/a_bar.rb")
46
+ @options.files << file
47
+ @options.files_to_load.should include(file)
48
+ end
49
+
50
+ describe "with default --pattern" do
51
+ it "should load files named _spec.rb" do
52
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources/")
53
+ @options.files << dir
54
+ @options.files_to_load.should == ["#{dir}/a_spec.rb"]
55
+ end
56
+ end
57
+
58
+ describe "with explicit pattern (single)" do
59
+ before(:each) do
60
+ @options.filename_pattern = "**/*_foo.rb"
61
+ end
62
+
63
+ it "should load files following pattern" do
64
+ file = File.expand_path(File.dirname(__FILE__) + "/resources/a_foo.rb")
65
+ @options.files << file
66
+ @options.files_to_load.should include(file)
67
+ end
68
+
69
+ it "should load files in directories following pattern" do
70
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
71
+ @options.files << dir
72
+ @options.files_to_load.should include("#{dir}/a_foo.rb")
73
+ end
74
+
75
+ it "should not load files in directories not following pattern" do
76
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
77
+ @options.files << dir
78
+ @options.files_to_load.should_not include("#{dir}/a_bar.rb")
79
+ end
80
+ end
81
+
82
+ describe "with explicit pattern (comma,separated,values)" do
83
+
84
+ before(:each) do
85
+ @options.filename_pattern = "**/*_foo.rb,**/*_bar.rb"
86
+ end
87
+
88
+ it "should support comma separated values" do
89
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
90
+ @options.files << dir
91
+ @options.files_to_load.should include("#{dir}/a_foo.rb")
92
+ @options.files_to_load.should include("#{dir}/a_bar.rb")
93
+ end
94
+
95
+ it "should support comma separated values with spaces" do
96
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
97
+ @options.files << dir
98
+ @options.files_to_load.should include("#{dir}/a_foo.rb")
99
+ @options.files_to_load.should include("#{dir}/a_bar.rb")
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+
106
+ describe "#backtrace_tweaker" do
107
+ it "should default to QuietBacktraceTweaker" do
108
+ @options.backtrace_tweaker.class.should == QuietBacktraceTweaker
109
+ end
110
+
111
+ it "adds custom ignored backtrace patterns" do
112
+ Spec::Runner.configuration.stub!(:ignored_backtrace_patterns).and_return([/custom_pattern/])
113
+ @options.run_examples
114
+ @options.backtrace_tweaker.ignored_patterns.should include(/custom_pattern/)
115
+ end
116
+ end
117
+
118
+ describe "#dry_run" do
119
+ it "should default to false" do
120
+ @options.dry_run.should == false
121
+ end
122
+ end
123
+
124
+ describe "#debug" do
125
+ it "should default to false" do
126
+ @options.debug.should == false
127
+ end
128
+ end
129
+
130
+ describe "#context_lines" do
131
+ it "should default to 3" do
132
+ @options.context_lines.should == 3
133
+ end
134
+ end
135
+
136
+ describe "#parse_diff with nil" do
137
+ before(:each) do
138
+ @options.parse_diff nil
139
+ end
140
+
141
+ it "should make diff_format unified" do
142
+ @options.diff_format.should == :unified
143
+ end
144
+
145
+ it "should set Spec::Expectations.differ to be a default differ" do
146
+ Spec::Expectations.differ.class.should ==
147
+ ::Spec::Expectations::Differs::Default
148
+ end
149
+ end
150
+
151
+ describe "#parse_diff with 'unified'" do
152
+ before(:each) do
153
+ @options.parse_diff 'unified'
154
+ end
155
+
156
+ it "should make diff_format unified and uses default differ_class" do
157
+ @options.diff_format.should == :unified
158
+ @options.differ_class.should equal(Spec::Expectations::Differs::Default)
159
+ end
160
+
161
+ it "should set Spec::Expectations.differ to be a default differ" do
162
+ Spec::Expectations.differ.class.should ==
163
+ ::Spec::Expectations::Differs::Default
164
+ end
165
+ end
166
+
167
+ describe "#parse_diff with 'context'" do
168
+ before(:each) do
169
+ @options.parse_diff 'context'
170
+ end
171
+
172
+ it "should make diff_format context and uses default differ_class" do
173
+ @options.diff_format.should == :context
174
+ @options.differ_class.should == Spec::Expectations::Differs::Default
175
+ end
176
+
177
+ it "should set Spec::Expectations.differ to be a default differ" do
178
+ Spec::Expectations.differ.class.should ==
179
+ ::Spec::Expectations::Differs::Default
180
+ end
181
+ end
182
+
183
+ describe "#parse_diff with Custom::Differ" do
184
+ before(:each) do
185
+ @options.parse_diff 'Custom::Differ'
186
+ end
187
+
188
+ it "should use custom differ_class" do
189
+ @options.diff_format.should == :custom
190
+ @options.differ_class.should == Custom::Differ
191
+ Spec::Expectations.differ.should be_instance_of(Custom::Differ)
192
+ end
193
+
194
+ it "should set Spec::Expectations.differ to be a default differ" do
195
+ Spec::Expectations.differ.class.should ==
196
+ ::Custom::Differ
197
+ end
198
+ end
199
+
200
+ describe "#parse_diff with missing class name" do
201
+ it "should raise error" do
202
+ lambda { @options.parse_diff "Custom::MissingDiffer" }.should raise_error(NameError)
203
+ @err.string.should match(/Couldn't find differ class Custom::MissingDiffer/n)
204
+ end
205
+ end
206
+
207
+ describe "#parse_example" do
208
+ it "with argument thats not a file path, sets argument as the example" do
209
+ example = "something or other"
210
+ File.file?(example).should == false
211
+ @options.parse_example example
212
+ @options.examples.should eql(["something or other"])
213
+ end
214
+
215
+ it "with argument that is a file path, sets examples to contents of the file" do
216
+ example = "#{File.dirname(__FILE__)}/examples.txt"
217
+ File.should_receive(:file?).with(example).and_return(true)
218
+ file = StringIO.new("Sir, if you were my husband, I would poison your drink.\nMadam, if you were my wife, I would drink it.")
219
+ File.should_receive(:open).with(example).and_return(file)
220
+
221
+ @options.parse_example example
222
+ @options.examples.should eql([
223
+ "Sir, if you were my husband, I would poison your drink.",
224
+ "Madam, if you were my wife, I would drink it."
225
+ ])
226
+ end
227
+ end
228
+
229
+ describe "#examples_should_not_be_run" do
230
+ it "should cause #run_examples to return true and do nothing" do
231
+ @options.examples_should_not_be_run
232
+ ExampleGroupRunner.should_not_receive(:new)
233
+
234
+ @options.run_examples.should be_true
235
+ end
236
+ end
237
+
238
+ describe "debug option specified" do
239
+ it "should cause ruby_debug to be required and do nothing" do
240
+ @options.debug = true
241
+ @options.should_receive(:require_ruby_debug)
242
+ @options.run_examples.should be_true
243
+ end
244
+ end
245
+
246
+ describe "debug option not specified" do
247
+ it "should not cause ruby_debug to be required" do
248
+ @options.debug = false
249
+ @options.should_not_receive(:require_ruby_debug)
250
+ @options.run_examples.should be_true
251
+ end
252
+ end
253
+
254
+ describe "#load_class" do
255
+ it "should raise error when not class name" do
256
+ lambda do
257
+ @options.__send__(:load_class, 'foo', 'fruit', '--food')
258
+ end.should raise_error('"foo" is not a valid class name')
259
+ end
260
+ end
261
+
262
+ describe "#reporter" do
263
+ it "returns a Reporter" do
264
+ @options.reporter.should be_instance_of(Reporter)
265
+ @options.reporter.options.should === @options
266
+ end
267
+ end
268
+
269
+ describe "#number_of_examples" do
270
+ context "when --example is parsed" do
271
+ it "provides the number of examples parsed instead of the total number of examples collected" do
272
+ @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do
273
+ it "uses this example_group 1" do; end
274
+ it "uses this example_group 2" do; end
275
+ it "uses this example_group 3" do; end
276
+ end
277
+ @options.add_example_group @example_group
278
+ @options.parse_example("an example")
279
+ @options.number_of_examples.should == 1
280
+ end
281
+ end
282
+ end
283
+
284
+ describe "#add_example_group affecting passed in example_group" do
285
+ it "runs all examples when options.examples is empty" do
286
+ example_1_has_run = false
287
+ example_2_has_run = false
288
+ @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do
289
+ it "runs 1" do
290
+ example_1_has_run = true
291
+ end
292
+ it "runs 2" do
293
+ example_2_has_run = true
294
+ end
295
+ end
296
+
297
+ @options.examples.clear
298
+
299
+ @options.add_example_group @example_group
300
+ @options.run_examples
301
+ example_1_has_run.should be_true
302
+ example_2_has_run.should be_true
303
+ end
304
+
305
+ it "keeps all example_definitions when options.examples is empty" do
306
+ example_1_has_run = false
307
+ example_2_has_run = false
308
+ @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do
309
+ it "runs 1" do
310
+ example_1_has_run = true
311
+ end
312
+ it "runs 2" do
313
+ example_2_has_run = true
314
+ end
315
+ end
316
+
317
+ @options.add_example_group @example_group
318
+ @options.run_examples
319
+ example_1_has_run.should be_true
320
+ example_2_has_run.should be_true
321
+ end
322
+ end
323
+
324
+ describe "#add_example_group affecting example_group" do
325
+ it "adds example_group when example_group has example_definitions and is not shared" do
326
+ @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do
327
+ it "uses this example_group" do
328
+ end
329
+ end
330
+
331
+ @options.number_of_examples.should == 0
332
+ @options.add_example_group @example_group
333
+ @options.number_of_examples.should == 1
334
+ @options.example_groups.length.should == 1
335
+ end
336
+ end
337
+
338
+ describe "#remove_example_group" do
339
+ it "should remove the ExampleGroup from the list of ExampleGroups" do
340
+ @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do
341
+ end
342
+ @options.add_example_group @example_group
343
+ @options.example_groups.should include(@example_group)
344
+
345
+ @options.remove_example_group @example_group
346
+ @options.example_groups.should_not include(@example_group)
347
+ end
348
+ end
349
+
350
+ describe "#run_examples" do
351
+ describe "with global predicate matchers" do
352
+ it "defines global predicate matcher methods on ExampleMethods" do
353
+ Spec::Runner.configuration.stub!(:predicate_matchers).and_return({:this => :that?})
354
+ group = Class.new(::Spec::Example::ExampleGroupDouble).describe("Some Examples")
355
+ example = group.new(::Spec::Example::ExampleProxy.new)
356
+
357
+ @options.run_examples
358
+ example.this
359
+ end
360
+
361
+ after(:each) do
362
+ Spec::Example::ExampleMethods.class_eval "undef :this"
363
+ end
364
+ end
365
+
366
+ describe "with a mock framework defined as a Symbol" do
367
+ it "includes Spec::Adapters::MockFramework" do
368
+ Spec::Runner.configuration.stub!(:mock_framework).and_return('spec/adapters/mock_frameworks/rspec')
369
+
370
+ Spec::Example::ExampleMethods.should_receive(:include).with(Spec::Adapters::MockFramework)
371
+
372
+ @options.run_examples
373
+ end
374
+ end
375
+
376
+ describe "with a mock framework defined as a Module" do
377
+ it "includes the module in ExampleMethods" do
378
+ mod = Module.new
379
+ Spec::Runner.configuration.stub!(:mock_framework).and_return(mod)
380
+ Spec::Example::ExampleMethods.should_receive(:include).with(mod)
381
+ @options.run_examples
382
+ end
383
+ end
384
+
385
+ describe "when not given a custom runner" do
386
+ it "should use the standard" do
387
+ runner = ::Spec::Runner::ExampleGroupRunner.new(@options)
388
+ ::Spec::Runner::ExampleGroupRunner.should_receive(:new).
389
+ with(@options).
390
+ and_return(runner)
391
+ @options.user_input_for_runner = nil
392
+
393
+ @options.run_examples
394
+ end
395
+ end
396
+
397
+ describe "when given a custom runner" do
398
+ it "should use the custom runner" do
399
+ runner = Custom::ExampleGroupRunner.new(@options, nil)
400
+ Custom::ExampleGroupRunner.should_receive(:new).
401
+ with(@options, nil).
402
+ and_return(runner)
403
+ @options.user_input_for_runner = "Custom::ExampleGroupRunner"
404
+
405
+ @options.run_examples
406
+ end
407
+
408
+ it "should use the custom runner with extra options" do
409
+ runner = Custom::ExampleGroupRunner.new(@options, 'something')
410
+ Custom::ExampleGroupRunner.should_receive(:new).
411
+ with(@options, 'something').
412
+ and_return(runner)
413
+ @options.user_input_for_runner = "Custom::ExampleGroupRunner:something"
414
+
415
+ @options.run_examples
416
+ end
417
+ end
418
+
419
+ describe "when there are examples" do
420
+ before(:each) do
421
+ @example_group = Class.new(::Spec::Example::ExampleGroup)
422
+ @options.add_example_group @example_group
423
+ @options.formatters << Formatter::BaseTextFormatter.new(@options, @out)
424
+ end
425
+
426
+ it "runs the Examples and outputs the result" do
427
+ @options.run_examples
428
+ @out.string.should include("0 examples, 0 failures")
429
+ end
430
+
431
+ it "sets #examples_run? to true" do
432
+ @options.examples_run?.should be_false
433
+ @options.run_examples
434
+ @options.examples_run?.should be_true
435
+ end
436
+
437
+ describe "and the suite passes" do
438
+ before do
439
+ @example_group.should_receive(:run).and_return(true)
440
+ end
441
+
442
+ it "invokes after_suite_parts with true" do
443
+ success_result = nil
444
+ @options.after_suite_parts << lambda do |success|
445
+ success_result = success
446
+ end
447
+
448
+ @options.run_examples
449
+ success_result.should be_true
450
+ end
451
+ end
452
+
453
+ describe "and the suite fails" do
454
+ before(:each) do
455
+ @example_group.should_receive(:run).and_return(false)
456
+ end
457
+
458
+ it "invokes after_suite_parts with false" do
459
+ success_result = nil
460
+ @options.after_suite_parts << lambda do |success|
461
+ success_result = success
462
+ end
463
+
464
+ @options.run_examples
465
+ success_result.should be_false
466
+ end
467
+ end
468
+
469
+ describe "when using heckle runner" do
470
+ before(:each) do
471
+ @heckle_runner_mock = mock("HeckleRunner")
472
+ @options.heckle_runner = @heckle_runner_mock
473
+ end
474
+
475
+ it "should heckle" do
476
+ @heckle_runner_mock.should_receive(:heckle_with)
477
+ @options.run_examples
478
+ end
479
+
480
+ it "shouldn't heckle recursively" do
481
+ heckled = false
482
+ @heckle_runner_mock.should_receive(:heckle_with) {
483
+ heckled.should == false
484
+ heckled = true
485
+ @options.run_examples
486
+ }
487
+ @options.run_examples
488
+ end
489
+
490
+ it "shouldn't load spec files twice" do
491
+ example_runner = mock("ExampleGroupRunner")
492
+ example_runner_inside_heckle = mock("ExampleGroupRunner inside Heckle")
493
+
494
+ ExampleGroupRunner.should_receive(:new).twice.and_return(
495
+ example_runner, example_runner_inside_heckle
496
+ )
497
+
498
+ example_runner.stub!(:run)
499
+ example_runner.should_receive(:load_files)
500
+ @heckle_runner_mock.stub!(:heckle_with).and_return { @options.run_examples }
501
+ example_runner_inside_heckle.stub!(:run)
502
+ example_runner_inside_heckle.should_not_receive(:load_files)
503
+
504
+ @options.run_examples
505
+ end
506
+ end
507
+ end
508
+
509
+ describe "when there are no examples" do
510
+ before(:each) do
511
+ @options.formatters << Formatter::BaseTextFormatter.new(@options, @out)
512
+ end
513
+
514
+ it "does not run Examples and does not output a result" do
515
+ @options.run_examples
516
+ @out.string.should_not include("examples")
517
+ @out.string.should_not include("failures")
518
+ end
519
+
520
+ it "sets #examples_run? to false" do
521
+ @options.examples_run?.should be_false
522
+ @options.run_examples
523
+ @options.examples_run?.should be_false
524
+ end
525
+
526
+ it "invokes after_suite_parts with true" do
527
+ success_result = nil
528
+ @options.after_suite_parts << lambda do |success|
529
+ success_result = success
530
+ end
531
+
532
+ @options.run_examples
533
+ success_result.should be_true
534
+ end
535
+ end
536
+ end
537
+
538
+ describe "#add_dir_from_project_root_to_load_path" do
539
+ it "handles nil gracefully" do
540
+ load_path = double().as_null_object
541
+ @options.stub(:project_root).and_return(nil)
542
+ @options.add_dir_from_project_root_to_load_path(nil,load_path)
543
+ end
544
+ end
545
+ end
546
+ end
547
+ end