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,96 @@
1
+ Feature: mock with rr
2
+
3
+ Configure RSpec to use rr as shown in the scenarios below.
4
+
5
+ Scenario: Passing message expectation
6
+ Given a file named "example_spec.rb" with:
7
+ """ruby
8
+ RSpec.configure do |config|
9
+ config.mock_framework = :rr
10
+ end
11
+
12
+ RSpec.describe "mocking with RSpec" do
13
+ it "passes when it should" do
14
+ receiver = Object.new
15
+ mock(receiver).message
16
+ receiver.message
17
+ end
18
+ end
19
+ """
20
+ When I run `rspec example_spec.rb`
21
+ Then the examples should all pass
22
+
23
+ Scenario: Failing message expectation
24
+ Given a file named "example_spec.rb" with:
25
+ """ruby
26
+ RSpec.configure do |config|
27
+ config.mock_framework = :rr
28
+ end
29
+
30
+ RSpec.describe "mocking with RSpec" do
31
+ it "fails when it should" do
32
+ receiver = Object.new
33
+ mock(receiver).message
34
+ end
35
+ end
36
+ """
37
+ When I run `rspec example_spec.rb`
38
+ Then the output should contain "1 example, 1 failure"
39
+
40
+ Scenario: Failing message expectation in pending example (remains pending)
41
+ Given a file named "example_spec.rb" with:
42
+ """ruby
43
+ RSpec.configure do |config|
44
+ config.mock_framework = :rr
45
+ end
46
+
47
+ RSpec.describe "failed message expectation in a pending example" do
48
+ it "is listed as pending" do
49
+ pending
50
+ receiver = Object.new
51
+ mock(receiver).message
52
+ end
53
+ end
54
+ """
55
+ When I run `rspec example_spec.rb`
56
+ Then the output should contain "1 example, 0 failures, 1 pending"
57
+ And the exit status should be 0
58
+
59
+ Scenario: Passing message expectation in pending example (fails)
60
+ Given a file named "example_spec.rb" with:
61
+ """ruby
62
+ RSpec.configure do |config|
63
+ config.mock_framework = :rr
64
+ end
65
+
66
+ RSpec.describe "passing message expectation in a pending example" do
67
+ it "fails with FIXED" do
68
+ pending
69
+ receiver = Object.new
70
+ mock(receiver).message
71
+ receiver.message
72
+ end
73
+ end
74
+ """
75
+ When I run `rspec example_spec.rb`
76
+ Then the output should contain "FIXED"
77
+ Then the output should contain "1 example, 1 failure"
78
+ And the exit status should be 1
79
+
80
+ Scenario: Accessing `RSpec.configuration.mock_framework.framework_name`
81
+ Given a file named "example_spec.rb" with:
82
+ """ruby
83
+ RSpec.configure do |config|
84
+ config.mock_framework = :rr
85
+ end
86
+
87
+ RSpec.describe "RSpec.configuration.mock_framework.framework_name" do
88
+ it "returns :rr" do
89
+ expect(RSpec.configuration.mock_framework.framework_name).to eq(:rr)
90
+ end
91
+ end
92
+ """
93
+ When I run `rspec example_spec.rb`
94
+ Then the examples should all pass
95
+
96
+
@@ -0,0 +1,113 @@
1
+ Feature: mock with rspec
2
+
3
+ RSpec uses its own mocking framework by default. You can also configure it
4
+ explicitly if you wish.
5
+
6
+ Scenario: Passing message expectation
7
+ Given a file named "example_spec.rb" with:
8
+ """ruby
9
+ RSpec.configure do |config|
10
+ config.mock_framework = :rspec
11
+ end
12
+
13
+ RSpec.describe "mocking with RSpec" do
14
+ it "passes when it should" do
15
+ receiver = double('receiver')
16
+ expect(receiver).to receive(:message)
17
+ receiver.message
18
+ end
19
+ end
20
+ """
21
+ When I run `rspec example_spec.rb`
22
+ Then the examples should all pass
23
+
24
+ Scenario: Failing message expectation
25
+ Given a file named "example_spec.rb" with:
26
+ """ruby
27
+ RSpec.configure do |config|
28
+ config.mock_framework = :rspec
29
+ end
30
+
31
+ RSpec.describe "mocking with RSpec" do
32
+ it "fails when it should" do
33
+ receiver = double('receiver')
34
+ expect(receiver).to receive(:message)
35
+ end
36
+ end
37
+ """
38
+ When I run `rspec example_spec.rb`
39
+ Then the output should contain "1 example, 1 failure"
40
+
41
+ Scenario: Failing message expectation in pending example (remains pending)
42
+ Given a file named "example_spec.rb" with:
43
+ """ruby
44
+ RSpec.configure do |config|
45
+ config.mock_framework = :rspec
46
+ end
47
+
48
+ RSpec.describe "failed message expectation in a pending example" do
49
+ it "is listed as pending" do
50
+ pending
51
+ receiver = double('receiver')
52
+ expect(receiver).to receive(:message)
53
+ end
54
+ end
55
+ """
56
+ When I run `rspec example_spec.rb`
57
+ Then the output should contain "1 example, 0 failures, 1 pending"
58
+ And the exit status should be 0
59
+
60
+ Scenario: Passing message expectation in pending example (fails)
61
+ Given a file named "example_spec.rb" with:
62
+ """ruby
63
+ RSpec.configure do |config|
64
+ config.mock_framework = :rspec
65
+ end
66
+
67
+ RSpec.describe "passing message expectation in a pending example" do
68
+ it "fails with FIXED" do
69
+ pending
70
+ receiver = double('receiver')
71
+ expect(receiver).to receive(:message)
72
+ receiver.message
73
+ end
74
+ end
75
+ """
76
+ When I run `rspec example_spec.rb`
77
+ Then the output should contain "FIXED"
78
+ Then the output should contain "1 example, 1 failure"
79
+ And the exit status should be 1
80
+
81
+ Scenario: Accessing `RSpec.configuration.mock_framework.framework_name`
82
+ Given a file named "example_spec.rb" with:
83
+ """ruby
84
+ RSpec.configure do |config|
85
+ config.mock_framework = :rspec
86
+ end
87
+
88
+ RSpec.describe "RSpec.configuration.mock_framework.framework_name" do
89
+ it "returns :rspec" do
90
+ expect(RSpec.configuration.mock_framework.framework_name).to eq(:rspec)
91
+ end
92
+ end
93
+ """
94
+ When I run `rspec example_spec.rb`
95
+ Then the examples should all pass
96
+
97
+ Scenario: Doubles may be used in generated descriptions
98
+ Given a file named "example_spec.rb" with:
99
+ """ruby
100
+ RSpec.configure do |config|
101
+ config.mock_framework = :rspec
102
+ end
103
+
104
+ RSpec.describe "Testing" do
105
+ # Examples with no descriptions will default to RSpec-generated descriptions
106
+ it do
107
+ foo = double("Test")
108
+ expect(foo).to be foo
109
+ end
110
+ end
111
+ """
112
+ When I run `rspec example_spec.rb`
113
+ Then the examples should all pass
@@ -0,0 +1,3 @@
1
+ Sometimes you will have a failing example that can not be fixed, but is useful to keep around. For instance, the fix could depend on an upstream patch being merged, or the example is not supported on JRuby. RSpec provides two features for dealing with this scenario.
2
+
3
+ An example can either be marked as _skipped_, in which is it not executed, or _pending_ in which it is executed but failure will not cause a failure of the entire suite. When a pending example passes (i.e. the underlying reasons for it being marked pending is no longer present) it will be marked as failed in order to communicate to you that it should no longer be marked as pending.
@@ -0,0 +1,73 @@
1
+ Feature: `pending` examples
2
+
3
+ RSpec offers a number of different ways to indicate that an example is
4
+ disabled pending some action.
5
+
6
+ Scenario: `pending` any arbitrary reason with a failing example
7
+ Given a file named "pending_without_block_spec.rb" with:
8
+ """ruby
9
+ RSpec.describe "an example" do
10
+ it "is implemented but waiting" do
11
+ pending("something else getting finished")
12
+ fail
13
+ end
14
+ end
15
+ """
16
+ When I run `rspec pending_without_block_spec.rb`
17
+ Then the exit status should be 0
18
+ And the output should contain "1 example, 0 failures, 1 pending"
19
+ And the output should contain:
20
+ """
21
+ Pending:
22
+ an example is implemented but waiting
23
+ # something else getting finished
24
+ # ./pending_without_block_spec.rb:2
25
+ """
26
+ Scenario: `pending` any arbitrary reason with a passing example
27
+ Given a file named "pending_with_passing_example_spec.rb" with:
28
+ """ruby
29
+ RSpec.describe "an example" do
30
+ it "is implemented but waiting" do
31
+ pending("something else getting finished")
32
+ expect(1).to be(1)
33
+ end
34
+ end
35
+ """
36
+ When I run `rspec pending_with_passing_example_spec.rb`
37
+ Then the exit status should not be 0
38
+ And the output should contain "1 example, 1 failure"
39
+ And the output should contain "FIXED"
40
+ And the output should contain "Expected pending 'something else getting finished' to fail. No Error was raised."
41
+ And the output should contain "pending_with_passing_example_spec.rb:2"
42
+
43
+ Scenario: `pending` for an example that is currently passing
44
+ Given a file named "pending_with_passing_block_spec.rb" with:
45
+ """ruby
46
+ RSpec.describe "an example" do
47
+ pending("something else getting finished") do
48
+ expect(1).to eq(1)
49
+ end
50
+ end
51
+ """
52
+ When I run `rspec pending_with_passing_block_spec.rb`
53
+ Then the exit status should not be 0
54
+ And the output should contain "1 example, 1 failure"
55
+ And the output should contain "FIXED"
56
+ And the output should contain "Expected pending 'No reason given' to fail. No Error was raised."
57
+ And the output should contain "pending_with_passing_block_spec.rb:2"
58
+
59
+ Scenario: `pending` for an example that is currently passing with a reason
60
+ Given a file named "pending_with_passing_block_spec.rb" with:
61
+ """ruby
62
+ RSpec.describe "an example" do
63
+ example("something else getting finished", :pending => 'unimplemented') do
64
+ expect(1).to eq(1)
65
+ end
66
+ end
67
+ """
68
+ When I run `rspec pending_with_passing_block_spec.rb`
69
+ Then the exit status should not be 0
70
+ And the output should contain "1 example, 1 failure"
71
+ And the output should contain "FIXED"
72
+ And the output should contain "Expected pending 'unimplemented' to fail. No Error was raised."
73
+ And the output should contain "pending_with_passing_block_spec.rb:2"
@@ -0,0 +1,106 @@
1
+ Feature: `skip` examples
2
+
3
+ RSpec offers a number of ways to indicate that an example should be skipped
4
+ and not executed.
5
+
6
+ Scenario: No implementation provided
7
+ Given a file named "example_without_block_spec.rb" with:
8
+ """ruby
9
+ RSpec.describe "an example" do
10
+ it "is a skipped example"
11
+ end
12
+ """
13
+ When I run `rspec example_without_block_spec.rb`
14
+ Then the exit status should be 0
15
+ And the output should contain "1 example, 0 failures, 1 pending"
16
+ And the output should contain "Not yet implemented"
17
+ And the output should contain "example_without_block_spec.rb:2"
18
+
19
+ Scenario: Skipping using `skip`
20
+ Given a file named "skipped_spec.rb" with:
21
+ """ruby
22
+ RSpec.describe "an example" do
23
+ skip "is skipped" do
24
+ end
25
+ end
26
+ """
27
+ When I run `rspec skipped_spec.rb`
28
+ Then the exit status should be 0
29
+ And the output should contain "1 example, 0 failures, 1 pending"
30
+ And the output should contain:
31
+ """
32
+ Pending:
33
+ an example is skipped
34
+ # No reason given
35
+ # ./skipped_spec.rb:2
36
+ """
37
+
38
+ Scenario: Skipping using `skip` inside an example
39
+ Given a file named "skipped_spec.rb" with:
40
+ """ruby
41
+ RSpec.describe "an example" do
42
+ it "is skipped" do
43
+ skip
44
+ end
45
+ end
46
+ """
47
+ When I run `rspec skipped_spec.rb`
48
+ Then the exit status should be 0
49
+ And the output should contain "1 example, 0 failures, 1 pending"
50
+ And the output should contain:
51
+ """
52
+ Pending:
53
+ an example is skipped
54
+ # No reason given
55
+ # ./skipped_spec.rb:2
56
+ """
57
+
58
+ Scenario: Temporarily skipping by prefixing `it`, `specify`, or `example` with an x
59
+ Given a file named "temporarily_skipped_spec.rb" with:
60
+ """ruby
61
+ RSpec.describe "an example" do
62
+ xit "is skipped using xit" do
63
+ end
64
+
65
+ xspecify "is skipped using xspecify" do
66
+ end
67
+
68
+ xexample "is skipped using xexample" do
69
+ end
70
+ end
71
+ """
72
+ When I run `rspec temporarily_skipped_spec.rb`
73
+ Then the exit status should be 0
74
+ And the output should contain "3 examples, 0 failures, 3 pending"
75
+ And the output should contain:
76
+ """
77
+ Pending:
78
+ an example is skipped using xit
79
+ # Temporarily skipped with xit
80
+ # ./temporarily_skipped_spec.rb:2
81
+ an example is skipped using xspecify
82
+ # Temporarily skipped with xspecify
83
+ # ./temporarily_skipped_spec.rb:5
84
+ an example is skipped using xexample
85
+ # Temporarily skipped with xexample
86
+ # ./temporarily_skipped_spec.rb:8
87
+ """
88
+
89
+ Scenario: Skipping using metadata
90
+ Given a file named "skipped_spec.rb" with:
91
+ """ruby
92
+ RSpec.describe "an example" do
93
+ example "is skipped", :skip => true do
94
+ end
95
+ end
96
+ """
97
+ When I run `rspec skipped_spec.rb`
98
+ Then the exit status should be 0
99
+ And the output should contain "1 example, 0 failures, 1 pending"
100
+ And the output should contain:
101
+ """
102
+ Pending:
103
+ an example is skipped
104
+ # No reason given
105
+ # ./skipped_spec.rb:2
106
+ """
@@ -0,0 +1,13 @@
1
+ Feature: arbitrary file suffix
2
+
3
+ Scenario: `.spec`
4
+ Given a file named "a.spec" with:
5
+ """ruby
6
+ RSpec.describe "something" do
7
+ it "does something" do
8
+ expect(3).to eq(3)
9
+ end
10
+ end
11
+ """
12
+ When I run `rspec a.spec`
13
+ Then the examples should all pass
@@ -0,0 +1,126 @@
1
+ require 'rspec/core' # to fix annoying "undefined method `configuration' for RSpec:Module (NoMethodError)"
2
+
3
+ Then /^the output should contain all of these:$/ do |table|
4
+ table.raw.flatten.each do |string|
5
+ assert_partial_output(string, all_output)
6
+ end
7
+ end
8
+
9
+ Then /^the output should not contain any of these:$/ do |table|
10
+ table.raw.flatten.each do |string|
11
+ expect(all_output).not_to match(regexp(string))
12
+ end
13
+ end
14
+
15
+ Then /^the output should contain one of the following:$/ do |table|
16
+ matching_output = table.raw.flatten.select do |string|
17
+ all_output =~ regexp(string)
18
+ end
19
+
20
+ expect(matching_output.count).to eq(1)
21
+ end
22
+
23
+ Then /^the example(?:s)? should(?: all)? pass$/ do
24
+ step %q{the output should contain "0 failures"}
25
+ step %q{the output should not contain "0 examples"}
26
+ step %q{the exit status should be 0}
27
+ end
28
+
29
+ Then /^the example(?:s)? should(?: all)? fail$/ do
30
+ step %q{the output should not contain "0 examples"}
31
+ step %q{the output should not contain "0 failures"}
32
+ step %q{the exit status should be 1}
33
+ example_summary = /(\d+) examples?, (\d+) failures?/.match(all_output)
34
+ example_count, failure_count = example_summary.captures
35
+ expect(failure_count).to eq(example_count)
36
+ end
37
+
38
+ Then /^the process should succeed even though no examples were run$/ do
39
+ step %q{the output should contain "0 examples, 0 failures"}
40
+ step %q{the exit status should be 0}
41
+ end
42
+
43
+ addition_example_formatter_output = <<-EOS
44
+ Addition
45
+ works
46
+ EOS
47
+
48
+ Then /^the output from `([^`]+)` (should(?: not)?) be in documentation format$/ do |cmd, should_or_not|
49
+ step %Q{I run `#{cmd}`}
50
+ step %q{the examples should all pass}
51
+ step %Q{the output from "#{cmd}" #{should_or_not} contain "#{addition_example_formatter_output}"}
52
+ end
53
+
54
+ Then(/^the output from `([^`]+)` should indicate it ran only the subtraction file$/) do |cmd|
55
+ step %Q{I run `#{cmd}`}
56
+ step %q{the examples should all pass}
57
+ step %Q{the output from "#{cmd}" should contain "1 example, 0 failures"}
58
+ step %Q{the output from "#{cmd}" should contain "Subtraction"}
59
+ step %Q{the output from "#{cmd}" should not contain "Addition"}
60
+ end
61
+
62
+ Then /^the backtrace\-normalized output should contain:$/ do |partial_output|
63
+ # ruby 1.9 includes additional stuff in the backtrace,
64
+ # so we need to normalize it to compare it with our expected output.
65
+ normalized_output = all_output.split("\n").map do |line|
66
+ line =~ /(^\s+# [^:]+:\d+)/ ? $1 : line # http://rubular.com/r/zDD7DdWyzF
67
+ end.join("\n")
68
+
69
+ expect(normalized_output).to match(regexp(partial_output))
70
+ end
71
+
72
+ Then /^the output should not contain any error backtraces$/ do
73
+ step %q{the output should not contain "lib/rspec/core"}
74
+ end
75
+
76
+ # This step can be generalized if it's ever used to test other colors
77
+ Then /^the failing example is printed in magenta$/ do
78
+ # \e[35m = enable magenta
79
+ # \e[0m = reset colors
80
+ expect(all_output).to include("\e[35m" + "F" + "\e[0m")
81
+ end
82
+
83
+ Then /^the output from `([^`]+)` should contain "(.*?)"$/ do |cmd, expected_output|
84
+ step %Q{I run `#{cmd}`}
85
+ step %Q{the output from "#{cmd}" should contain "#{expected_output}"}
86
+ end
87
+
88
+ Then /^the output from `([^`]+)` should not contain "(.*?)"$/ do |cmd, expected_output|
89
+ step %Q{I run `#{cmd}`}
90
+ step %Q{the output from "#{cmd}" should not contain "#{expected_output}"}
91
+ end
92
+
93
+ Given /^I have a brand new project with no files$/ do
94
+ in_current_dir do
95
+ expect(Dir["**/*"]).to eq([])
96
+ end
97
+ end
98
+
99
+ Given /^I have run `([^`]*)`$/ do |cmd|
100
+ fail_on_error = true
101
+ run_simple(unescape(cmd), fail_on_error)
102
+ end
103
+
104
+ Given(/^a vendored gem named "(.*?)" containing a file named "(.*?)" with:$/) do |gem_name, file_name, file_contents|
105
+ gem_dir = "vendor/#{gem_name}-1.2.3"
106
+ step %Q{a file named "#{gem_dir}/#{file_name}" with:}, file_contents
107
+ set_env('RUBYOPT', ENV['RUBYOPT'] + " -I#{gem_dir}/lib")
108
+ end
109
+
110
+ When "I accept the recommended settings by removing `=begin` and `=end` from `spec/spec_helper.rb`" do
111
+ in_current_dir do
112
+ spec_helper = File.read("spec/spec_helper.rb")
113
+ expect(spec_helper).to include("=begin", "=end")
114
+
115
+ to_keep = spec_helper.lines.reject do |line|
116
+ line.start_with?("=begin") || line.start_with?("=end")
117
+ end
118
+
119
+ File.open("spec/spec_helper.rb", "w") { |f| f.write(to_keep.join) }
120
+ expect(File.read("spec/spec_helper.rb")).not_to include("=begin", "=end")
121
+ end
122
+ end
123
+
124
+ When /^I create "([^"]*)" with the following content:$/ do |file_name, content|
125
+ write_file(file_name, content)
126
+ end