dxruby_rp5 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 (554) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +88 -0
  7. data/Rakefile +12 -0
  8. data/bin/dxrp5 +11 -0
  9. data/dxruby_rp5.gemspec +25 -0
  10. data/lib/dxruby.rb +4 -0
  11. data/lib/dxruby_rp5/font.rb +36 -0
  12. data/lib/dxruby_rp5/image.rb +146 -0
  13. data/lib/dxruby_rp5/input.rb +319 -0
  14. data/lib/dxruby_rp5/render_target.rb +109 -0
  15. data/lib/dxruby_rp5/runner.rb +17 -0
  16. data/lib/dxruby_rp5/runners/base.rb +89 -0
  17. data/lib/dxruby_rp5/runners/run.rb +5 -0
  18. data/lib/dxruby_rp5/sound.rb +13 -0
  19. data/lib/dxruby_rp5/sound_effect.rb +20 -0
  20. data/lib/dxruby_rp5/sprite.rb +188 -0
  21. data/lib/dxruby_rp5/version.rb +4 -0
  22. data/lib/dxruby_rp5/window.rb +148 -0
  23. data/lib/dxruby_rp5.rb +246 -0
  24. data/spec/fixtures/image.jpg +0 -0
  25. data/spec/fixtures/image.png +0 -0
  26. data/spec/fixtures/sound.wav +0 -0
  27. data/spec/fixtures/test_sketch.rb +2 -0
  28. data/spec/lib/dxruby_rp5/font_spec.rb +17 -0
  29. data/spec/lib/dxruby_rp5/image_spec.rb +194 -0
  30. data/spec/lib/dxruby_rp5/input_spec.rb +407 -0
  31. data/spec/lib/dxruby_rp5/render_taret_spec.rb +105 -0
  32. data/spec/lib/dxruby_rp5/sound_effect_spec.rb +42 -0
  33. data/spec/lib/dxruby_rp5/sound_spec.rb +50 -0
  34. data/spec/lib/dxruby_rp5/sprite_spec.rb +566 -0
  35. data/spec/lib/dxruby_rp5/window_spec.rb +36 -0
  36. data/spec/lib/dxruby_rp5_spec.rb +8 -0
  37. data/spec/runner.rb +14 -0
  38. data/spec/spec.rb +15 -0
  39. data/spec/spec_helper.rb +43 -0
  40. data/spec/support/fixture_helper.rb +8 -0
  41. data/spec/vendor/diff-lcs-1.2.5/.autotest +3 -0
  42. data/spec/vendor/diff-lcs-1.2.5/.gemtest +0 -0
  43. data/spec/vendor/diff-lcs-1.2.5/.hoerc +2 -0
  44. data/spec/vendor/diff-lcs-1.2.5/.rspec +2 -0
  45. data/spec/vendor/diff-lcs-1.2.5/.travis.yml +22 -0
  46. data/spec/vendor/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  47. data/spec/vendor/diff-lcs-1.2.5/Gemfile +20 -0
  48. data/spec/vendor/diff-lcs-1.2.5/History.rdoc +152 -0
  49. data/spec/vendor/diff-lcs-1.2.5/License.rdoc +39 -0
  50. data/spec/vendor/diff-lcs-1.2.5/Manifest.txt +38 -0
  51. data/spec/vendor/diff-lcs-1.2.5/README.rdoc +85 -0
  52. data/spec/vendor/diff-lcs-1.2.5/Rakefile +41 -0
  53. data/spec/vendor/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  54. data/spec/vendor/diff-lcs-1.2.5/bin/htmldiff +32 -0
  55. data/spec/vendor/diff-lcs-1.2.5/bin/ldiff +6 -0
  56. data/spec/vendor/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  57. data/spec/vendor/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  58. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  59. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  60. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  61. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  62. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  63. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  64. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  65. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  66. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  67. data/spec/vendor/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  68. data/spec/vendor/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  69. data/spec/vendor/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
  70. data/spec/vendor/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
  71. data/spec/vendor/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
  72. data/spec/vendor/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
  73. data/spec/vendor/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
  74. data/spec/vendor/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
  75. data/spec/vendor/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
  76. data/spec/vendor/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
  77. data/spec/vendor/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
  78. data/spec/vendor/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
  79. data/spec/vendor/rspec-2.14.1/License.txt +24 -0
  80. data/spec/vendor/rspec-2.14.1/README.md +47 -0
  81. data/spec/vendor/rspec-2.14.1/lib/rspec/version.rb +5 -0
  82. data/spec/vendor/rspec-2.14.1/lib/rspec.rb +3 -0
  83. data/spec/vendor/rspec-core-2.14.7/.document +5 -0
  84. data/spec/vendor/rspec-core-2.14.7/.yardopts +6 -0
  85. data/spec/vendor/rspec-core-2.14.7/Changelog.md +904 -0
  86. data/spec/vendor/rspec-core-2.14.7/License.txt +24 -0
  87. data/spec/vendor/rspec-core-2.14.7/README.md +261 -0
  88. data/spec/vendor/rspec-core-2.14.7/exe/autospec +13 -0
  89. data/spec/vendor/rspec-core-2.14.7/exe/rspec +25 -0
  90. data/spec/vendor/rspec-core-2.14.7/features/Autotest.md +38 -0
  91. data/spec/vendor/rspec-core-2.14.7/features/README.md +17 -0
  92. data/spec/vendor/rspec-core-2.14.7/features/Upgrade.md +364 -0
  93. data/spec/vendor/rspec-core-2.14.7/features/command_line/README.md +28 -0
  94. data/spec/vendor/rspec-core-2.14.7/features/command_line/example_name_option.feature +97 -0
  95. data/spec/vendor/rspec-core-2.14.7/features/command_line/exit_status.feature +82 -0
  96. data/spec/vendor/rspec-core-2.14.7/features/command_line/format_option.feature +75 -0
  97. data/spec/vendor/rspec-core-2.14.7/features/command_line/init.feature +18 -0
  98. data/spec/vendor/rspec-core-2.14.7/features/command_line/line_number_appended_to_path.feature +140 -0
  99. data/spec/vendor/rspec-core-2.14.7/features/command_line/line_number_option.feature +58 -0
  100. data/spec/vendor/rspec-core-2.14.7/features/command_line/order.feature +29 -0
  101. data/spec/vendor/rspec-core-2.14.7/features/command_line/pattern_option.feature +49 -0
  102. data/spec/vendor/rspec-core-2.14.7/features/command_line/rake_task.feature +122 -0
  103. data/spec/vendor/rspec-core-2.14.7/features/command_line/require_option.feature +43 -0
  104. data/spec/vendor/rspec-core-2.14.7/features/command_line/ruby.feature +22 -0
  105. data/spec/vendor/rspec-core-2.14.7/features/command_line/tag.feature +98 -0
  106. data/spec/vendor/rspec-core-2.14.7/features/command_line/warnings_option.feature +29 -0
  107. data/spec/vendor/rspec-core-2.14.7/features/configuration/alias_example_to.feature +48 -0
  108. data/spec/vendor/rspec-core-2.14.7/features/configuration/backtrace_clean_patterns.feature +102 -0
  109. data/spec/vendor/rspec-core-2.14.7/features/configuration/custom_settings.feature +84 -0
  110. data/spec/vendor/rspec-core-2.14.7/features/configuration/default_path.feature +38 -0
  111. data/spec/vendor/rspec-core-2.14.7/features/configuration/deprecation_stream.feature +58 -0
  112. data/spec/vendor/rspec-core-2.14.7/features/configuration/fail_fast.feature +77 -0
  113. data/spec/vendor/rspec-core-2.14.7/features/configuration/failure_exit_code.feature +36 -0
  114. data/spec/vendor/rspec-core-2.14.7/features/configuration/order_and_seed.feature +3 -0
  115. data/spec/vendor/rspec-core-2.14.7/features/configuration/output_stream.feature +24 -0
  116. data/spec/vendor/rspec-core-2.14.7/features/configuration/pattern.feature +38 -0
  117. data/spec/vendor/rspec-core-2.14.7/features/configuration/profile.feature +220 -0
  118. data/spec/vendor/rspec-core-2.14.7/features/configuration/read_options_from_file.feature +90 -0
  119. data/spec/vendor/rspec-core-2.14.7/features/configuration/run_all_when_everything_filtered.feature +76 -0
  120. data/spec/vendor/rspec-core-2.14.7/features/configuration/show_failures_in_pending_blocks.feature +61 -0
  121. data/spec/vendor/rspec-core-2.14.7/features/configuration/treat_symbols_as_metadata_keys_with_true_values.feature +52 -0
  122. data/spec/vendor/rspec-core-2.14.7/features/example_groups/basic_structure.feature +55 -0
  123. data/spec/vendor/rspec-core-2.14.7/features/example_groups/shared_context.feature +74 -0
  124. data/spec/vendor/rspec-core-2.14.7/features/example_groups/shared_examples.feature +294 -0
  125. data/spec/vendor/rspec-core-2.14.7/features/expectation_framework_integration/configure_expectation_framework.feature +102 -0
  126. data/spec/vendor/rspec-core-2.14.7/features/filtering/exclusion_filters.feature +138 -0
  127. data/spec/vendor/rspec-core-2.14.7/features/filtering/if_and_unless.feature +168 -0
  128. data/spec/vendor/rspec-core-2.14.7/features/filtering/inclusion_filters.feature +105 -0
  129. data/spec/vendor/rspec-core-2.14.7/features/formatters/configurable_colors.feature +31 -0
  130. data/spec/vendor/rspec-core-2.14.7/features/formatters/custom_formatter.feature +36 -0
  131. data/spec/vendor/rspec-core-2.14.7/features/formatters/json_formatter.feature +30 -0
  132. data/spec/vendor/rspec-core-2.14.7/features/formatters/text_formatter.feature +46 -0
  133. data/spec/vendor/rspec-core-2.14.7/features/helper_methods/arbitrary_methods.feature +40 -0
  134. data/spec/vendor/rspec-core-2.14.7/features/helper_methods/let.feature +50 -0
  135. data/spec/vendor/rspec-core-2.14.7/features/helper_methods/modules.feature +149 -0
  136. data/spec/vendor/rspec-core-2.14.7/features/hooks/around_hooks.feature +343 -0
  137. data/spec/vendor/rspec-core-2.14.7/features/hooks/before_and_after_hooks.feature +427 -0
  138. data/spec/vendor/rspec-core-2.14.7/features/hooks/filtering.feature +234 -0
  139. data/spec/vendor/rspec-core-2.14.7/features/metadata/current_example.feature +17 -0
  140. data/spec/vendor/rspec-core-2.14.7/features/metadata/described_class.feature +17 -0
  141. data/spec/vendor/rspec-core-2.14.7/features/metadata/user_defined.feature +113 -0
  142. data/spec/vendor/rspec-core-2.14.7/features/mock_framework_integration/use_any_framework.feature +106 -0
  143. data/spec/vendor/rspec-core-2.14.7/features/mock_framework_integration/use_flexmock.feature +96 -0
  144. data/spec/vendor/rspec-core-2.14.7/features/mock_framework_integration/use_mocha.feature +97 -0
  145. data/spec/vendor/rspec-core-2.14.7/features/mock_framework_integration/use_rr.feature +98 -0
  146. data/spec/vendor/rspec-core-2.14.7/features/mock_framework_integration/use_rspec.feature +97 -0
  147. data/spec/vendor/rspec-core-2.14.7/features/pending/pending_examples.feature +229 -0
  148. data/spec/vendor/rspec-core-2.14.7/features/spec_files/arbitrary_file_suffix.feature +13 -0
  149. data/spec/vendor/rspec-core-2.14.7/features/step_definitions/additional_cli_steps.rb +49 -0
  150. data/spec/vendor/rspec-core-2.14.7/features/subject/attribute_of_subject.feature +124 -0
  151. data/spec/vendor/rspec-core-2.14.7/features/subject/explicit_subject.feature +101 -0
  152. data/spec/vendor/rspec-core-2.14.7/features/subject/implicit_receiver.feature +29 -0
  153. data/spec/vendor/rspec-core-2.14.7/features/subject/implicit_subject.feature +63 -0
  154. data/spec/vendor/rspec-core-2.14.7/features/support/env.rb +14 -0
  155. data/spec/vendor/rspec-core-2.14.7/features/support/rubinius.rb +6 -0
  156. data/spec/vendor/rspec-core-2.14.7/lib/autotest/discover.rb +1 -0
  157. data/spec/vendor/rspec-core-2.14.7/lib/autotest/rspec2.rb +73 -0
  158. data/spec/vendor/rspec-core-2.14.7/lib/rspec/autorun.rb +2 -0
  159. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/backtrace_cleaner.rb +46 -0
  160. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/backward_compatibility.rb +55 -0
  161. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/command_line.rb +36 -0
  162. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/configuration.rb +1174 -0
  163. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/configuration_options.rb +156 -0
  164. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/deprecation.rb +31 -0
  165. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/drb_command_line.rb +26 -0
  166. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/drb_options.rb +87 -0
  167. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/dsl.rb +26 -0
  168. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/example.rb +325 -0
  169. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/example_group.rb +479 -0
  170. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/extensions/instance_eval_with_args.rb +44 -0
  171. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/extensions/kernel.rb +9 -0
  172. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/extensions/module_eval_with_args.rb +38 -0
  173. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/extensions/ordered.rb +27 -0
  174. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/filter_manager.rb +203 -0
  175. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/base_formatter.rb +246 -0
  176. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/base_text_formatter.rb +329 -0
  177. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/deprecation_formatter.rb +39 -0
  178. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/documentation_formatter.rb +67 -0
  179. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/helpers.rb +110 -0
  180. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/html_formatter.rb +155 -0
  181. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/html_printer.rb +408 -0
  182. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/json_formatter.rb +70 -0
  183. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/progress_formatter.rb +32 -0
  184. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/snippet_extractor.rb +92 -0
  185. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters/text_mate_formatter.rb +34 -0
  186. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/formatters.rb +55 -0
  187. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/hooks.rb +519 -0
  188. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/memoized_helpers.rb +514 -0
  189. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/metadata.rb +299 -0
  190. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/metadata_hash_builder.rb +97 -0
  191. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
  192. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/mocking/with_flexmock.rb +27 -0
  193. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/mocking/with_mocha.rb +52 -0
  194. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/mocking/with_rr.rb +27 -0
  195. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/mocking/with_rspec.rb +27 -0
  196. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/option_parser.rb +219 -0
  197. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/pending.rb +113 -0
  198. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/project_initializer.rb +86 -0
  199. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/rake_task.rb +206 -0
  200. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/reporter.rb +132 -0
  201. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/ruby_project.rb +44 -0
  202. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/runner.rb +87 -0
  203. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/shared_context.rb +55 -0
  204. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/shared_example_group/collection.rb +43 -0
  205. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/shared_example_group.rb +185 -0
  206. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/version.rb +8 -0
  207. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core/world.rb +127 -0
  208. data/spec/vendor/rspec-core-2.14.7/lib/rspec/core.rb +169 -0
  209. data/spec/vendor/rspec-core-2.14.7/spec/autotest/discover_spec.rb +19 -0
  210. data/spec/vendor/rspec-core-2.14.7/spec/autotest/failed_results_re_spec.rb +45 -0
  211. data/spec/vendor/rspec-core-2.14.7/spec/autotest/rspec_spec.rb +133 -0
  212. data/spec/vendor/rspec-core-2.14.7/spec/command_line/order_spec.rb +204 -0
  213. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/backtrace_cleaner_spec.rb +68 -0
  214. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/command_line_spec.rb +108 -0
  215. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/command_line_spec_output.txt +0 -0
  216. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/configuration_options_spec.rb +417 -0
  217. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/configuration_spec.rb +1561 -0
  218. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/deprecation_spec.rb +46 -0
  219. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/deprecations_spec.rb +73 -0
  220. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/drb_command_line_spec.rb +102 -0
  221. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/drb_options_spec.rb +193 -0
  222. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/dsl_spec.rb +25 -0
  223. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/example_group_spec.rb +1187 -0
  224. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/example_spec.rb +465 -0
  225. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/filter_manager_spec.rb +246 -0
  226. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/base_formatter_spec.rb +108 -0
  227. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/base_text_formatter_spec.rb +494 -0
  228. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/deprecation_formatter_spec.rb +96 -0
  229. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/documentation_formatter_spec.rb +88 -0
  230. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/helpers_spec.rb +104 -0
  231. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +404 -0
  232. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +477 -0
  233. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.8.7.html +414 -0
  234. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.9.2.html +425 -0
  235. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html +404 -0
  236. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +477 -0
  237. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-1.9.3.html +425 -0
  238. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatted-2.0.0.html +425 -0
  239. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/html_formatter_spec.rb +110 -0
  240. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/json_formatter_spec.rb +115 -0
  241. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/progress_formatter_spec.rb +30 -0
  242. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/snippet_extractor_spec.rb +26 -0
  243. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +395 -0
  244. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +477 -0
  245. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +414 -0
  246. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +425 -0
  247. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html +404 -0
  248. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +477 -0
  249. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +425 -0
  250. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatted-2.0.0.html +425 -0
  251. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/formatters/text_mate_formatter_spec.rb +96 -0
  252. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/hooks_filtering_spec.rb +227 -0
  253. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/hooks_spec.rb +267 -0
  254. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/kernel_extensions_spec.rb +9 -0
  255. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/memoized_helpers_spec.rb +688 -0
  256. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/metadata_spec.rb +491 -0
  257. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/option_parser_spec.rb +242 -0
  258. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/pending_example_spec.rb +220 -0
  259. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/project_initializer_spec.rb +130 -0
  260. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/rake_task_spec.rb +181 -0
  261. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/reporter_spec.rb +141 -0
  262. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/a_bar.rb +0 -0
  263. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/a_foo.rb +0 -0
  264. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/a_spec.rb +1 -0
  265. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
  266. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/formatter_specs.rb +60 -0
  267. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/resources/utf8_encoded.rb +8 -0
  268. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/rspec_matchers_spec.rb +45 -0
  269. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/ruby_project_spec.rb +26 -0
  270. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/runner_spec.rb +82 -0
  271. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/shared_context_spec.rb +114 -0
  272. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/shared_example_group/collection_spec.rb +70 -0
  273. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/shared_example_group_spec.rb +120 -0
  274. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core/world_spec.rb +142 -0
  275. data/spec/vendor/rspec-core-2.14.7/spec/rspec/core_spec.rb +74 -0
  276. data/spec/vendor/rspec-core-2.14.7/spec/spec_helper.rb +132 -0
  277. data/spec/vendor/rspec-core-2.14.7/spec/support/config_options_helper.rb +15 -0
  278. data/spec/vendor/rspec-core-2.14.7/spec/support/helper_methods.rb +36 -0
  279. data/spec/vendor/rspec-core-2.14.7/spec/support/in_sub_process.rb +37 -0
  280. data/spec/vendor/rspec-core-2.14.7/spec/support/isolate_load_path_mutation.rb +6 -0
  281. data/spec/vendor/rspec-core-2.14.7/spec/support/isolated_directory.rb +10 -0
  282. data/spec/vendor/rspec-core-2.14.7/spec/support/isolated_home_directory.rb +16 -0
  283. data/spec/vendor/rspec-core-2.14.7/spec/support/matchers.rb +65 -0
  284. data/spec/vendor/rspec-core-2.14.7/spec/support/mathn_integration_support.rb +12 -0
  285. data/spec/vendor/rspec-core-2.14.7/spec/support/sandboxed_mock_space.rb +100 -0
  286. data/spec/vendor/rspec-core-2.14.7/spec/support/shared_example_groups.rb +41 -0
  287. data/spec/vendor/rspec-core-2.14.7/spec/support/spec_files.rb +44 -0
  288. data/spec/vendor/rspec-expectations-2.14.4/.document +5 -0
  289. data/spec/vendor/rspec-expectations-2.14.4/.yardopts +6 -0
  290. data/spec/vendor/rspec-expectations-2.14.4/Changelog.md +419 -0
  291. data/spec/vendor/rspec-expectations-2.14.4/License.txt +23 -0
  292. data/spec/vendor/rspec-expectations-2.14.4/README.md +184 -0
  293. data/spec/vendor/rspec-expectations-2.14.4/features/README.md +48 -0
  294. data/spec/vendor/rspec-expectations-2.14.4/features/Upgrade.md +53 -0
  295. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/README.md +90 -0
  296. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/be.feature +175 -0
  297. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/be_within.feature +48 -0
  298. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/cover.feature +47 -0
  299. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/end_with.feature +48 -0
  300. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/equality.feature +139 -0
  301. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/exist.feature +45 -0
  302. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/expect_change.feature +59 -0
  303. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/expect_error.feature +144 -0
  304. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/have.feature +109 -0
  305. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/include.feature +174 -0
  306. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/match.feature +52 -0
  307. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/operators.feature +227 -0
  308. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/predicates.feature +137 -0
  309. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/respond_to.feature +84 -0
  310. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/satisfy.feature +33 -0
  311. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/start_with.feature +48 -0
  312. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/throw_symbol.feature +91 -0
  313. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/types.feature +116 -0
  314. data/spec/vendor/rspec-expectations-2.14.4/features/built_in_matchers/yield.feature +161 -0
  315. data/spec/vendor/rspec-expectations-2.14.4/features/custom_matchers/access_running_example.feature +53 -0
  316. data/spec/vendor/rspec-expectations-2.14.4/features/custom_matchers/define_diffable_matcher.feature +27 -0
  317. data/spec/vendor/rspec-expectations-2.14.4/features/custom_matchers/define_matcher.feature +368 -0
  318. data/spec/vendor/rspec-expectations-2.14.4/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
  319. data/spec/vendor/rspec-expectations-2.14.4/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
  320. data/spec/vendor/rspec-expectations-2.14.4/features/customized_message.feature +22 -0
  321. data/spec/vendor/rspec-expectations-2.14.4/features/diffing.feature +85 -0
  322. data/spec/vendor/rspec-expectations-2.14.4/features/implicit_docstrings.feature +52 -0
  323. data/spec/vendor/rspec-expectations-2.14.4/features/step_definitions/additional_cli_steps.rb +22 -0
  324. data/spec/vendor/rspec-expectations-2.14.4/features/support/env.rb +14 -0
  325. data/spec/vendor/rspec-expectations-2.14.4/features/support/rubinius.rb +6 -0
  326. data/spec/vendor/rspec-expectations-2.14.4/features/syntax_configuration.feature +71 -0
  327. data/spec/vendor/rspec-expectations-2.14.4/features/test_frameworks/test_unit.feature +44 -0
  328. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/deprecation.rb +31 -0
  329. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/differ.rb +154 -0
  330. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/errors.rb +9 -0
  331. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/expectation_target.rb +87 -0
  332. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/extensions/array.rb +9 -0
  333. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/extensions/object.rb +29 -0
  334. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/extensions.rb +2 -0
  335. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/fail_with.rb +79 -0
  336. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/handler.rb +68 -0
  337. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/syntax.rb +164 -0
  338. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations/version.rb +9 -0
  339. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/expectations.rb +73 -0
  340. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/be_close.rb +9 -0
  341. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/base_matcher.rb +68 -0
  342. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/be.rb +197 -0
  343. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/be_instance_of.rb +15 -0
  344. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/be_kind_of.rb +11 -0
  345. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/be_within.rb +55 -0
  346. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/change.rb +141 -0
  347. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/cover.rb +21 -0
  348. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/eq.rb +22 -0
  349. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/eql.rb +23 -0
  350. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/equal.rb +48 -0
  351. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/exist.rb +26 -0
  352. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/has.rb +48 -0
  353. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/have.rb +124 -0
  354. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/include.rb +61 -0
  355. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/match.rb +17 -0
  356. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/match_array.rb +51 -0
  357. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/raise_error.rb +127 -0
  358. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/respond_to.rb +74 -0
  359. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/satisfy.rb +30 -0
  360. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/start_and_end_with.rb +48 -0
  361. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/throw_symbol.rb +94 -0
  362. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in/yield.rb +296 -0
  363. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/built_in.rb +39 -0
  364. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/compatibility.rb +14 -0
  365. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/configuration.rb +108 -0
  366. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/dsl.rb +24 -0
  367. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/extensions/instance_eval_with_args.rb +39 -0
  368. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/generated_descriptions.rb +35 -0
  369. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/matcher.rb +300 -0
  370. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/method_missing.rb +12 -0
  371. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/operator_matcher.rb +113 -0
  372. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/pretty.rb +70 -0
  373. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers/test_unit_integration.rb +11 -0
  374. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec/matchers.rb +694 -0
  375. data/spec/vendor/rspec-expectations-2.14.4/lib/rspec-expectations.rb +1 -0
  376. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/differ_spec.rb +229 -0
  377. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/expectation_target_spec.rb +82 -0
  378. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/extensions/kernel_spec.rb +67 -0
  379. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/fail_with_spec.rb +114 -0
  380. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/handler_spec.rb +227 -0
  381. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations/syntax_spec.rb +139 -0
  382. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/expectations_spec.rb +50 -0
  383. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/base_matcher_spec.rb +62 -0
  384. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/be_close_spec.rb +22 -0
  385. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/be_instance_of_spec.rb +63 -0
  386. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/be_kind_of_spec.rb +41 -0
  387. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/be_spec.rb +522 -0
  388. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/be_within_spec.rb +137 -0
  389. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/change_spec.rb +567 -0
  390. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/configuration_spec.rb +206 -0
  391. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/cover_spec.rb +69 -0
  392. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/description_generation_spec.rb +190 -0
  393. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/dsl_spec.rb +57 -0
  394. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/eq_spec.rb +60 -0
  395. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/eql_spec.rb +41 -0
  396. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/equal_spec.rb +78 -0
  397. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/exist_spec.rb +124 -0
  398. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/has_spec.rb +122 -0
  399. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/have_spec.rb +455 -0
  400. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/include_matcher_integration_spec.rb +30 -0
  401. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/include_spec.rb +531 -0
  402. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/match_array_spec.rb +194 -0
  403. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/match_spec.rb +74 -0
  404. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/matcher_spec.rb +471 -0
  405. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/matchers_spec.rb +37 -0
  406. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/method_missing_spec.rb +28 -0
  407. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/operator_matcher_spec.rb +252 -0
  408. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/raise_error_spec.rb +535 -0
  409. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/respond_to_spec.rb +292 -0
  410. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/satisfy_spec.rb +44 -0
  411. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/start_with_end_with_spec.rb +186 -0
  412. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/throw_symbol_spec.rb +116 -0
  413. data/spec/vendor/rspec-expectations-2.14.4/spec/rspec/matchers/yield_spec.rb +514 -0
  414. data/spec/vendor/rspec-expectations-2.14.4/spec/spec_helper.rb +54 -0
  415. data/spec/vendor/rspec-expectations-2.14.4/spec/support/classes.rb +56 -0
  416. data/spec/vendor/rspec-expectations-2.14.4/spec/support/in_sub_process.rb +38 -0
  417. data/spec/vendor/rspec-expectations-2.14.4/spec/support/matchers.rb +22 -0
  418. data/spec/vendor/rspec-expectations-2.14.4/spec/support/ruby_version.rb +10 -0
  419. data/spec/vendor/rspec-expectations-2.14.4/spec/support/shared_examples.rb +13 -0
  420. data/spec/vendor/rspec-mocks-2.14.4/.document +5 -0
  421. data/spec/vendor/rspec-mocks-2.14.4/.yardopts +6 -0
  422. data/spec/vendor/rspec-mocks-2.14.4/Changelog.md +420 -0
  423. data/spec/vendor/rspec-mocks-2.14.4/License.txt +23 -0
  424. data/spec/vendor/rspec-mocks-2.14.4/README.md +315 -0
  425. data/spec/vendor/rspec-mocks-2.14.4/features/README.md +67 -0
  426. data/spec/vendor/rspec-mocks-2.14.4/features/Scope.md +17 -0
  427. data/spec/vendor/rspec-mocks-2.14.4/features/Upgrade.md +22 -0
  428. data/spec/vendor/rspec-mocks-2.14.4/features/argument_matchers/README.md +27 -0
  429. data/spec/vendor/rspec-mocks-2.14.4/features/argument_matchers/explicit.feature +59 -0
  430. data/spec/vendor/rspec-mocks-2.14.4/features/argument_matchers/general_matchers.feature +85 -0
  431. data/spec/vendor/rspec-mocks-2.14.4/features/argument_matchers/type_matchers.feature +26 -0
  432. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/README.md +73 -0
  433. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/allow_any_instance_of.feature +26 -0
  434. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/any_instance.feature +21 -0
  435. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/block_local_expectations.feature.pending +55 -0
  436. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/call_original.feature +24 -0
  437. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/expect_any_instance_of.feature +27 -0
  438. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/expect_message_using_expect.feature +107 -0
  439. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/expect_message_using_should_receive.feature +118 -0
  440. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/receive_counts.feature +209 -0
  441. data/spec/vendor/rspec-mocks-2.14.4/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
  442. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/README.md +73 -0
  443. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/any_instance.feature +136 -0
  444. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/as_null_object.feature +40 -0
  445. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/simple_return_value_with_allow.feature +44 -0
  446. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/simple_return_value_with_stub.feature +64 -0
  447. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/stub_chain.feature +51 -0
  448. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/stub_implementation.feature +48 -0
  449. data/spec/vendor/rspec-mocks-2.14.4/features/method_stubs/to_ary.feature +51 -0
  450. data/spec/vendor/rspec-mocks-2.14.4/features/mutating_constants/README.md +82 -0
  451. data/spec/vendor/rspec-mocks-2.14.4/features/mutating_constants/hiding_defined_constant.feature +64 -0
  452. data/spec/vendor/rspec-mocks-2.14.4/features/mutating_constants/stub_defined_constant.feature +79 -0
  453. data/spec/vendor/rspec-mocks-2.14.4/features/mutating_constants/stub_undefined_constant.feature +50 -0
  454. data/spec/vendor/rspec-mocks-2.14.4/features/outside_rspec/configuration.feature +62 -0
  455. data/spec/vendor/rspec-mocks-2.14.4/features/outside_rspec/standalone.feature +33 -0
  456. data/spec/vendor/rspec-mocks-2.14.4/features/spies/spy_partial_mock_method.feature +34 -0
  457. data/spec/vendor/rspec-mocks-2.14.4/features/spies/spy_pure_mock_method.feature +76 -0
  458. data/spec/vendor/rspec-mocks-2.14.4/features/spies/spy_unstubbed_method.feature +18 -0
  459. data/spec/vendor/rspec-mocks-2.14.4/features/step_definitions/additional_cli_steps.rb +11 -0
  460. data/spec/vendor/rspec-mocks-2.14.4/features/support/env.rb +13 -0
  461. data/spec/vendor/rspec-mocks-2.14.4/features/support/rubinius.rb +6 -0
  462. data/spec/vendor/rspec-mocks-2.14.4/features/test_frameworks/test_unit.feature +43 -0
  463. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/chain.rb +94 -0
  464. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/expectation_chain.rb +42 -0
  465. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/message_chains.rb +60 -0
  466. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/recorder.rb +211 -0
  467. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/stub_chain.rb +40 -0
  468. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  469. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/argument_list_matcher.rb +97 -0
  470. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/argument_matchers.rb +238 -0
  471. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/configuration.rb +55 -0
  472. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/deprecation.rb +18 -0
  473. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/error_generator.rb +179 -0
  474. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/errors.rb +12 -0
  475. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/example_methods.rb +156 -0
  476. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/extensions/instance_exec.rb +34 -0
  477. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/extensions/marshal.rb +17 -0
  478. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/framework.rb +34 -0
  479. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/instance_method_stasher.rb +94 -0
  480. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/matchers/have_received.rb +93 -0
  481. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/matchers/receive.rb +97 -0
  482. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/message_expectation.rb +583 -0
  483. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/method_double.rb +271 -0
  484. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/mock.rb +7 -0
  485. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/mutate_const.rb +403 -0
  486. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/order_group.rb +40 -0
  487. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/proxy.rb +223 -0
  488. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/proxy_for_nil.rb +37 -0
  489. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/space.rb +91 -0
  490. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/standalone.rb +3 -0
  491. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/stub_chain.rb +51 -0
  492. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/syntax.rb +349 -0
  493. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/targets.rb +69 -0
  494. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/test_double.rb +135 -0
  495. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks/version.rb +7 -0
  496. data/spec/vendor/rspec-mocks-2.14.4/lib/rspec/mocks.rb +96 -0
  497. data/spec/vendor/rspec-mocks-2.14.4/lib/spec/mocks.rb +4 -0
  498. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/and_call_original_spec.rb +243 -0
  499. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/and_yield_spec.rb +127 -0
  500. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/any_instance/message_chains_spec.rb +41 -0
  501. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/any_instance_spec.rb +987 -0
  502. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/any_number_of_times_spec.rb +36 -0
  503. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/argument_expectation_spec.rb +32 -0
  504. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/at_least_spec.rb +151 -0
  505. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/at_most_spec.rb +90 -0
  506. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/block_return_value_spec.rb +88 -0
  507. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
  508. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_10263_spec.rb +27 -0
  509. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
  510. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
  511. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
  512. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_7611_spec.rb +16 -0
  513. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
  514. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
  515. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
  516. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/combining_implementation_instructions_spec.rb +205 -0
  517. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/configuration_spec.rb +150 -0
  518. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/double_spec.rb +24 -0
  519. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/extensions/marshal_spec.rb +54 -0
  520. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/failing_argument_matchers_spec.rb +110 -0
  521. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/hash_excluding_matcher_spec.rb +67 -0
  522. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
  523. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/instance_method_stasher_spec.rb +58 -0
  524. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/matchers/have_received_spec.rb +266 -0
  525. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/matchers/receive_spec.rb +336 -0
  526. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/methods_spec.rb +27 -0
  527. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/mock_ordering_spec.rb +103 -0
  528. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/mock_space_spec.rb +113 -0
  529. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/mock_spec.rb +798 -0
  530. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/multiple_return_value_spec.rb +132 -0
  531. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/mutate_const_spec.rb +501 -0
  532. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/nil_expectation_warning_spec.rb +68 -0
  533. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/null_object_mock_spec.rb +123 -0
  534. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/once_counts_spec.rb +52 -0
  535. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/options_hash_spec.rb +35 -0
  536. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/partial_mock_spec.rb +205 -0
  537. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +95 -0
  538. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/passing_argument_matchers_spec.rb +142 -0
  539. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/precise_counts_spec.rb +68 -0
  540. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/record_messages_spec.rb +26 -0
  541. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/serialization_spec.rb +89 -0
  542. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/space_spec.rb +32 -0
  543. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/stash_spec.rb +46 -0
  544. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/stub_chain_spec.rb +154 -0
  545. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/stub_implementation_spec.rb +81 -0
  546. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/stub_spec.rb +353 -0
  547. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/stubbed_message_expectations_spec.rb +58 -0
  548. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/syntax_agnostic_message_matchers_spec.rb +81 -0
  549. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/test_double_spec.rb +67 -0
  550. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/to_ary_spec.rb +54 -0
  551. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks/twice_counts_spec.rb +66 -0
  552. data/spec/vendor/rspec-mocks-2.14.4/spec/rspec/mocks_spec.rb +65 -0
  553. data/spec/vendor/rspec-mocks-2.14.4/spec/spec_helper.rb +60 -0
  554. metadata +1170 -0
@@ -0,0 +1,71 @@
1
+ Feature: Syntax Configuration
2
+
3
+ In addition to the long-supported `should` syntax, rspec-expectations
4
+ supports an alternate `expect` syntax. If you want your project to
5
+ only use one syntax, you can configure the available syntaxes.
6
+
7
+ Background:
8
+ Given a file named "syntaxes_spec.rb" with:
9
+ """ruby
10
+ describe "using the should syntax" do
11
+ specify { 3.should eq(3) }
12
+ specify { 3.should_not eq(4) }
13
+ specify { lambda { raise "boom" }.should raise_error("boom") }
14
+ specify { lambda { }.should_not raise_error }
15
+ end
16
+
17
+ describe "using the expect syntax" do
18
+ specify { expect(3).to eq(3) }
19
+ specify { expect(3).not_to eq(4) }
20
+ specify { expect { raise "boom" }.to raise_error("boom") }
21
+ specify { expect { }.not_to raise_error }
22
+ end
23
+ """
24
+
25
+ Scenario: Both syntaxes are available by default
26
+ When I run `rspec syntaxes_spec.rb`
27
+ Then the examples should all pass
28
+
29
+ Scenario: Disable should syntax
30
+ Given a file named "disable_should_syntax.rb" with:
31
+ """ruby
32
+ RSpec.configure do |config|
33
+ config.expect_with :rspec do |c|
34
+ c.syntax = :expect
35
+ end
36
+ end
37
+ """
38
+ When I run `rspec disable_should_syntax.rb syntaxes_spec.rb`
39
+ Then the output should contain all of these:
40
+ | 8 examples, 4 failures |
41
+ | undefined method `should' |
42
+
43
+ Scenario: Disable expect syntax
44
+ Given a file named "disable_expect_syntax.rb" with:
45
+ """ruby
46
+ RSpec.configure do |config|
47
+ config.expect_with :rspec do |c|
48
+ c.syntax = :should
49
+ end
50
+ config.mock_with :rspec do |c|
51
+ c.syntax = :should
52
+ end
53
+ end
54
+ """
55
+ When I run `rspec disable_expect_syntax.rb syntaxes_spec.rb`
56
+ Then the output should contain all of these:
57
+ | 8 examples, 4 failures |
58
+ | undefined method `expect' |
59
+
60
+ Scenario: Explicitly enable both syntaxes
61
+ Given a file named "enable_both_syntaxes.rb" with:
62
+ """ruby
63
+ RSpec.configure do |config|
64
+ config.expect_with :rspec do |c|
65
+ c.syntax = [:should, :expect]
66
+ end
67
+ end
68
+ """
69
+ When I run `rspec enable_both_syntaxes.rb syntaxes_spec.rb`
70
+ Then the examples should all pass
71
+
@@ -0,0 +1,44 @@
1
+ Feature: Test::Unit integration
2
+
3
+ RSpec-expectations is a stand-alone gem that can be used without the rest of
4
+ RSpec. If you like the way Test::Unit (or MiniTest) organizes tests, but
5
+ prefer RSpec's approach to expressing expectations, you can have both.
6
+
7
+ The one downside is that failures are reported as errors with MiniTest.
8
+
9
+ Scenario: use rspec/expectations with Test::Unit
10
+ Given a file named "rspec_expectations_test.rb" with:
11
+ """ruby
12
+ require 'test/unit'
13
+ require 'rspec/expectations'
14
+
15
+ class RSpecExpectationsTest < Test::Unit::TestCase
16
+ RSpec::Matchers.define :be_an_integer do
17
+ match { |actual| Integer === actual }
18
+ end
19
+
20
+ def be_an_int
21
+ # This is actually an internal rspec-expectations API, but is used
22
+ # here to demonstrate that deprecation warnings from within
23
+ # rspec-expectations work correcty without depending on rspec-core
24
+ RSpec.deprecate(:be_an_int, :replacement => :be_an_integer)
25
+ be_an_integer
26
+ end
27
+
28
+ def test_passing_expectation
29
+ expect(1 + 3).to eq 4
30
+ end
31
+
32
+ def test_failing_expectation
33
+ expect([1,2]).to be_empty
34
+ end
35
+
36
+ def test_custom_matcher_with_deprecation_warning
37
+ expect(1).to be_an_int
38
+ end
39
+ end
40
+ """
41
+ When I run `ruby rspec_expectations_test.rb`
42
+ Then the output should contain "3 tests, 0 assertions, 0 failures, 1 errors" or "3 tests, 0 assertions, 1 failures, 0 errors"
43
+ And the output should contain "expected empty? to return true, got false"
44
+ And the output should contain "be_an_int is deprecated"
@@ -0,0 +1,31 @@
1
+ module RSpec
2
+ module Expectations
3
+ module Deprecation
4
+ RSPEC_LIBS = %w[
5
+ core
6
+ mocks
7
+ expectations
8
+ matchers
9
+ rails
10
+ ]
11
+
12
+ ADDITIONAL_TOP_LEVEL_FILES = %w[ autorun ]
13
+
14
+ LIB_REGEX = %r{/lib/rspec/(#{(RSPEC_LIBS + ADDITIONAL_TOP_LEVEL_FILES).join('|')})(\.rb|/)}
15
+
16
+ # @private
17
+ #
18
+ # Used internally to print deprecation warnings
19
+ def deprecate(deprecated, options={})
20
+ call_site = caller.find { |line| line !~ LIB_REGEX }
21
+
22
+ message = "DEPRECATION: #{deprecated} is deprecated."
23
+ message << " Use #{options[:replacement]} instead." if options[:replacement]
24
+ message << " Called from #{call_site}."
25
+ warn message
26
+ end
27
+ end
28
+ end
29
+
30
+ extend(Expectations::Deprecation) unless respond_to?(:deprecate)
31
+ end
@@ -0,0 +1,154 @@
1
+ require 'diff/lcs'
2
+ require 'diff/lcs/hunk'
3
+ require 'pp'
4
+
5
+ module RSpec
6
+ module Expectations
7
+ class Differ
8
+
9
+ # This is snagged from diff/lcs/ldiff.rb (which is a commandline tool)
10
+ def diff_as_string(input_data_new, input_data_old)
11
+ encoding = pick_encoding input_data_new, input_data_old
12
+ output = matching_encoding("", encoding)
13
+ data_old = input_data_old.split(matching_encoding("\n", encoding)).map! { |e| e.chomp }
14
+ data_new = input_data_new.split(matching_encoding("\n", encoding)).map! { |e| e.chomp }
15
+ diffs = Diff::LCS.diff(data_old, data_new)
16
+ return output if diffs.empty?
17
+ oldhunk = hunk = nil
18
+ file_length_difference = 0
19
+ diffs.each do |piece|
20
+ begin
21
+ hunk = Diff::LCS::Hunk.new(
22
+ data_old, data_new, piece, context_lines, file_length_difference
23
+ )
24
+ file_length_difference = hunk.file_length_difference
25
+ next unless oldhunk
26
+ # Hunks may overlap, which is why we need to be careful when our
27
+ # diff includes lines of context. Otherwise, we might print
28
+ # redundant lines.
29
+ if (context_lines > 0) and hunk.overlaps?(oldhunk)
30
+ if hunk.respond_to?(:merge)
31
+ # diff-lcs 1.2.x
32
+ hunk.merge(oldhunk)
33
+ else
34
+ # diff-lcs 1.1.3
35
+ hunk.unshift(oldhunk)
36
+ end
37
+ else
38
+ output << matching_encoding(oldhunk.diff(format).to_s, encoding)
39
+ end
40
+ ensure
41
+ oldhunk = hunk
42
+ output << matching_encoding("\n", encoding)
43
+ end
44
+ end
45
+ #Handle the last remaining hunk
46
+ output << matching_encoding(oldhunk.diff(format).to_s, encoding)
47
+ output << matching_encoding("\n", encoding)
48
+ color_diff output
49
+ rescue Encoding::CompatibilityError
50
+ if input_data_new.encoding != input_data_old.encoding
51
+ "Could not produce a diff because the encoding of the actual string (#{input_data_old.encoding}) "+
52
+ "differs from the encoding of the expected string (#{input_data_new.encoding})"
53
+ else
54
+ "Could not produce a diff because of the encoding of the string (#{input_data_old.encoding})"
55
+ end
56
+ end
57
+
58
+ def diff_as_object(actual, expected)
59
+ actual_as_string = object_to_string(actual)
60
+ expected_as_string = object_to_string(expected)
61
+ if diff = diff_as_string(actual_as_string, expected_as_string)
62
+ color_diff diff
63
+ end
64
+ end
65
+
66
+ protected
67
+
68
+ def format
69
+ :unified
70
+ end
71
+
72
+ def context_lines
73
+ 3
74
+ end
75
+
76
+ def color(text, color_code)
77
+ "\e[#{color_code}m#{text}\e[0m"
78
+ end
79
+
80
+ def red(text)
81
+ color(text, 31)
82
+ end
83
+
84
+ def green(text)
85
+ color(text, 32)
86
+ end
87
+
88
+ def blue(text)
89
+ color(text, 34)
90
+ end
91
+
92
+ def color_diff(diff)
93
+ return diff unless RSpec::Matchers.configuration.color?
94
+
95
+ diff.lines.map { |line|
96
+ case line[0].chr
97
+ when "+"
98
+ green line
99
+ when "-"
100
+ red line
101
+ when "@"
102
+ line[1].chr == "@" ? blue(line) : line
103
+ else
104
+ line
105
+ end
106
+ }.join
107
+ end
108
+
109
+ def object_to_string(object)
110
+ case object
111
+ when Hash
112
+ object.keys.sort_by { |k| k.to_s }.map do |key|
113
+ pp_key = PP.singleline_pp(key, "")
114
+ pp_value = PP.singleline_pp(object[key], "")
115
+
116
+ # on 1.9.3 PP seems to minimise to US-ASCII, ensure we're matching source encoding
117
+ #
118
+ # note, PP is used to ensure the ordering of the internal values of key/value e.g.
119
+ # <# a: b: c:> not <# c: a: b:>
120
+ encoding = pick_encoding pp_key, pp_value
121
+ matching_encoding("#{pp_key} => #{pp_value}", encoding)
122
+ end.join(",\n")
123
+ when String
124
+ object =~ /\n/ ? object : object.inspect
125
+ else
126
+ PP.pp(object,"")
127
+ end
128
+ end
129
+
130
+ private
131
+
132
+ if String.method_defined?(:encoding)
133
+ def pick_encoding(source_a, source_b)
134
+ Encoding.compatible?(source_a, source_b) || Encoding.default_external
135
+ end
136
+
137
+ def matching_encoding(string, encoding)
138
+ string.encode encoding
139
+ rescue Encoding::UndefinedConversionError
140
+ string.encode(encoding, :undef => :replace)
141
+ end
142
+ else
143
+ def pick_encoding(source_a, source_b)
144
+ end
145
+
146
+ def matching_encoding(string, encoding)
147
+ string
148
+ end
149
+ end
150
+ end
151
+
152
+ end
153
+ end
154
+
@@ -0,0 +1,9 @@
1
+ module RSpec
2
+ module Expectations
3
+ if defined?(Test::Unit::AssertionFailedError)
4
+ class ExpectationNotMetError < Test::Unit::AssertionFailedError; end
5
+ else
6
+ class ExpectationNotMetError < ::StandardError; end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,87 @@
1
+ module RSpec
2
+ module Expectations
3
+ # Wraps the target of an expectation.
4
+ # @example
5
+ # expect(something) # => ExpectationTarget wrapping something
6
+ #
7
+ # # used with `to`
8
+ # expect(actual).to eq(3)
9
+ #
10
+ # # with `not_to`
11
+ # expect(actual).not_to eq(3)
12
+ class ExpectationTarget
13
+ class << self
14
+ attr_accessor :deprecated_should_enabled
15
+ alias deprecated_should_enabled? deprecated_should_enabled
16
+ end
17
+
18
+ # @api private
19
+ def initialize(target)
20
+ @target = target
21
+ end
22
+
23
+ # Runs the given expectation, passing if `matcher` returns true.
24
+ # @example
25
+ # expect(value).to eq(5)
26
+ # expect { perform }.to raise_error
27
+ # @param [Matcher]
28
+ # matcher
29
+ # @param [String] message optional message to display when the expectation fails
30
+ # @return [Boolean] true if the expectation succeeds (else raises)
31
+ # @see RSpec::Matchers
32
+ def to(matcher=nil, message=nil, &block)
33
+ prevent_operator_matchers(:to, matcher)
34
+ RSpec::Expectations::PositiveExpectationHandler.handle_matcher(@target, matcher, message, &block)
35
+ end
36
+
37
+ # Runs the given expectation, passing if `matcher` returns false.
38
+ # @example
39
+ # expect(value).not_to eq(5)
40
+ # @param [Matcher]
41
+ # matcher
42
+ # @param [String] message optional message to display when the expectation fails
43
+ # @return [Boolean] false if the negative expectation succeeds (else raises)
44
+ # @see RSpec::Matchers
45
+ def not_to(matcher=nil, message=nil, &block)
46
+ prevent_operator_matchers(:not_to, matcher)
47
+ RSpec::Expectations::NegativeExpectationHandler.handle_matcher(@target, matcher, message, &block)
48
+ end
49
+ alias to_not not_to
50
+
51
+ def self.enable_deprecated_should
52
+ return if deprecated_should_enabled?
53
+
54
+ def should(*args)
55
+ RSpec.deprecate "`expect { }.should`", :replacement => "`expect { }.to`"
56
+ @target.should(*args)
57
+ end
58
+
59
+ def should_not(*args)
60
+ RSpec.deprecate "`expect { }.should_not`", :replacement => "`expect { }.not_to`"
61
+ @target.should_not(*args)
62
+ end
63
+
64
+ self.deprecated_should_enabled = true
65
+ end
66
+
67
+ def self.disable_deprecated_should
68
+ return unless deprecated_should_enabled?
69
+
70
+ remove_method :should
71
+ remove_method :should_not
72
+
73
+ self.deprecated_should_enabled = false
74
+ end
75
+
76
+ private
77
+
78
+ def prevent_operator_matchers(verb, matcher)
79
+ return if matcher
80
+
81
+ raise ArgumentError, "The expect syntax does not support operator matchers, " +
82
+ "so you must pass a matcher to `##{verb}`."
83
+ end
84
+ end
85
+ end
86
+ end
87
+
@@ -0,0 +1,9 @@
1
+ # @private
2
+ class Array
3
+ unless public_instance_methods.map {|m| m.to_s}.include?('none?')
4
+ # Supports +none?+ on early patch levels of Ruby 1.8.6
5
+ def none?(&block)
6
+ !any?(&block)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,29 @@
1
+ module RSpec
2
+ module Expectations
3
+ module DeprecatedConstants
4
+ # Displays deprecation warning when it captures Rspec and Spec. Otherwise
5
+ # delegates to super.
6
+ def const_missing(name)
7
+ case name
8
+ when :Rspec, :Spec
9
+ RSpec.deprecate(name.to_s, :replacement => "RSpec")
10
+ RSpec
11
+ else
12
+ begin
13
+ super
14
+ rescue Exception => e
15
+ e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
16
+ raise e
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ # @deprecated (no replacement)
23
+ def differ=(ignore)
24
+ RSpec.deprecate("RSpec::Expectations.differ=(differ)")
25
+ end
26
+ end
27
+ end
28
+
29
+ extend RSpec::Expectations::DeprecatedConstants
@@ -0,0 +1,2 @@
1
+ require 'rspec/expectations/extensions/array'
2
+ require 'rspec/expectations/extensions/object'
@@ -0,0 +1,79 @@
1
+ module RSpec
2
+ module Expectations
3
+ class << self
4
+ # @private
5
+ def differ
6
+ @differ ||= Differ.new
7
+ end
8
+
9
+ # Raises an RSpec::Expectations::ExpectationNotMetError with message.
10
+ # @param [String] message
11
+ # @param [Object] expected
12
+ # @param [Object] actual
13
+ #
14
+ # Adds a diff to the failure message when `expected` and `actual` are
15
+ # both present.
16
+ def fail_with(message, expected=nil, actual=nil)
17
+ if !message
18
+ raise ArgumentError, "Failure message is nil. Does your matcher define the " +
19
+ "appropriate failure_message_for_* method to return a string?"
20
+ end
21
+
22
+ if actual && expected
23
+ if all_strings?(actual, expected)
24
+ if any_multiline_strings?(actual, expected)
25
+ message << "\nDiff:" << differ.diff_as_string(coerce_to_string(actual), coerce_to_string(expected))
26
+ end
27
+ elsif no_procs?(actual, expected) && no_numbers?(actual, expected)
28
+ message << "\nDiff:" << differ.diff_as_object(actual, expected)
29
+ end
30
+ end
31
+
32
+ raise(RSpec::Expectations::ExpectationNotMetError.new(message))
33
+ end
34
+
35
+ private
36
+
37
+ def no_procs?(*args)
38
+ args.flatten.none? {|a| Proc === a}
39
+ end
40
+
41
+ def all_strings?(*args)
42
+ args.flatten.all? {|a| String === a}
43
+ end
44
+
45
+ def any_multiline_strings?(*args)
46
+ all_strings?(*args) && args.flatten.any? { |a| multiline?(a) }
47
+ end
48
+
49
+ def no_numbers?(*args)
50
+ args.flatten.none? {|a| Numeric === a}
51
+ end
52
+
53
+ def coerce_to_string(string_or_array)
54
+ return string_or_array unless Array === string_or_array
55
+ diffably_stringify(string_or_array).join("\n")
56
+ end
57
+
58
+ def diffably_stringify(array)
59
+ array.map do |entry|
60
+ if Array === entry
61
+ entry.inspect
62
+ else
63
+ entry.to_s.gsub("\n", "\\n")
64
+ end
65
+ end
66
+ end
67
+
68
+ if String.method_defined?(:encoding)
69
+ def multiline?(string)
70
+ string.include?("\n".encode(string.encoding))
71
+ end
72
+ else
73
+ def multiline?(string)
74
+ string.include?("\n")
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,68 @@
1
+ module RSpec
2
+ module Expectations
3
+
4
+ class ExpectationHandler
5
+ def self.check_message(msg)
6
+ unless msg.nil? || msg.respond_to?(:to_str) || msg.respond_to?(:call)
7
+ ::Kernel.warn [
8
+ "WARNING: ignoring the provided expectation message argument (",
9
+ msg.inspect,
10
+ ") since it is not a string or a proc."
11
+ ].join
12
+ end
13
+ end
14
+ end
15
+
16
+ class PositiveExpectationHandler < ExpectationHandler
17
+
18
+ def self.handle_matcher(actual, matcher, message=nil, &block)
19
+ check_message(message)
20
+ ::RSpec::Matchers.last_should = :should
21
+ ::RSpec::Matchers.last_matcher = matcher
22
+ return ::RSpec::Matchers::BuiltIn::PositiveOperatorMatcher.new(actual) if matcher.nil?
23
+
24
+ match = matcher.matches?(actual, &block)
25
+ return match if match
26
+
27
+ message = message.call if message.respond_to?(:call)
28
+
29
+ message ||= matcher.respond_to?(:failure_message_for_should) ?
30
+ matcher.failure_message_for_should :
31
+ matcher.failure_message
32
+
33
+ if matcher.respond_to?(:diffable?) && matcher.diffable?
34
+ ::RSpec::Expectations.fail_with message, matcher.expected, matcher.actual
35
+ else
36
+ ::RSpec::Expectations.fail_with message
37
+ end
38
+ end
39
+ end
40
+
41
+ class NegativeExpectationHandler < ExpectationHandler
42
+ def self.handle_matcher(actual, matcher, message=nil, &block)
43
+ check_message(message)
44
+ ::RSpec::Matchers.last_should = :should_not
45
+ ::RSpec::Matchers.last_matcher = matcher
46
+ return ::RSpec::Matchers::BuiltIn::NegativeOperatorMatcher.new(actual) if matcher.nil?
47
+
48
+ match = matcher.respond_to?(:does_not_match?) ?
49
+ !matcher.does_not_match?(actual, &block) :
50
+ matcher.matches?(actual, &block)
51
+ return match unless match
52
+
53
+ message = message.call if message.respond_to?(:call)
54
+
55
+ message ||= matcher.respond_to?(:failure_message_for_should_not) ?
56
+ matcher.failure_message_for_should_not :
57
+ matcher.negative_failure_message
58
+
59
+ if matcher.respond_to?(:diffable?) && matcher.diffable?
60
+ ::RSpec::Expectations.fail_with message, matcher.expected, matcher.actual
61
+ else
62
+ ::RSpec::Expectations.fail_with message
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+