opal-rspec 0.7.0.rc.1 → 0.7.0.rc.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (513) hide show
  1. checksums.yaml +4 -4
  2. data/lib/opal/rspec/version.rb +1 -1
  3. data/opal-rspec.gemspec +5 -3
  4. data/rspec-core/upstream/.document +5 -0
  5. data/rspec-core/upstream/.gitignore +21 -0
  6. data/rspec-core/upstream/.rspec +2 -0
  7. data/rspec-core/upstream/.rubocop.yml +53 -0
  8. data/rspec-core/upstream/.rubocop_rspec_base.yml +130 -0
  9. data/rspec-core/upstream/.travis.yml +35 -0
  10. data/rspec-core/upstream/.yardopts +7 -0
  11. data/rspec-core/upstream/Changelog.md +1641 -0
  12. data/rspec-core/upstream/DEV-README.md +28 -0
  13. data/rspec-core/upstream/Gemfile +34 -0
  14. data/rspec-core/upstream/Gemfile-custom.sample +19 -0
  15. data/rspec-core/upstream/Guardfile +5 -0
  16. data/rspec-core/upstream/License.txt +25 -0
  17. data/rspec-core/upstream/README.md +243 -0
  18. data/rspec-core/upstream/Rakefile +85 -0
  19. data/rspec-core/upstream/benchmarks/README.md +4 -0
  20. data/rspec-core/upstream/benchmarks/boot_time_with_many_load_path_dirs.sh +123 -0
  21. data/rspec-core/upstream/benchmarks/call_v_yield.rb +81 -0
  22. data/rspec-core/upstream/benchmarks/check_inclusion.rb +125 -0
  23. data/rspec-core/upstream/benchmarks/define_method_v_attr_reader_v_def.rb +81 -0
  24. data/rspec-core/upstream/benchmarks/eager_vs_lazy_metadata.rb +126 -0
  25. data/rspec-core/upstream/benchmarks/eager_vs_lazy_metadata/define_examples.rb +22 -0
  26. data/rspec-core/upstream/benchmarks/filter_object.rb +35 -0
  27. data/rspec-core/upstream/benchmarks/index_v_take_while.rb +47 -0
  28. data/rspec-core/upstream/benchmarks/map_then_flatten_vs_flat_map_benchmarks.rb +94 -0
  29. data/rspec-core/upstream/benchmarks/require_relative_v_require.rb +75 -0
  30. data/rspec-core/upstream/benchmarks/respond_to_v_defined.rb +72 -0
  31. data/rspec-core/upstream/benchmarks/several_regexps_v_one_big_one.rb +86 -0
  32. data/rspec-core/upstream/benchmarks/sort_by_v_shuffle.rb +83 -0
  33. data/rspec-core/upstream/benchmarks/to_proc_v_not_to_proc.rb +539 -0
  34. data/rspec-core/upstream/cucumber.yml +6 -0
  35. data/rspec-core/upstream/exe/rspec +4 -0
  36. data/rspec-core/upstream/features/.nav +62 -0
  37. data/rspec-core/upstream/features/README.md +13 -0
  38. data/rspec-core/upstream/features/Upgrade.md +352 -0
  39. data/rspec-core/upstream/features/command_line/README.md +28 -0
  40. data/rspec-core/upstream/features/command_line/dry_run.feature +29 -0
  41. data/rspec-core/upstream/features/command_line/example_name_option.feature +98 -0
  42. data/rspec-core/upstream/features/command_line/exit_status.feature +66 -0
  43. data/rspec-core/upstream/features/command_line/fail_fast.feature +27 -0
  44. data/rspec-core/upstream/features/command_line/format_option.feature +86 -0
  45. data/rspec-core/upstream/features/command_line/init.feature +50 -0
  46. data/rspec-core/upstream/features/command_line/line_number_appended_to_path.feature +159 -0
  47. data/rspec-core/upstream/features/command_line/order.md +23 -0
  48. data/rspec-core/upstream/features/command_line/pattern_option.feature +42 -0
  49. data/rspec-core/upstream/features/command_line/rake_task.feature +158 -0
  50. data/rspec-core/upstream/features/command_line/randomization.feature +62 -0
  51. data/rspec-core/upstream/features/command_line/require_option.feature +45 -0
  52. data/rspec-core/upstream/features/command_line/ruby.feature +23 -0
  53. data/rspec-core/upstream/features/command_line/tag.feature +102 -0
  54. data/rspec-core/upstream/features/command_line/warnings_option.feature +29 -0
  55. data/rspec-core/upstream/features/configuration/alias_example_to.feature +57 -0
  56. data/rspec-core/upstream/features/configuration/backtrace_exclusion_patterns.feature +138 -0
  57. data/rspec-core/upstream/features/configuration/custom_settings.feature +84 -0
  58. data/rspec-core/upstream/features/configuration/default_path.feature +37 -0
  59. data/rspec-core/upstream/features/configuration/deprecation_stream.feature +87 -0
  60. data/rspec-core/upstream/features/configuration/enable_global_dsl.feature +60 -0
  61. data/rspec-core/upstream/features/configuration/exclude_pattern.feature +43 -0
  62. data/rspec-core/upstream/features/configuration/fail_fast.feature +79 -0
  63. data/rspec-core/upstream/features/configuration/failure_exit_code.feature +53 -0
  64. data/rspec-core/upstream/features/configuration/order_and_seed.feature +5 -0
  65. data/rspec-core/upstream/features/configuration/output_stream.feature +27 -0
  66. data/rspec-core/upstream/features/configuration/overriding_global_ordering.feature +90 -0
  67. data/rspec-core/upstream/features/configuration/pattern.feature +62 -0
  68. data/rspec-core/upstream/features/configuration/profile.feature +220 -0
  69. data/rspec-core/upstream/features/configuration/read_options_from_file.feature +95 -0
  70. data/rspec-core/upstream/features/configuration/run_all_when_everything_filtered.feature +78 -0
  71. data/rspec-core/upstream/features/configuration/zero_monkey_patching_mode.feature +106 -0
  72. data/rspec-core/upstream/features/core_standalone.feature +23 -0
  73. data/rspec-core/upstream/features/example_groups/aliasing.feature +48 -0
  74. data/rspec-core/upstream/features/example_groups/basic_structure.feature +55 -0
  75. data/rspec-core/upstream/features/example_groups/shared_context.feature +92 -0
  76. data/rspec-core/upstream/features/example_groups/shared_examples.feature +295 -0
  77. data/rspec-core/upstream/features/expectation_framework_integration/configure_expectation_framework.feature +167 -0
  78. data/rspec-core/upstream/features/filtering/exclusion_filters.feature +135 -0
  79. data/rspec-core/upstream/features/filtering/if_and_unless.feature +165 -0
  80. data/rspec-core/upstream/features/filtering/inclusion_filters.feature +101 -0
  81. data/rspec-core/upstream/features/formatters/configurable_colors.feature +32 -0
  82. data/rspec-core/upstream/features/formatters/custom_formatter.feature +37 -0
  83. data/rspec-core/upstream/features/formatters/json_formatter.feature +30 -0
  84. data/rspec-core/upstream/features/helper_methods/arbitrary_methods.feature +40 -0
  85. data/rspec-core/upstream/features/helper_methods/let.feature +50 -0
  86. data/rspec-core/upstream/features/helper_methods/modules.feature +146 -0
  87. data/rspec-core/upstream/features/hooks/around_hooks.feature +345 -0
  88. data/rspec-core/upstream/features/hooks/before_and_after_hooks.feature +434 -0
  89. data/rspec-core/upstream/features/hooks/filtering.feature +234 -0
  90. data/rspec-core/upstream/features/metadata/current_example.feature +57 -0
  91. data/rspec-core/upstream/features/metadata/described_class.feature +17 -0
  92. data/rspec-core/upstream/features/metadata/user_defined.feature +100 -0
  93. data/rspec-core/upstream/features/mock_framework_integration/use_any_framework.feature +106 -0
  94. data/rspec-core/upstream/features/mock_framework_integration/use_flexmock.feature +94 -0
  95. data/rspec-core/upstream/features/mock_framework_integration/use_mocha.feature +95 -0
  96. data/rspec-core/upstream/features/mock_framework_integration/use_rr.feature +96 -0
  97. data/rspec-core/upstream/features/mock_framework_integration/use_rspec.feature +113 -0
  98. data/rspec-core/upstream/features/pending_and_skipped_examples/README.md +3 -0
  99. data/rspec-core/upstream/features/pending_and_skipped_examples/pending_examples.feature +73 -0
  100. data/rspec-core/upstream/features/pending_and_skipped_examples/skipped_examples.feature +106 -0
  101. data/rspec-core/upstream/features/spec_files/arbitrary_file_suffix.feature +13 -0
  102. data/rspec-core/upstream/features/step_definitions/additional_cli_steps.rb +126 -0
  103. data/rspec-core/upstream/features/step_definitions/core_standalone_steps.rb +12 -0
  104. data/rspec-core/upstream/features/subject/explicit_subject.feature +187 -0
  105. data/rspec-core/upstream/features/subject/implicit_subject.feature +57 -0
  106. data/rspec-core/upstream/features/subject/one_liner_syntax.feature +69 -0
  107. data/rspec-core/upstream/features/support/env.rb +21 -0
  108. data/rspec-core/upstream/features/support/require_expect_syntax_in_aruba_specs.rb +29 -0
  109. data/rspec-core/upstream/features/support/rubinius.rb +6 -0
  110. data/rspec-core/upstream/lib/rspec/autorun.rb +2 -0
  111. data/rspec-core/upstream/lib/rspec/core.rb +169 -0
  112. data/rspec-core/upstream/lib/rspec/core/backport_random.rb +336 -0
  113. data/rspec-core/upstream/lib/rspec/core/backtrace_formatter.rb +66 -0
  114. data/rspec-core/upstream/lib/rspec/core/configuration.rb +1440 -0
  115. data/rspec-core/upstream/lib/rspec/core/configuration_options.rb +173 -0
  116. data/rspec-core/upstream/lib/rspec/core/drb.rb +111 -0
  117. data/rspec-core/upstream/lib/rspec/core/dsl.rb +93 -0
  118. data/rspec-core/upstream/lib/rspec/core/example.rb +502 -0
  119. data/rspec-core/upstream/lib/rspec/core/example_group.rb +606 -0
  120. data/rspec-core/upstream/lib/rspec/core/filter_manager.rb +259 -0
  121. data/rspec-core/upstream/lib/rspec/core/flat_map.rb +18 -0
  122. data/rspec-core/upstream/lib/rspec/core/formatters.rb +240 -0
  123. data/rspec-core/upstream/lib/rspec/core/formatters/base_formatter.rb +67 -0
  124. data/rspec-core/upstream/lib/rspec/core/formatters/base_text_formatter.rb +76 -0
  125. data/rspec-core/upstream/lib/rspec/core/formatters/console_codes.rb +64 -0
  126. data/rspec-core/upstream/lib/rspec/core/formatters/deprecation_formatter.rb +222 -0
  127. data/rspec-core/upstream/lib/rspec/core/formatters/documentation_formatter.rb +68 -0
  128. data/rspec-core/upstream/lib/rspec/core/formatters/helpers.rb +87 -0
  129. data/rspec-core/upstream/lib/rspec/core/formatters/html_formatter.rb +149 -0
  130. data/rspec-core/upstream/lib/rspec/core/formatters/html_printer.rb +403 -0
  131. data/rspec-core/upstream/lib/rspec/core/formatters/json_formatter.rb +94 -0
  132. data/rspec-core/upstream/lib/rspec/core/formatters/profile_formatter.rb +65 -0
  133. data/rspec-core/upstream/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  134. data/rspec-core/upstream/lib/rspec/core/formatters/protocol.rb +163 -0
  135. data/rspec-core/upstream/lib/rspec/core/formatters/snippet_extractor.rb +104 -0
  136. data/rspec-core/upstream/lib/rspec/core/hooks.rb +591 -0
  137. data/rspec-core/upstream/lib/rspec/core/memoized_helpers.rb +472 -0
  138. data/rspec-core/upstream/lib/rspec/core/metadata.rb +437 -0
  139. data/rspec-core/upstream/lib/rspec/core/metadata_filter.rb +95 -0
  140. data/rspec-core/upstream/lib/rspec/core/minitest_assertions_adapter.rb +28 -0
  141. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  142. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  143. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/null.rb +14 -0
  144. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  145. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  146. data/rspec-core/upstream/lib/rspec/core/notifications.rb +542 -0
  147. data/rspec-core/upstream/lib/rspec/core/option_parser.rb +222 -0
  148. data/rspec-core/upstream/lib/rspec/core/ordering.rb +155 -0
  149. data/rspec-core/upstream/lib/rspec/core/pending.rb +163 -0
  150. data/rspec-core/upstream/lib/rspec/core/project_initializer.rb +48 -0
  151. data/rspec-core/upstream/lib/rspec/core/project_initializer/.rspec +2 -0
  152. data/rspec-core/upstream/lib/rspec/core/project_initializer/spec/spec_helper.rb +89 -0
  153. data/rspec-core/upstream/lib/rspec/core/rake_task.rb +187 -0
  154. data/rspec-core/upstream/lib/rspec/core/reporter.rb +149 -0
  155. data/rspec-core/upstream/lib/rspec/core/ruby_project.rb +45 -0
  156. data/rspec-core/upstream/lib/rspec/core/runner.rb +158 -0
  157. data/rspec-core/upstream/lib/rspec/core/shared_context.rb +55 -0
  158. data/rspec-core/upstream/lib/rspec/core/shared_example_group.rb +182 -0
  159. data/rspec-core/upstream/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  160. data/rspec-core/upstream/lib/rspec/core/version.rb +9 -0
  161. data/rspec-core/upstream/lib/rspec/core/warnings.rb +40 -0
  162. data/rspec-core/upstream/lib/rspec/core/world.rb +183 -0
  163. data/rspec-core/upstream/maintenance-branch +1 -0
  164. data/rspec-core/upstream/rspec-core.gemspec +53 -0
  165. data/rspec-core/upstream/script/clone_all_rspec_repos +24 -0
  166. data/rspec-core/upstream/script/console +8 -0
  167. data/rspec-core/upstream/script/functions.sh +168 -0
  168. data/rspec-core/upstream/script/ignores +72 -0
  169. data/rspec-core/upstream/script/list_method_cache_busters.sh +23 -0
  170. data/rspec-core/upstream/script/prevent_runtime_method_cache_busters +15 -0
  171. data/rspec-core/upstream/script/regen_fixtures.sh +39 -0
  172. data/rspec-core/upstream/script/rspec_with_simplecov +42 -0
  173. data/rspec-core/upstream/script/run_build +28 -0
  174. data/rspec-expectations/upstream/.document +5 -0
  175. data/rspec-expectations/upstream/.gitignore +17 -0
  176. data/rspec-expectations/upstream/.rspec +2 -0
  177. data/rspec-expectations/upstream/.rubocop.yml +5 -0
  178. data/rspec-expectations/upstream/.rubocop_rspec_base.yml +130 -0
  179. data/rspec-expectations/upstream/.travis.yml +35 -0
  180. data/rspec-expectations/upstream/.yardopts +6 -0
  181. data/rspec-expectations/upstream/Changelog.md +835 -0
  182. data/rspec-expectations/upstream/DEV-README.md +28 -0
  183. data/rspec-expectations/upstream/Gemfile +35 -0
  184. data/rspec-expectations/upstream/Gemfile-custom.sample +19 -0
  185. data/rspec-expectations/upstream/Guardfile +6 -0
  186. data/rspec-expectations/upstream/License.txt +24 -0
  187. data/rspec-expectations/upstream/README.md +278 -0
  188. data/rspec-expectations/upstream/Rakefile +78 -0
  189. data/rspec-expectations/upstream/Should.md +168 -0
  190. data/rspec-expectations/upstream/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +253 -0
  191. data/rspec-expectations/upstream/benchmarks/autoload_v_require.rb +25 -0
  192. data/rspec-expectations/upstream/benchmarks/cloning_matchers.rb +19 -0
  193. data/rspec-expectations/upstream/benchmarks/default_messages_as_methods_v_blocks.rb +27 -0
  194. data/rspec-expectations/upstream/benchmarks/example_spec.rb +9 -0
  195. data/rspec-expectations/upstream/benchmarks/include_v_superclass.rb +39 -0
  196. data/rspec-expectations/upstream/benchmarks/match_array/failing_with_distinct_items.rb +147 -0
  197. data/rspec-expectations/upstream/benchmarks/match_array/failing_with_duplicate_items.rb +122 -0
  198. data/rspec-expectations/upstream/benchmarks/match_array/passing_with_distinct_items.rb +154 -0
  199. data/rspec-expectations/upstream/benchmarks/match_array/passing_with_duplicate_items.rb +132 -0
  200. data/rspec-expectations/upstream/benchmarks/match_array/rubyprof/passing_with_distinct_items.rb +9 -0
  201. data/rspec-expectations/upstream/benchmarks/matcher_dsl_vs_classes.rb +180 -0
  202. data/rspec-expectations/upstream/benchmarks/method_to_proc.rb +72 -0
  203. data/rspec-expectations/upstream/benchmarks/set_vs_array_include.rb +68 -0
  204. data/rspec-expectations/upstream/cucumber.yml +10 -0
  205. data/rspec-expectations/upstream/features/.nav +41 -0
  206. data/rspec-expectations/upstream/features/README.md +49 -0
  207. data/rspec-expectations/upstream/features/built_in_matchers/README.md +137 -0
  208. data/rspec-expectations/upstream/features/built_in_matchers/all.feature +60 -0
  209. data/rspec-expectations/upstream/features/built_in_matchers/be.feature +175 -0
  210. data/rspec-expectations/upstream/features/built_in_matchers/be_within.feature +48 -0
  211. data/rspec-expectations/upstream/features/built_in_matchers/change.feature +66 -0
  212. data/rspec-expectations/upstream/features/built_in_matchers/comparisons.feature +96 -0
  213. data/rspec-expectations/upstream/features/built_in_matchers/contain_exactly.feature +64 -0
  214. data/rspec-expectations/upstream/features/built_in_matchers/cover.feature +47 -0
  215. data/rspec-expectations/upstream/features/built_in_matchers/end_with.feature +48 -0
  216. data/rspec-expectations/upstream/features/built_in_matchers/equality.feature +135 -0
  217. data/rspec-expectations/upstream/features/built_in_matchers/exist.feature +44 -0
  218. data/rspec-expectations/upstream/features/built_in_matchers/have_attributes.feature +47 -0
  219. data/rspec-expectations/upstream/features/built_in_matchers/include.feature +123 -0
  220. data/rspec-expectations/upstream/features/built_in_matchers/match.feature +49 -0
  221. data/rspec-expectations/upstream/features/built_in_matchers/output.feature +68 -0
  222. data/rspec-expectations/upstream/features/built_in_matchers/predicates.feature +181 -0
  223. data/rspec-expectations/upstream/features/built_in_matchers/raise_error.feature +144 -0
  224. data/rspec-expectations/upstream/features/built_in_matchers/respond_to.feature +83 -0
  225. data/rspec-expectations/upstream/features/built_in_matchers/satisfy.feature +32 -0
  226. data/rspec-expectations/upstream/features/built_in_matchers/start_with.feature +48 -0
  227. data/rspec-expectations/upstream/features/built_in_matchers/throw_symbol.feature +90 -0
  228. data/rspec-expectations/upstream/features/built_in_matchers/types.feature +116 -0
  229. data/rspec-expectations/upstream/features/built_in_matchers/yield.feature +156 -0
  230. data/rspec-expectations/upstream/features/composing_matchers.feature +246 -0
  231. data/rspec-expectations/upstream/features/compound_expectations.feature +52 -0
  232. data/rspec-expectations/upstream/features/custom_matchers/access_running_example.feature +48 -0
  233. data/rspec-expectations/upstream/features/custom_matchers/define_diffable_matcher.feature +29 -0
  234. data/rspec-expectations/upstream/features/custom_matchers/define_matcher.feature +337 -0
  235. data/rspec-expectations/upstream/features/custom_matchers/define_matcher_outside_rspec.feature +32 -0
  236. data/rspec-expectations/upstream/features/custom_matchers/define_matcher_with_fluent_interface.feature +51 -0
  237. data/rspec-expectations/upstream/features/customized_message.feature +39 -0
  238. data/rspec-expectations/upstream/features/define_negated_matcher.feature +29 -0
  239. data/rspec-expectations/upstream/features/diffing.feature +85 -0
  240. data/rspec-expectations/upstream/features/implicit_docstrings.feature +51 -0
  241. data/rspec-expectations/upstream/features/step_definitions/additional_cli_steps.rb +22 -0
  242. data/rspec-expectations/upstream/features/support/disallow_certain_apis.rb +34 -0
  243. data/rspec-expectations/upstream/features/support/env.rb +21 -0
  244. data/rspec-expectations/upstream/features/support/rubinius.rb +6 -0
  245. data/rspec-expectations/upstream/features/syntax_configuration.feature +92 -0
  246. data/rspec-expectations/upstream/features/test_frameworks/minitest.feature +44 -0
  247. data/rspec-expectations/upstream/lib/rspec/expectations.rb +68 -0
  248. data/rspec-expectations/upstream/lib/rspec/expectations/configuration.rb +147 -0
  249. data/rspec-expectations/upstream/lib/rspec/expectations/expectation_target.rb +119 -0
  250. data/rspec-expectations/upstream/lib/rspec/expectations/fail_with.rb +34 -0
  251. data/rspec-expectations/upstream/lib/rspec/expectations/handler.rb +167 -0
  252. data/rspec-expectations/upstream/lib/rspec/expectations/minitest_integration.rb +17 -0
  253. data/rspec-expectations/upstream/lib/rspec/expectations/syntax.rb +132 -0
  254. data/rspec-expectations/upstream/lib/rspec/expectations/version.rb +8 -0
  255. data/rspec-expectations/upstream/lib/rspec/matchers.rb +967 -0
  256. data/rspec-expectations/upstream/lib/rspec/matchers/aliased_matcher.rb +116 -0
  257. data/rspec-expectations/upstream/lib/rspec/matchers/built_in.rb +52 -0
  258. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/all.rb +85 -0
  259. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/base_matcher.rb +132 -0
  260. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be.rb +277 -0
  261. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_between.rb +77 -0
  262. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  263. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  264. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_within.rb +72 -0
  265. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/change.rb +337 -0
  266. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/compound.rb +258 -0
  267. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/contain_exactly.rb +249 -0
  268. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/cover.rb +24 -0
  269. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eq.rb +75 -0
  270. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eql.rb +34 -0
  271. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/equal.rb +81 -0
  272. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/exist.rb +86 -0
  273. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/has.rb +101 -0
  274. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/have_attributes.rb +84 -0
  275. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/include.rb +105 -0
  276. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/match.rb +29 -0
  277. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/operators.rb +119 -0
  278. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/output.rb +152 -0
  279. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/raise_error.rb +174 -0
  280. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/respond_to.rb +91 -0
  281. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/satisfy.rb +39 -0
  282. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/start_and_end_with.rb +82 -0
  283. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  284. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/yield.rb +420 -0
  285. data/rspec-expectations/upstream/lib/rspec/matchers/composable.rb +183 -0
  286. data/rspec-expectations/upstream/lib/rspec/matchers/dsl.rb +391 -0
  287. data/rspec-expectations/upstream/lib/rspec/matchers/generated_descriptions.rb +42 -0
  288. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_delegator.rb +33 -0
  289. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_protocol.rb +99 -0
  290. data/rspec-expectations/upstream/lib/rspec/matchers/pretty.rb +77 -0
  291. data/rspec-expectations/upstream/maintenance-branch +1 -0
  292. data/rspec-expectations/upstream/rspec-expectations.gemspec +46 -0
  293. data/rspec-expectations/upstream/script/clone_all_rspec_repos +24 -0
  294. data/rspec-expectations/upstream/script/functions.sh +168 -0
  295. data/rspec-expectations/upstream/script/run_build +28 -0
  296. data/rspec-mocks/upstream/.autotest +7 -0
  297. data/rspec-mocks/upstream/.document +5 -0
  298. data/rspec-mocks/upstream/.gitignore +18 -0
  299. data/rspec-mocks/upstream/.rspec +2 -0
  300. data/rspec-mocks/upstream/.rubocop.yml +17 -0
  301. data/rspec-mocks/upstream/.rubocop_rspec_base.yml +130 -0
  302. data/rspec-mocks/upstream/.travis.yml +35 -0
  303. data/rspec-mocks/upstream/.yardopts +6 -0
  304. data/rspec-mocks/upstream/Changelog.md +817 -0
  305. data/rspec-mocks/upstream/DEV-README.md +28 -0
  306. data/rspec-mocks/upstream/Gemfile +34 -0
  307. data/rspec-mocks/upstream/Gemfile-custom.sample +19 -0
  308. data/rspec-mocks/upstream/Guardfile +8 -0
  309. data/rspec-mocks/upstream/License.txt +24 -0
  310. data/rspec-mocks/upstream/README.md +397 -0
  311. data/rspec-mocks/upstream/Rakefile +72 -0
  312. data/rspec-mocks/upstream/benchmarks/boot_time.sh +31 -0
  313. data/rspec-mocks/upstream/benchmarks/double_creation.rb +66 -0
  314. data/rspec-mocks/upstream/benchmarks/each_value_v_values_each.rb +58 -0
  315. data/rspec-mocks/upstream/benchmarks/find_original_method_early.rb +64 -0
  316. data/rspec-mocks/upstream/benchmarks/method_defined_at_any_visibility.rb +101 -0
  317. data/rspec-mocks/upstream/benchmarks/thread_safety.rb +24 -0
  318. data/rspec-mocks/upstream/benchmarks/transfer_nested_constants.rb +77 -0
  319. data/rspec-mocks/upstream/cucumber.yml +2 -0
  320. data/rspec-mocks/upstream/features/.nav +43 -0
  321. data/rspec-mocks/upstream/features/README.md +76 -0
  322. data/rspec-mocks/upstream/features/basics/allowing_messages.feature +35 -0
  323. data/rspec-mocks/upstream/features/basics/expecting_messages.feature +73 -0
  324. data/rspec-mocks/upstream/features/basics/null_object_doubles.feature +35 -0
  325. data/rspec-mocks/upstream/features/basics/partial_test_doubles.feature +70 -0
  326. data/rspec-mocks/upstream/features/basics/scope.feature +99 -0
  327. data/rspec-mocks/upstream/features/basics/spies.feature +144 -0
  328. data/rspec-mocks/upstream/features/basics/test_doubles.feature +41 -0
  329. data/rspec-mocks/upstream/features/configuring_responses/README.md +12 -0
  330. data/rspec-mocks/upstream/features/configuring_responses/block_implementation.feature +131 -0
  331. data/rspec-mocks/upstream/features/configuring_responses/calling_the_original_implementation.feature +52 -0
  332. data/rspec-mocks/upstream/features/configuring_responses/raising_an_error.feature +28 -0
  333. data/rspec-mocks/upstream/features/configuring_responses/returning_a_value.feature +52 -0
  334. data/rspec-mocks/upstream/features/configuring_responses/throwing.feature +36 -0
  335. data/rspec-mocks/upstream/features/configuring_responses/wrapping_the_original_implementation.feature +53 -0
  336. data/rspec-mocks/upstream/features/configuring_responses/yielding.feature +76 -0
  337. data/rspec-mocks/upstream/features/mutating_constants/README.md +78 -0
  338. data/rspec-mocks/upstream/features/mutating_constants/hide_defined_constant.feature +64 -0
  339. data/rspec-mocks/upstream/features/mutating_constants/hide_undefined_constant.feature +22 -0
  340. data/rspec-mocks/upstream/features/mutating_constants/stub_defined_constant.feature +77 -0
  341. data/rspec-mocks/upstream/features/mutating_constants/stub_undefined_constant.feature +50 -0
  342. data/rspec-mocks/upstream/features/old_syntax/README.md +35 -0
  343. data/rspec-mocks/upstream/features/old_syntax/any_instance.feature +105 -0
  344. data/rspec-mocks/upstream/features/old_syntax/should_receive.feature +90 -0
  345. data/rspec-mocks/upstream/features/old_syntax/stub.feature +51 -0
  346. data/rspec-mocks/upstream/features/old_syntax/stub_chain.feature +69 -0
  347. data/rspec-mocks/upstream/features/old_syntax/unstub.feature +43 -0
  348. data/rspec-mocks/upstream/features/outside_rspec/minitest.feature +80 -0
  349. data/rspec-mocks/upstream/features/outside_rspec/standalone.feature +33 -0
  350. data/rspec-mocks/upstream/features/setting_constraints/README.md +6 -0
  351. data/rspec-mocks/upstream/features/setting_constraints/matching_arguments.feature +97 -0
  352. data/rspec-mocks/upstream/features/setting_constraints/message_order.feature +63 -0
  353. data/rspec-mocks/upstream/features/setting_constraints/receive_counts.feature +189 -0
  354. data/rspec-mocks/upstream/features/step_definitions/additional_cli_steps.rb +21 -0
  355. data/rspec-mocks/upstream/features/support/disallow_certain_apis.rb +24 -0
  356. data/rspec-mocks/upstream/features/support/env.rb +22 -0
  357. data/rspec-mocks/upstream/features/support/rubinius.rb +6 -0
  358. data/rspec-mocks/upstream/features/verifying_doubles/README.md +13 -0
  359. data/rspec-mocks/upstream/features/verifying_doubles/class_doubles.feature +70 -0
  360. data/rspec-mocks/upstream/features/verifying_doubles/dynamic_classes.feature +73 -0
  361. data/rspec-mocks/upstream/features/verifying_doubles/instance_doubles.feature +101 -0
  362. data/rspec-mocks/upstream/features/verifying_doubles/object_doubles.feature +62 -0
  363. data/rspec-mocks/upstream/features/verifying_doubles/partial_doubles.feature +34 -0
  364. data/rspec-mocks/upstream/features/working_with_legacy_code/README.md +3 -0
  365. data/rspec-mocks/upstream/features/working_with_legacy_code/any_instance.feature +115 -0
  366. data/rspec-mocks/upstream/features/working_with_legacy_code/message_chains.feature +79 -0
  367. data/rspec-mocks/upstream/lib/rspec/mocks.rb +126 -0
  368. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance.rb +10 -0
  369. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/chain.rb +109 -0
  370. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  371. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
  372. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/message_chains.rb +85 -0
  373. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  374. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/recorder.rb +267 -0
  375. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain.rb +45 -0
  376. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
  377. data/rspec-mocks/upstream/lib/rspec/mocks/argument_list_matcher.rb +72 -0
  378. data/rspec-mocks/upstream/lib/rspec/mocks/argument_matchers.rb +282 -0
  379. data/rspec-mocks/upstream/lib/rspec/mocks/configuration.rb +157 -0
  380. data/rspec-mocks/upstream/lib/rspec/mocks/error_generator.rb +253 -0
  381. data/rspec-mocks/upstream/lib/rspec/mocks/example_methods.rb +379 -0
  382. data/rspec-mocks/upstream/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  383. data/rspec-mocks/upstream/lib/rspec/mocks/marshal_extension.rb +41 -0
  384. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  385. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/have_received.rb +121 -0
  386. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive.rb +106 -0
  387. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_message_chain.rb +66 -0
  388. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_messages.rb +71 -0
  389. data/rspec-mocks/upstream/lib/rspec/mocks/message_chain.rb +91 -0
  390. data/rspec-mocks/upstream/lib/rspec/mocks/message_expectation.rb +694 -0
  391. data/rspec-mocks/upstream/lib/rspec/mocks/method_double.rb +260 -0
  392. data/rspec-mocks/upstream/lib/rspec/mocks/method_reference.rb +155 -0
  393. data/rspec-mocks/upstream/lib/rspec/mocks/mutate_const.rb +324 -0
  394. data/rspec-mocks/upstream/lib/rspec/mocks/object_reference.rb +91 -0
  395. data/rspec-mocks/upstream/lib/rspec/mocks/order_group.rb +81 -0
  396. data/rspec-mocks/upstream/lib/rspec/mocks/proxy.rb +431 -0
  397. data/rspec-mocks/upstream/lib/rspec/mocks/space.rb +221 -0
  398. data/rspec-mocks/upstream/lib/rspec/mocks/standalone.rb +3 -0
  399. data/rspec-mocks/upstream/lib/rspec/mocks/syntax.rb +329 -0
  400. data/rspec-mocks/upstream/lib/rspec/mocks/targets.rb +97 -0
  401. data/rspec-mocks/upstream/lib/rspec/mocks/test_double.rb +135 -0
  402. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_double.rb +127 -0
  403. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_message_expecation.rb +62 -0
  404. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_proxy.rb +171 -0
  405. data/rspec-mocks/upstream/lib/rspec/mocks/version.rb +9 -0
  406. data/rspec-mocks/upstream/maintenance-branch +1 -0
  407. data/rspec-mocks/upstream/rspec-mocks.gemspec +44 -0
  408. data/rspec-mocks/upstream/script/clone_all_rspec_repos +24 -0
  409. data/rspec-mocks/upstream/script/functions.sh +168 -0
  410. data/rspec-mocks/upstream/script/ignores +55 -0
  411. data/rspec-mocks/upstream/script/list_method_cache_busters.sh +22 -0
  412. data/rspec-mocks/upstream/script/run_build +28 -0
  413. data/rspec-support/upstream/.gitignore +19 -0
  414. data/rspec-support/upstream/.rspec +4 -0
  415. data/rspec-support/upstream/.rubocop.yml +1 -0
  416. data/rspec-support/upstream/.rubocop_rspec_base.yml +130 -0
  417. data/rspec-support/upstream/.travis.yml +35 -0
  418. data/rspec-support/upstream/Changelog.md +77 -0
  419. data/rspec-support/upstream/Gemfile +21 -0
  420. data/rspec-support/upstream/LICENSE.txt +22 -0
  421. data/rspec-support/upstream/README.md +17 -0
  422. data/rspec-support/upstream/Rakefile +30 -0
  423. data/rspec-support/upstream/benchmarks/caller.rb +81 -0
  424. data/rspec-support/upstream/lib/rspec/support.rb +76 -0
  425. data/rspec-support/upstream/lib/rspec/support/caller_filter.rb +63 -0
  426. data/rspec-support/upstream/lib/rspec/support/differ.rb +214 -0
  427. data/rspec-support/upstream/lib/rspec/support/directory_maker.rb +61 -0
  428. data/rspec-support/upstream/lib/rspec/support/encoded_string.rb +69 -0
  429. data/rspec-support/upstream/lib/rspec/support/fuzzy_matcher.rb +48 -0
  430. data/rspec-support/upstream/lib/rspec/support/hunk_generator.rb +47 -0
  431. data/rspec-support/upstream/lib/rspec/support/matcher_definition.rb +31 -0
  432. data/rspec-support/upstream/lib/rspec/support/method_signature_verifier.rb +272 -0
  433. data/rspec-support/upstream/lib/rspec/support/os.rb +18 -0
  434. data/rspec-support/upstream/lib/rspec/support/recursive_const_methods.rb +76 -0
  435. data/rspec-support/upstream/lib/rspec/support/ruby_features.rb +45 -0
  436. data/rspec-support/upstream/lib/rspec/support/spec.rb +72 -0
  437. data/rspec-support/upstream/lib/rspec/support/spec/deprecation_helpers.rb +60 -0
  438. data/rspec-support/upstream/lib/rspec/support/spec/formatting_support.rb +9 -0
  439. data/rspec-support/upstream/lib/rspec/support/spec/in_sub_process.rb +43 -0
  440. data/rspec-support/upstream/lib/rspec/support/spec/prevent_load_time_warnings.rb +44 -0
  441. data/rspec-support/upstream/lib/rspec/support/spec/shell_out.rb +69 -0
  442. data/rspec-support/upstream/lib/rspec/support/spec/stderr_splitter.rb +52 -0
  443. data/rspec-support/upstream/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
  444. data/rspec-support/upstream/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  445. data/rspec-support/upstream/lib/rspec/support/version.rb +7 -0
  446. data/rspec-support/upstream/lib/rspec/support/version_checker.rb +53 -0
  447. data/rspec-support/upstream/lib/rspec/support/warnings.rb +39 -0
  448. data/rspec-support/upstream/maintenance-branch +1 -0
  449. data/rspec-support/upstream/rspec-support.gemspec +34 -0
  450. data/rspec-support/upstream/script/clone_all_rspec_repos +24 -0
  451. data/rspec-support/upstream/script/functions.sh +168 -0
  452. data/rspec-support/upstream/script/run_build +28 -0
  453. data/rspec/upstream/.document +2 -0
  454. data/rspec/upstream/.gitignore +11 -0
  455. data/rspec/upstream/Gemfile +7 -0
  456. data/rspec/upstream/License.txt +24 -0
  457. data/rspec/upstream/README.md +47 -0
  458. data/rspec/upstream/Rakefile +25 -0
  459. data/rspec/upstream/certs/rspec.pem +22 -0
  460. data/rspec/upstream/lib/rspec.rb +3 -0
  461. data/rspec/upstream/lib/rspec/version.rb +5 -0
  462. data/rspec/upstream/rspec.gemspec +40 -0
  463. metadata +462 -53
  464. data/rspec-core/spec/files_to_exclude.txt +0 -12
  465. data/rspec-core/spec/filters.rb +0 -211
  466. data/rspec-core/spec/fixes/missing_constants.rb +0 -34
  467. data/rspec-core/spec/fixes/sandboxing.rb +0 -72
  468. data/rspec-core/spec/fixes/shared_examples.rb +0 -6
  469. data/rspec-core/spec/requires.rb +0 -41
  470. data/rspec-expectations/spec/files_to_exclude.txt +0 -2
  471. data/rspec-expectations/spec/filters.rb +0 -188
  472. data/rspec-expectations/spec/fixes/missing_constants.rb +0 -10
  473. data/rspec-expectations/spec/fixes/shared_examples.rb +0 -15
  474. data/rspec-expectations/spec/requires.rb +0 -32
  475. data/rspec-mocks/spec/files_to_exclude.txt +0 -11
  476. data/rspec-mocks/spec/filters.rb +0 -98
  477. data/rspec-mocks/spec/fixes/shared_examples.rb +0 -6
  478. data/rspec-mocks/spec/requires.rb +0 -22
  479. data/rspec-support/spec/files_to_exclude.txt +0 -26
  480. data/rspec-support/spec/filters.rb +0 -17
  481. data/rspec-support/spec/fixes/missing_constants.rb +0 -3
  482. data/rspec-support/spec/fixes/shared_examples.rb +0 -4
  483. data/rspec-support/spec/requires.rb +0 -30
  484. data/spec-opal-passing/spec_helper.rb +0 -3
  485. data/spec-opal-passing/tautology_spec.rb +0 -21
  486. data/spec-opal-rspec/core/example_group_spec.rb +0 -145
  487. data/spec-opal-rspec/core/failed_example_notification_spec.rb +0 -31
  488. data/spec-opal-rspec/core/hooks_spec.rb +0 -113
  489. data/spec-opal-rspec/core/memoized_helpers_spec.rb +0 -36
  490. data/spec-opal-rspec/core/metadata_spec.rb +0 -48
  491. data/spec-opal-rspec/expectations/be_instance_of_spec.rb +0 -11
  492. data/spec-opal-rspec/expectations/dsl_spec.rb +0 -66
  493. data/spec-opal-rspec/expectations/expectation_target_spec.rb +0 -21
  494. data/spec-opal-rspec/expectations/yield_spec.rb +0 -11
  495. data/spec-opal/after_hooks_spec.rb +0 -142
  496. data/spec-opal/around_hooks_spec.rb +0 -77
  497. data/spec-opal/async_spec.rb +0 -134
  498. data/spec-opal/before_hooks_spec.rb +0 -185
  499. data/spec-opal/browser-formatter/opal_browser_formatter_spec.rb +0 -14
  500. data/spec-opal/example_spec.rb +0 -176
  501. data/spec-opal/legacy_async_spec.rb +0 -189
  502. data/spec-opal/matchers_spec.rb +0 -207
  503. data/spec-opal/mock_spec.rb +0 -65
  504. data/spec-opal/other/color_on_by_default_spec.rb +0 -9
  505. data/spec-opal/other/dummy_spec.rb +0 -5
  506. data/spec-opal/other/formatter_dependency.rb +0 -3
  507. data/spec-opal/other/ignored_spec.opal +0 -5
  508. data/spec-opal/other/test_formatter.rb +0 -9
  509. data/spec-opal/should_syntax_spec.rb +0 -19
  510. data/spec-opal/skip_pending_spec.rb +0 -45
  511. data/spec-opal/spec_helper.rb +0 -8
  512. data/spec-opal/sprockets_runner_js_errors.rb.erb +0 -18
  513. data/spec-opal/subject_spec.rb +0 -89
@@ -0,0 +1,28 @@
1
+ begin
2
+ # Only the minitest 5.x gem includes the minitest.rb and assertions.rb files
3
+ require 'minitest'
4
+ require 'minitest/assertions'
5
+ rescue LoadError
6
+ # We must be using Ruby Core's MiniTest or the Minitest gem 4.x
7
+ require 'minitest/unit'
8
+ Minitest = MiniTest
9
+ end
10
+
11
+ module RSpec
12
+ module Core
13
+ # @private
14
+ module MinitestAssertionsAdapter
15
+ include ::Minitest::Assertions
16
+
17
+ # Minitest 5.x requires this accessor to be available. See
18
+ # https://github.com/seattlerb/minitest/blob/38f0a5fcbd9c37c3f80a3eaad4ba84d3fc9947a0/lib/minitest/assertions.rb#L8
19
+ #
20
+ # It is not required for other extension libraries, and RSpec does not
21
+ # report or make this information available to formatters.
22
+ attr_writer :assertions
23
+ def assertions
24
+ @assertions ||= 0
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # Created by Jim Weirich on 2007-04-10.
2
+ # Copyright (c) 2007. All rights reserved.
3
+
4
+ require 'flexmock/rspec'
5
+
6
+ module RSpec
7
+ module Core
8
+ module MockingAdapters
9
+ # @private
10
+ module Flexmock
11
+ include ::FlexMock::MockContainer
12
+
13
+ def self.framework_name
14
+ :flexmock
15
+ end
16
+
17
+ def setup_mocks_for_rspec
18
+ # No setup required
19
+ end
20
+
21
+ def verify_mocks_for_rspec
22
+ flexmock_verify
23
+ end
24
+
25
+ def teardown_mocks_for_rspec
26
+ flexmock_close
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,57 @@
1
+ # In order to support all versions of mocha, we have to jump through some
2
+ # hoops here.
3
+ #
4
+ # mocha >= '0.13.0':
5
+ # require 'mocha/api' is required
6
+ # require 'mocha/object' raises a LoadError b/c the file no longer exists
7
+ # mocha < '0.13.0', >= '0.9.7'
8
+ # require 'mocha/api' is required
9
+ # require 'mocha/object' is required
10
+ # mocha < '0.9.7':
11
+ # require 'mocha/api' raises a LoadError b/c the file does not yet exist
12
+ # require 'mocha/standalone' is required
13
+ # require 'mocha/object' is required
14
+ begin
15
+ require 'mocha/api'
16
+
17
+ begin
18
+ require 'mocha/object'
19
+ rescue LoadError
20
+ # Mocha >= 0.13.0 no longer contains this file nor needs it to be loaded
21
+ end
22
+ rescue LoadError
23
+ require 'mocha/standalone'
24
+ require 'mocha/object'
25
+ end
26
+
27
+ module RSpec
28
+ module Core
29
+ module MockingAdapters
30
+ # @private
31
+ module Mocha
32
+ def self.framework_name
33
+ :mocha
34
+ end
35
+
36
+ # Mocha::Standalone was deprecated as of Mocha 0.9.7.
37
+ begin
38
+ include ::Mocha::API
39
+ rescue NameError
40
+ include ::Mocha::Standalone
41
+ end
42
+
43
+ def setup_mocks_for_rspec
44
+ mocha_setup
45
+ end
46
+
47
+ def verify_mocks_for_rspec
48
+ mocha_verify
49
+ end
50
+
51
+ def teardown_mocks_for_rspec
52
+ mocha_teardown
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,14 @@
1
+ module RSpec
2
+ module Core
3
+ module MockingAdapters
4
+ # @private
5
+ module Null
6
+ def setup_mocks_for_rspec; end
7
+
8
+ def verify_mocks_for_rspec; end
9
+
10
+ def teardown_mocks_for_rspec; end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ require 'rr'
2
+
3
+ RSpec.configuration.backtrace_exclusion_patterns.push(RR::Errors::BACKTRACE_IDENTIFIER)
4
+
5
+ module RSpec
6
+ module Core
7
+ # @private
8
+ module MockingAdapters
9
+ # @private
10
+ module RR
11
+ def self.framework_name
12
+ :rr
13
+ end
14
+
15
+ include ::RR::Extensions::InstanceMethods
16
+
17
+ def setup_mocks_for_rspec
18
+ ::RR::Space.instance.reset
19
+ end
20
+
21
+ def verify_mocks_for_rspec
22
+ ::RR::Space.instance.verify_doubles
23
+ end
24
+
25
+ def teardown_mocks_for_rspec
26
+ ::RR::Space.instance.reset
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ require 'rspec/mocks'
2
+
3
+ module RSpec
4
+ module Core
5
+ module MockingAdapters
6
+ # @private
7
+ module RSpec
8
+ include ::RSpec::Mocks::ExampleMethods
9
+
10
+ def self.framework_name
11
+ :rspec
12
+ end
13
+
14
+ def self.configuration
15
+ ::RSpec::Mocks.configuration
16
+ end
17
+
18
+ def setup_mocks_for_rspec
19
+ ::RSpec::Mocks.setup
20
+ end
21
+
22
+ def verify_mocks_for_rspec
23
+ ::RSpec::Mocks.verify
24
+ end
25
+
26
+ def teardown_mocks_for_rspec
27
+ ::RSpec::Mocks.teardown
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,542 @@
1
+ RSpec::Support.require_rspec_core "formatters/helpers"
2
+ RSpec::Support.require_rspec_support "encoded_string"
3
+
4
+ module RSpec::Core
5
+ # Notifications are value objects passed to formatters to provide them
6
+ # with information about a particular event of interest.
7
+ module Notifications
8
+ # @private
9
+ module NullColorizer
10
+ module_function
11
+ def wrap(line, _code_or_symbol)
12
+ line
13
+ end
14
+ end
15
+
16
+ # The `StartNotification` represents a notification sent by the reporter
17
+ # when the suite is started. It contains the expected amount of examples
18
+ # to be executed, and the load time of RSpec.
19
+ #
20
+ # @attr count [Fixnum] the number counted
21
+ # @attr load_time [Float] the number of seconds taken to boot RSpec
22
+ # and load the spec files
23
+ StartNotification = Struct.new(:count, :load_time)
24
+
25
+ # The `ExampleNotification` represents notifications sent by the reporter
26
+ # which contain information about the current (or soon to be) example.
27
+ # It is used by formatters to access information about that example.
28
+ #
29
+ # @example
30
+ # def example_started(notification)
31
+ # puts "Hey I started #{notification.example.description}"
32
+ # end
33
+ #
34
+ # @attr example [RSpec::Core::Example] the current example
35
+ ExampleNotification = Struct.new(:example) do
36
+ # @private
37
+ def self.for(example)
38
+ if example.execution_result.pending_fixed?
39
+ PendingExampleFixedNotification.new(example)
40
+ elsif example.execution_result.status == :failed
41
+ FailedExampleNotification.new(example)
42
+ else
43
+ new(example)
44
+ end
45
+ end
46
+ private_class_method :new
47
+ end
48
+
49
+ # The `ExamplesNotification` represents notifications sent by the reporter
50
+ # which contain information about the suites examples.
51
+ #
52
+ # @example
53
+ # def stop(notification)
54
+ # puts "Hey I ran #{notification.examples.size}"
55
+ # end
56
+ #
57
+ class ExamplesNotification
58
+ def initialize(reporter)
59
+ @reporter = reporter
60
+ end
61
+
62
+ # @return [Array(RSpec::Core::Example)] list of examples
63
+ def examples
64
+ @reporter.examples
65
+ end
66
+
67
+ # @return [Array(RSpec::Core::Example)] list of failed examples
68
+ def failed_examples
69
+ @reporter.failed_examples
70
+ end
71
+
72
+ # @return [Array(RSpec::Core::Example)] list of pending examples
73
+ def pending_examples
74
+ @reporter.pending_examples
75
+ end
76
+
77
+ # @return [Array(Rspec::Core::Notifications::ExampleNotification]
78
+ # returns examples as notifications
79
+ def notifications
80
+ @notifications ||= format_examples(examples)
81
+ end
82
+
83
+ # @return [Array(Rspec::Core::Notifications::FailedExampleNotification]
84
+ # returns failed examples as notifications
85
+ def failure_notifications
86
+ @failed_notifications ||= format_examples(failed_examples)
87
+ end
88
+
89
+ # @return [String] The list of failed examples, fully formatted in the way that
90
+ # RSpec's built-in formatters emit.
91
+ def fully_formatted_failed_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
92
+ formatted = "\nFailures:\n"
93
+
94
+ failure_notifications.each_with_index do |failure, index|
95
+ formatted << failure.fully_formatted(index.next, colorizer)
96
+ end
97
+
98
+ formatted
99
+ end
100
+
101
+ # @return [String] The list of pending examples, fully formatted in the way that
102
+ # RSpec's built-in formatters emit.
103
+ def fully_formatted_pending_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
104
+ formatted = "\nPending:\n"
105
+
106
+ pending_examples.each do |example|
107
+ formatted_caller = RSpec.configuration.backtrace_formatter.backtrace_line(example.location)
108
+
109
+ formatted <<
110
+ " #{colorizer.wrap(example.full_description, :pending)}\n" \
111
+ " # #{colorizer.wrap(example.execution_result.pending_message, :detail)}\n" \
112
+ " # #{colorizer.wrap(formatted_caller, :detail)}\n"
113
+ end
114
+
115
+ formatted
116
+ end
117
+
118
+ private
119
+
120
+ def format_examples(examples)
121
+ examples.map do |example|
122
+ ExampleNotification.for(example)
123
+ end
124
+ end
125
+ end
126
+
127
+ # The `FailedExampleNotification` extends `ExampleNotification` with
128
+ # things useful for failed specs.
129
+ #
130
+ # @example
131
+ # def example_failed(notification)
132
+ # puts "Hey I failed :("
133
+ # puts "Here's my stack trace"
134
+ # puts notification.exception.backtrace.join("\n")
135
+ # end
136
+ #
137
+ # @attr [RSpec::Core::Example] example the current example
138
+ # @see ExampleNotification
139
+ class FailedExampleNotification < ExampleNotification
140
+ public_class_method :new
141
+
142
+ # @return [Exception] The example failure
143
+ def exception
144
+ example.execution_result.exception
145
+ end
146
+
147
+ # @return [String] The example description
148
+ def description
149
+ example.full_description
150
+ end
151
+
152
+ # Returns the message generated for this failure line by line.
153
+ #
154
+ # @return [Array(String)] The example failure message
155
+ def message_lines
156
+ add_shared_group_line(failure_lines, NullColorizer)
157
+ end
158
+
159
+ # Returns the message generated for this failure colorized line by line.
160
+ #
161
+ # @param colorizer [#wrap] An object to colorize the message_lines by
162
+ # @return [Array(String)] The example failure message colorized
163
+ def colorized_message_lines(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
164
+ add_shared_group_line(failure_lines, colorizer).map do |line|
165
+ colorizer.wrap line, RSpec.configuration.failure_color
166
+ end
167
+ end
168
+
169
+ # Returns the failures formatted backtrace.
170
+ #
171
+ # @return [Array(String)] the examples backtrace lines
172
+ def formatted_backtrace
173
+ backtrace_formatter.format_backtrace(exception.backtrace, example.metadata)
174
+ end
175
+
176
+ # Returns the failures colorized formatted backtrace.
177
+ #
178
+ # @param colorizer [#wrap] An object to colorize the message_lines by
179
+ # @return [Array(String)] the examples colorized backtrace lines
180
+ def colorized_formatted_backtrace(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
181
+ formatted_backtrace.map do |backtrace_info|
182
+ colorizer.wrap "# #{backtrace_info}", RSpec.configuration.detail_color
183
+ end
184
+ end
185
+
186
+ # @return [String] The failure information fully formatted in the way that
187
+ # RSpec's built-in formatters emit.
188
+ def fully_formatted(failure_number, colorizer=::RSpec::Core::Formatters::ConsoleCodes)
189
+ formatted = "\n #{failure_number}) #{description}\n"
190
+
191
+ colorized_message_lines(colorizer).each do |line|
192
+ formatted << RSpec::Support::EncodedString.new(" #{line}\n", encoding_of(formatted))
193
+ end
194
+
195
+ colorized_formatted_backtrace(colorizer).each do |line|
196
+ formatted << RSpec::Support::EncodedString.new(" #{line}\n", encoding_of(formatted))
197
+ end
198
+
199
+ formatted
200
+ end
201
+
202
+ private
203
+
204
+ if String.method_defined?(:encoding)
205
+ def encoding_of(string)
206
+ string.encoding
207
+ end
208
+ else
209
+ def encoding_of(_string)
210
+ end
211
+ end
212
+
213
+ def backtrace_formatter
214
+ RSpec.configuration.backtrace_formatter
215
+ end
216
+
217
+ def exception_class_name
218
+ name = exception.class.name.to_s
219
+ name = "(anonymous error class)" if name == ''
220
+ name
221
+ end
222
+
223
+ def failure_lines
224
+ @failure_lines ||=
225
+ begin
226
+ lines = ["Failure/Error: #{read_failed_line.strip}"]
227
+ lines << "#{exception_class_name}:" unless exception_class_name =~ /RSpec/
228
+ exception.message.to_s.split("\n").each do |line|
229
+ lines << " #{line}" if exception.message
230
+ end
231
+ lines
232
+ end
233
+ end
234
+
235
+ def add_shared_group_line(lines, colorizer)
236
+ unless shared_group_line == ""
237
+ lines << colorizer.wrap(shared_group_line, RSpec.configuration.default_color)
238
+ end
239
+ lines
240
+ end
241
+
242
+ def shared_group
243
+ @shared_group ||= group_and_parent_groups.find { |group| group.metadata[:shared_group_name] }
244
+ end
245
+
246
+ def shared_group_line
247
+ @shared_group_line ||=
248
+ if shared_group
249
+ "Shared Example Group: \"#{shared_group.metadata[:shared_group_name]}\"" \
250
+ " called from #{backtrace_formatter.backtrace_line(shared_group.location)}"
251
+ else
252
+ ""
253
+ end
254
+ end
255
+
256
+ def group_and_parent_groups
257
+ example.example_group.parent_groups + [example.example_group]
258
+ end
259
+
260
+ def read_failed_line
261
+ matching_line = find_failed_line
262
+ unless matching_line
263
+ return "Unable to find matching line from backtrace"
264
+ end
265
+
266
+ file_path, line_number = matching_line.match(/(.+?):(\d+)(|:\d+)/)[1..2]
267
+
268
+ if File.exist?(file_path)
269
+ File.readlines(file_path)[line_number.to_i - 1] ||
270
+ "Unable to find matching line in #{file_path}"
271
+ else
272
+ "Unable to find #{file_path} to read failed line"
273
+ end
274
+ rescue SecurityError
275
+ "Unable to read failed line"
276
+ end
277
+
278
+ def find_failed_line
279
+ path = File.expand_path(example.file_path)
280
+ exception.backtrace.find do |line|
281
+ match = line.match(/(.+?):(\d+)(|:\d+)/)
282
+ match && match[1].downcase == path.downcase
283
+ end
284
+ end
285
+ end
286
+
287
+ # The `PendingExampleFixedNotification` extends `ExampleNotification` with
288
+ # things useful for specs that pass when they are expected to fail.
289
+ #
290
+ # @attr [RSpec::Core::Example] example the current example
291
+ # @see ExampleNotification
292
+ class PendingExampleFixedNotification < FailedExampleNotification
293
+ public_class_method :new
294
+
295
+ # Returns the examples description
296
+ #
297
+ # @return [String] The example description
298
+ def description
299
+ "#{example.full_description} FIXED"
300
+ end
301
+
302
+ # Returns the message generated for this failure line by line.
303
+ #
304
+ # @return [Array(String)] The example failure message
305
+ def message_lines
306
+ ["Expected pending '#{example.execution_result.pending_message}' to fail. No Error was raised."]
307
+ end
308
+
309
+ # Returns the message generated for this failure colorized line by line.
310
+ #
311
+ # @param colorizer [#wrap] An object to colorize the message_lines by
312
+ # @return [Array(String)] The example failure message colorized
313
+ def colorized_message_lines(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
314
+ message_lines.map { |line| colorizer.wrap(line, RSpec.configuration.fixed_color) }
315
+ end
316
+ end
317
+
318
+ # The `GroupNotification` represents notifications sent by the reporter which
319
+ # contain information about the currently running (or soon to be) example group
320
+ # It is used by formatters to access information about that group.
321
+ #
322
+ # @example
323
+ # def example_group_started(notification)
324
+ # puts "Hey I started #{notification.group.description}"
325
+ # end
326
+ # @attr group [RSpec::Core::ExampleGroup] the current group
327
+ GroupNotification = Struct.new(:group)
328
+
329
+ # The `MessageNotification` encapsulates generic messages that the reporter
330
+ # sends to formatters.
331
+ #
332
+ # @attr message [String] the message
333
+ MessageNotification = Struct.new(:message)
334
+
335
+ # The `SeedNotification` holds the seed used to randomize examples and
336
+ # wether that seed has been used or not.
337
+ #
338
+ # @attr seed [Fixnum] the seed used to randomize ordering
339
+ # @attr used [Boolean] wether the seed has been used or not
340
+ SeedNotification = Struct.new(:seed, :used) do
341
+ # @api
342
+ # @return [Boolean] has the seed been used?
343
+ def seed_used?
344
+ !!used
345
+ end
346
+ private :used
347
+
348
+ # @return [String] The seed information fully formatted in the way that
349
+ # RSpec's built-in formatters emit.
350
+ def fully_formatted
351
+ "\nRandomized with seed #{seed}\n\n"
352
+ end
353
+ end
354
+
355
+ # The `SummaryNotification` holds information about the results of running
356
+ # a test suite. It is used by formatters to provide information at the end
357
+ # of the test run.
358
+ #
359
+ # @attr duration [Float] the time taken (in seconds) to run the suite
360
+ # @attr examples [Array(RSpec::Core::Example)] the examples run
361
+ # @attr failed_examples [Array(RSpec::Core::Example)] the failed examples
362
+ # @attr pending_examples [Array(RSpec::Core::Example)] the pending examples
363
+ # @attr load_time [Float] the number of seconds taken to boot RSpec
364
+ # and load the spec files
365
+ SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time) do
366
+
367
+ # @api
368
+ # @return [Fixnum] the number of examples run
369
+ def example_count
370
+ @example_count ||= examples.size
371
+ end
372
+
373
+ # @api
374
+ # @return [Fixnum] the number of failed examples
375
+ def failure_count
376
+ @failure_count ||= failed_examples.size
377
+ end
378
+
379
+ # @api
380
+ # @return [Fixnum] the number of pending examples
381
+ def pending_count
382
+ @pending_count ||= pending_examples.size
383
+ end
384
+
385
+ # @api
386
+ # @return [String] A line summarising the result totals of the spec run.
387
+ def totals_line
388
+ summary = Formatters::Helpers.pluralize(example_count, "example")
389
+ summary << ", " << Formatters::Helpers.pluralize(failure_count, "failure")
390
+ summary << ", #{pending_count} pending" if pending_count > 0
391
+ summary
392
+ end
393
+
394
+ # @api public
395
+ #
396
+ # Wraps the results line with colors based on the configured
397
+ # colors for failure, pending, and success. Defaults to red,
398
+ # yellow, green accordingly.
399
+ #
400
+ # @param colorizer [#wrap] An object which supports wrapping text with
401
+ # specific colors.
402
+ # @return [String] A colorized results line.
403
+ def colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
404
+ if failure_count > 0
405
+ colorizer.wrap(totals_line, RSpec.configuration.failure_color)
406
+ elsif pending_count > 0
407
+ colorizer.wrap(totals_line, RSpec.configuration.pending_color)
408
+ else
409
+ colorizer.wrap(totals_line, RSpec.configuration.success_color)
410
+ end
411
+ end
412
+
413
+ # @api public
414
+ #
415
+ # Formats failures into a rerunable command format.
416
+ #
417
+ # @param colorizer [#wrap] An object which supports wrapping text with
418
+ # specific colors.
419
+ # @return [String] A colorized summary line.
420
+ def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
421
+ "\nFailed examples:\n\n" +
422
+ failed_examples.map do |example|
423
+ colorizer.wrap("rspec #{example.location}", RSpec.configuration.failure_color) + " " +
424
+ colorizer.wrap("# #{example.full_description}", RSpec.configuration.detail_color)
425
+ end.join("\n")
426
+ end
427
+
428
+ # @return [String] a formatted version of the time it took to run the suite
429
+ def formatted_duration
430
+ Formatters::Helpers.format_duration(duration)
431
+ end
432
+
433
+ # @return [String] a formatted version of the time it took to boot RSpec and
434
+ # load the spec files
435
+ def formatted_load_time
436
+ Formatters::Helpers.format_duration(load_time)
437
+ end
438
+
439
+ # @return [String] The summary information fully formatted in the way that
440
+ # RSpec's built-in formatters emit.
441
+ def fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
442
+ formatted = "\nFinished in #{formatted_duration} " \
443
+ "(files took #{formatted_load_time} to load)\n" \
444
+ "#{colorized_totals_line(colorizer)}\n"
445
+
446
+ unless failed_examples.empty?
447
+ formatted << colorized_rerun_commands(colorizer) << "\n"
448
+ end
449
+
450
+ formatted
451
+ end
452
+ end
453
+
454
+ # The `ProfileNotification` holds information about the results of running
455
+ # a test suite when profiling is enabled. It is used by formatters to provide
456
+ # information at the end of the test run for profiling information.
457
+ #
458
+ # @attr duration [Float] the time taken (in seconds) to run the suite
459
+ # @attr examples [Array(RSpec::Core::Example)] the examples run
460
+ # @attr number_of_examples [Fixnum] the number of examples to profile
461
+ ProfileNotification = Struct.new(:duration, :examples, :number_of_examples) do
462
+
463
+ # @return [Array(RSpec::Core::Example)] the slowest examples
464
+ def slowest_examples
465
+ @slowest_examples ||=
466
+ examples.sort_by do |example|
467
+ -example.execution_result.run_time
468
+ end.first(number_of_examples)
469
+ end
470
+
471
+ # @return [Float] the time taken (in seconds) to run the slowest examples
472
+ def slow_duration
473
+ @slow_duration ||=
474
+ slowest_examples.inject(0.0) do |i, e|
475
+ i + e.execution_result.run_time
476
+ end
477
+ end
478
+
479
+ # @return [String] the percentage of total time taken
480
+ def percentage
481
+ @percentage ||=
482
+ begin
483
+ time_taken = slow_duration / duration
484
+ '%.1f' % ((time_taken.nan? ? 0.0 : time_taken) * 100)
485
+ end
486
+ end
487
+
488
+ # @return [Array(RSpec::Core::Example)] the slowest example groups
489
+ def slowest_groups
490
+ @slowest_groups ||= calculate_slowest_groups
491
+ end
492
+
493
+ private
494
+
495
+ def calculate_slowest_groups
496
+ example_groups = {}
497
+
498
+ examples.each do |example|
499
+ location = example.example_group.parent_groups.last.metadata[:location]
500
+
501
+ location_hash = example_groups[location] ||= Hash.new(0)
502
+ location_hash[:total_time] += example.execution_result.run_time
503
+ location_hash[:count] += 1
504
+ next if location_hash.key?(:description)
505
+ location_hash[:description] = example.example_group.top_level_description
506
+ end
507
+
508
+ # stop if we've only one example group
509
+ return {} if example_groups.keys.length <= 1
510
+
511
+ example_groups.each_value do |hash|
512
+ hash[:average] = hash[:total_time].to_f / hash[:count]
513
+ end
514
+
515
+ example_groups.sort_by { |_, hash| -hash[:average] }.first(number_of_examples)
516
+ end
517
+ end
518
+
519
+ # The `DeprecationNotification` is issued by the reporter when a deprecated
520
+ # part of RSpec is encountered. It represents information about the deprecated
521
+ # call site.
522
+ #
523
+ # @attr message [String] A custom message about the deprecation
524
+ # @attr deprecated [String] A custom message about the deprecation (alias of message)
525
+ # @attr replacement [String] An optional replacement for the deprecation
526
+ # @attr call_site [String] An optional call site from which the deprecation was issued
527
+ DeprecationNotification = Struct.new(:deprecated, :message, :replacement, :call_site) do
528
+ private_class_method :new
529
+
530
+ # @api
531
+ # Convenience way to initialize the notification
532
+ def self.from_hash(data)
533
+ new data[:deprecated], data[:message], data[:replacement], data[:call_site]
534
+ end
535
+ end
536
+
537
+ # `NullNotification` represents a placeholder value for notifications that
538
+ # currently require no information, but we may wish to extend in future.
539
+ class NullNotification
540
+ end
541
+ end
542
+ end