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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea42ddfb8b64b16fb6c520b5e691f58c26ce6215f1cc65992c1819a4f918bbaa
4
- data.tar.gz: f5c3399910e91971c49f72d94ec510950545a3fa76e6d765f70a0fb8ad766bca
3
+ metadata.gz: e45ed7a09f4e7d46556dbe78af2048c1230b96ad18facf941995e2a1ae3604cb
4
+ data.tar.gz: 4a85c500c3658a5b050a8da841cfed047970567d42118719d7cc684a2d7b1205
5
5
  SHA512:
6
- metadata.gz: 391ad3c77faf6eb6fe4cc9445862475c6588f7806d588367150c116429ff8026ed631ebb8307afa41d5e2cb78a102acf1afa1c522038f1b7a63138d85019bf91
7
- data.tar.gz: 15499b0d9ae6444b7eae71d6c9ee98e2bdee75eca22345c559390782ee0fb59c45c039a8613483d9d50a82b3370b52fff3e5fed7b52c6c8bdcb9956b0e4cd6ff
6
+ metadata.gz: ffa9d5eed1f829c2fa18267b87146142149cfcab9720fc618f8b72e187ab176d8e855c73c9ecabd1a825e274ae99ff5cd8963ede561764188f8bceab6e03bf48
7
+ data.tar.gz: b057a034a0197ea7fae8ccb0c99bc11bc7f91c852f0eb1d436465a7c8670b19f99ee8ea5be7c5df7da36942629f99b0dc07be6c02a40ae4458357b8a31a2c533
@@ -1,5 +1,5 @@
1
1
  module Opal
2
2
  module RSpec
3
- VERSION = '0.7.0.rc.1'
3
+ VERSION = '0.7.0.rc.2'
4
4
  end
5
5
  end
@@ -14,10 +14,12 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = 'https://github.com/opal/opal-rspec'
15
15
  spec.license = "MIT"
16
16
 
17
- spec.files = Dir.chdir(__dir__){`git ls-files -z`}.split("\x0").reject do |f|
18
- # spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
- f.match(%r{^(test|spec|features)/})
17
+ spec.files = Dir.chdir(__dir__){
18
+ `git ls-files --recurse-submodules -z`
19
+ }.split("\x0").reject do |f|
20
+ f.match(%r{^(spec|rspec(-\w+)?(/upstream)?/spec/)})
20
21
  end
22
+
21
23
  spec.bindir = "exe"
22
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
25
  spec.require_paths = ["lib"]
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ -
3
+ README.md
4
+ License.txt
5
+ Changelog.md
@@ -0,0 +1,21 @@
1
+ .rvmrc
2
+ *.sw?
3
+ .DS_Store
4
+ coverage*
5
+ doc
6
+ rdoc
7
+ pkg
8
+ tmp
9
+ tags
10
+ rerun.txt
11
+ Gemfile.lock
12
+ .bundle
13
+ *.rbc
14
+ bin
15
+ .rbx
16
+ .yardoc
17
+ vendor
18
+ Gemfile-custom
19
+ .idea
20
+ bundle
21
+ .rspec-local
@@ -0,0 +1,2 @@
1
+ --order rand
2
+ --warnings
@@ -0,0 +1,53 @@
1
+ inherit_from: .rubocop_rspec_base.yml
2
+
3
+ AllCops:
4
+ Exclude:
5
+ # This code was taken from the backports gem. We don't want to mess with it.
6
+ - lib/rspec/core/backport_random.rb
7
+
8
+ # This should go down over time.
9
+ ClassLength:
10
+ Max: 330
11
+
12
+ # This should go down over time.
13
+ LineLength:
14
+ Max: 180
15
+
16
+ Lint/HandleExceptions:
17
+ Exclude:
18
+ - lib/rspec/core/example.rb
19
+ - lib/rspec/core/mocking_adapters/mocha.rb
20
+ - lib/rspec/core/runner.rb
21
+ - lib/rspec/core/test_unit_assertions_adapter.rb
22
+
23
+ Lint/LiteralInInterpolation:
24
+ Enabled: false
25
+
26
+ # This should go down over time.
27
+ MethodLength:
28
+ Max: 152
29
+
30
+ # Exclude the default spec_helper to make it easier to uncomment out
31
+ # default settings (for both users and the Cucumber suite).
32
+ Style/BlockComments:
33
+ Exclude:
34
+ - lib/rspec/core/project_initializer/spec/spec_helper.rb
35
+
36
+ # Not sure what to do with this rule yet.
37
+ Style/ClassAndModuleChildren:
38
+ Exclude:
39
+ - lib/rspec/core/formatters.rb
40
+ - lib/rspec/core/notifications.rb
41
+ - lib/rspec/core/option_parser.rb
42
+ - lib/rspec/core/reporter.rb
43
+
44
+ # This should go down over time.
45
+ Style/CyclomaticComplexity:
46
+ Max: 12
47
+
48
+ Style/RaiseArgs:
49
+ Exclude:
50
+ - lib/rspec/core/configuration.rb
51
+ - lib/rspec/core/hooks.rb
52
+ - lib/rspec/core/option_parser.rb
53
+ - lib/rspec/core/pending.rb
@@ -0,0 +1,130 @@
1
+ # This file was generated on 2014-08-23T21:27:12-07:00 from the rspec-dev repo.
2
+ # DO NOT modify it by hand as your changes will get lost the next time it is generated.
3
+
4
+ # This file contains defaults for RSpec projects. Individual projects
5
+ # can customize by inheriting this file and overriding particular settings.
6
+
7
+ AccessModifierIndentation:
8
+ EnforcedStyle: outdent
9
+
10
+ # "Use alias_method instead of alias"
11
+ # We're fine with `alias`.
12
+ Alias:
13
+ Enabled: false
14
+
15
+ AlignParameters:
16
+ EnforcedStyle: with_first_parameter
17
+
18
+ # "Avoid the use of the case equality operator ==="
19
+ # We prefer using `Class#===` over `Object#is_a?` because `Class#===`
20
+ # is less likely to be monkey patched than `is_a?` on a user object.
21
+ CaseEquality:
22
+ Enabled: false
23
+
24
+ # Warns when the class is excessively long.
25
+ ClassLength:
26
+ Max: 100
27
+
28
+ CollectionMethods:
29
+ PreferredMethods:
30
+ reduce: 'inject'
31
+
32
+ # Over time we'd like to get this down, but this is what we're at now.
33
+ CyclomaticComplexity:
34
+ Max: 10
35
+
36
+ # We use YARD to enforce documentation. It works better than rubocop's
37
+ # enforcement...rubocop complains about the places we re-open
38
+ # `RSpec::Expectations` and `RSpec::Matchers` w/o having doc commments.
39
+ Documentation:
40
+ Enabled: false
41
+
42
+ # We still support 1.8.7 which requires trailing dots
43
+ DotPosition:
44
+ EnforcedStyle: trailing
45
+
46
+ DoubleNegation:
47
+ Enabled: false
48
+
49
+ # each_with_object is unavailable on 1.8.7 so we have to disable this one.
50
+ EachWithObject:
51
+ Enabled: false
52
+
53
+ Encoding:
54
+ EnforcedStyle: when_needed
55
+
56
+ FormatString:
57
+ EnforcedStyle: percent
58
+
59
+ # As long as we support ruby 1.8.7 we have to use hash rockets.
60
+ HashSyntax:
61
+ EnforcedStyle: hash_rockets
62
+
63
+ # We can't use the new lambda syntax, since we still support 1.8.7.
64
+ Lambda:
65
+ Enabled: false
66
+
67
+ # Over time we'd like to get this down, but this is what we're at now.
68
+ LineLength:
69
+ Max: 100
70
+
71
+ # Over time we'd like to get this down, but this is what we're at now.
72
+ MethodLength:
73
+ Max: 15
74
+
75
+ # Who cares what we call the argument for binary operator methods?
76
+ OpMethod:
77
+ Enabled: false
78
+
79
+ PercentLiteralDelimiters:
80
+ PreferredDelimiters:
81
+ '%': () # double-quoted string
82
+ '%i': '[]' # array of symbols
83
+ '%q': () # single-quoted string
84
+ '%Q': () # double-quoted string
85
+ '%r': '{}' # regular expression pattern
86
+ '%s': () # a symbol
87
+ '%w': '[]' # array of single-quoted strings
88
+ '%W': '[]' # array of double-quoted strings
89
+ '%x': () # a shell command as a string
90
+
91
+ # We have too many special cases where we allow generator methods or prefer a
92
+ # prefixed predicate due to it's improved readability.
93
+ PredicateName:
94
+ Enabled: false
95
+
96
+ # On 1.8 `proc` is `lambda`, so we use `Proc.new` to ensure we get real procs on all supported versions.
97
+ # http://batsov.com/articles/2014/02/04/the-elements-of-style-in-ruby-number-12-proc-vs-proc-dot-new/
98
+ Proc:
99
+ Enabled: false
100
+
101
+ RedundantReturn:
102
+ AllowMultipleReturnValues: true
103
+
104
+ # We have to rescue Exception in the `raise_error` matcher for it to work properly.
105
+ RescueException:
106
+ Enabled: false
107
+
108
+ # We haven't adopted the `fail` to signal exceptions vs `raise` for re-raises convention.
109
+ SignalException:
110
+ Enabled: false
111
+
112
+ # We've tended to use no space, so it's less of a change to stick with that.
113
+ SpaceAroundEqualsInParameterDefault:
114
+ EnforcedStyle: no_space
115
+
116
+ # We don't care about single vs double qoutes.
117
+ StringLiterals:
118
+ Enabled: false
119
+
120
+ # This rule favors constant names from the English standard library which we don't load.
121
+ Style/SpecialGlobalVars:
122
+ Enabled: false
123
+
124
+ Style/TrailingComma:
125
+ Enabled: false
126
+
127
+ TrivialAccessors:
128
+ AllowDSLWriters: true
129
+ AllowPredicates: true
130
+ ExactNameMatch: true
@@ -0,0 +1,35 @@
1
+ # This file was generated on 2014-08-23T21:27:12-07:00 from the rspec-dev repo.
2
+ # DO NOT modify it by hand as your changes will get lost the next time it is generated.
3
+
4
+ language: ruby
5
+ sudo: false
6
+ before_install:
7
+ - "script/clone_all_rspec_repos"
8
+ # Downgrade bundler to work around https://github.com/bundler/bundler/issues/3004
9
+ # Note this doesn't work on JRUBY 2.0.0 mode so we don't do it
10
+ - if [ -z "$JRUBY_OPTS" ]; then gem install bundler -v=1.5.3 && alias bundle="bundle _1.5.3_"; fi
11
+ bundler_args: "--binstubs --standalone --without documentation --path ../bundle"
12
+ script: "script/run_build"
13
+ rvm:
14
+ - 1.8.7
15
+ - 1.9.2
16
+ - 1.9.3
17
+ - 2.0.0
18
+ - 2.1.0
19
+ - 2.1.1
20
+ - 2.1.2
21
+ - ruby-head
22
+ - ree
23
+ - jruby-18mode
24
+ - jruby
25
+ - jruby-head
26
+ - rbx
27
+ matrix:
28
+ include:
29
+ - rvm: jruby
30
+ env: JRUBY_OPTS='--2.0'
31
+ allow_failures:
32
+ - rvm: jruby-head
33
+ - rvm: ruby-head
34
+ - rvm: rbx
35
+ fast_finish: true
@@ -0,0 +1,7 @@
1
+ --exclude features
2
+ --no-private
3
+ --markup markdown
4
+ --default-return void
5
+ -
6
+ Changelog.md
7
+ License.txt
@@ -0,0 +1,1641 @@
1
+ ### 3.1.7 / 2014-10-11
2
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.6...v3.1.7)
3
+
4
+ Bug Fixes:
5
+
6
+ * Fix `Metadata.relative_path` so that for a current directory of
7
+ `/foo/bar`, `/foo/bar_1` is not wrongly converted to `._1`.
8
+ (Akos Vandra, #1730)
9
+ * Prevent constant lookup mistakenly finding `RSpec::ExampleGroups` generated
10
+ constants on 1.9.2 by appending a trailing `_` to the generated names.
11
+ (Jon Rowe, #1737)
12
+ * Fix bug in `:pending` metadata. If it got set in any way besides passing
13
+ it as part of the metadata literal passed to `it` (such as by using
14
+ `define_derived_metadata`), it did not have the desired effect,
15
+ instead marking the example as `:passed`. (Myron Marston, #1739)
16
+
17
+ ### 3.1.6 / 2014-10-08
18
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.5...v3.1.6)
19
+
20
+ Bug Fixes:
21
+
22
+ * Fix regression in rake task pattern handling, that prevented patterns
23
+ that were relative from the current directory rather than from `spec`
24
+ from working properly. (Myron Marston, #1734)
25
+ * Prevent rake task from generating duplicate load path entries.
26
+ (Myron Marston, #1735)
27
+
28
+ ### 3.1.5 / 2014-09-29
29
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.4...v3.1.5)
30
+
31
+ Bug Fixes:
32
+
33
+ * Fix issue with the rake task incorrectly escaping strings on Windows.
34
+ (Jon Rowe #1718)
35
+ * Support absolute path patterns. While this wasn't officially supported
36
+ previously, setting `rake_task.pattern` to an absolute path pattern in
37
+ RSpec 3.0 and before worked since it delegated to `FileList` internally
38
+ (but now just forwards the pattern on to the `rspec` command).
39
+ (Myron Marston, #1726)
40
+
41
+ ### 3.1.4 / 2014-09-18
42
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.3...v3.1.4)
43
+
44
+ Bug Fixes:
45
+
46
+ * Fix implicit `subject` when using `describe false` or `describe nil`
47
+ so that it returns the provided primitive rather than the string
48
+ representation. (Myron Marston, #1710)
49
+ * Fix backtrace filtering to allow code in subdirectories of your
50
+ current working directory (such as vendor/bundle/...) to be filtered
51
+ from backtraces. (Myron Marston, #1708)
52
+
53
+ ### 3.1.3 / 2014-09-15
54
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.2...v3.1.3)
55
+
56
+ Bug Fixes:
57
+
58
+ * Fix yet another regression in rake task pattern handling, to allow
59
+ `task.pattern = FileList["..."]` to work. That was never intended
60
+ to be supported but accidentally worked in 3.0 and earlier.
61
+ (Myron Marston, #1701)
62
+ * Fix pattern handling so that files are normalized to absolute paths
63
+ before subtracting the `--exclude-pattern` matched files from the
64
+ `--pattern` matched files so that it still works even if the patterns
65
+ are in slightly different forms (e.g. one starting with `./`).
66
+ (Christian Nelson, #1698)
67
+
68
+ ### 3.1.2 / 2014-09-08
69
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.1...v3.1.2)
70
+
71
+ Bug Fixes:
72
+
73
+ * Fix another regression in rake task pattern handling, so that patterns
74
+ that start with `./` still work. (Christian Nelson, #1696)
75
+
76
+ ### 3.1.1 / 2014-09-05
77
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.0...v3.1.1)
78
+
79
+ Bug Fixes:
80
+
81
+ * Fix a regression in rake task pattern handling, so that `rake_task.pattern = array`
82
+ works again. While we never intended to support array values (or even knew that worked!),
83
+ the implementation from 3.0 and earlier used `FileList` internally, which allows arrays.
84
+ The fix restores the old behavior. (Myron Marston, #1694)
85
+
86
+ ### 3.1.0 / 2014-09-04
87
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.4...v3.1.0)
88
+
89
+ Enhancements:
90
+
91
+ * Update files generated by `rspec --init` so that warnings are enabled
92
+ in commented out section of `spec_helper` rather than `.rspec` so users
93
+ have to consciously opt-in to the setting. (Andrew Hooker, #1572)
94
+ * Update `spec_helper` generated by `rspec --init` so that it sets the new
95
+ rspec-expectations `include_chain_clauses_in_custom_matcher_descriptions`
96
+ config option (which will be on by default in RSpec 4) and also sets the
97
+ rspec-mocks `verify_partial_doubles` option (which will also default
98
+ to on in RSpec 4). (Myron Marston, #1647)
99
+ * Provide an `inspect` output for example procsy objects (used in around
100
+ hooks) that doesn't make them look like procs. (Jon Rowe, #1620)
101
+ * Remove a few unneeded `require` statements from
102
+ `rspec/core/rake_task.rb`, making it even more lighterweight.
103
+ (Myron Marston, #1640)
104
+ * Allow rspec-core to be used when neither rspec-mocks or
105
+ rspec-expectations are installed, without requiring any
106
+ user configuration. (Sam Phippen, Myron Marston, #1615)
107
+ * Don't filter out gems from backtraces by default. (The RSpec
108
+ gems will still be filtered). User feedback has indicated
109
+ that including gems in default backtraces will be useful.
110
+ (Myron Marston, #1641)
111
+ * Add new `config.filter_gems_from_backtrace "rack", "rake"` API
112
+ to easily filter the named gems from backtraces. (Myron Marston, #1682)
113
+ * Fix default backtrace filters so that the RSpec binary is
114
+ excluded when installing RSpec as a bundler `:git` dependency.
115
+ (Myron Marston, #1648)
116
+ * Simplify command generated by the rake task so that it no longer
117
+ includes unnecessary `-S`. (Myron Marston, #1559)
118
+ * Add `--exclude-pattern` CLI option, `config.exclude_pattern =` config
119
+ option and `task.exclude_pattern =` rake task config option. Matching
120
+ files will be excluded. (John Gesimondo, Myron Marston, #1651, #1671)
121
+ * When an around hook fails to execute the example, mark it as
122
+ pending (rather than passing) so the user is made aware of the
123
+ fact that the example did not actually run. (Myron Marston, #1660)
124
+ * Remove dependency on `FileUtils` from the standard library so that users do
125
+ not get false positives where their code relies on it but they are not
126
+ requiring it. (Sam Phippen, #1565)
127
+
128
+ Bug Fixes:
129
+
130
+ * Fix rake task `t.pattern =` option so that it does not run all specs
131
+ when it matches no files, by passing along a `--pattern` option to
132
+ the `rspec` command, rather than resolving the file list and passing
133
+ along the files individually. (Evgeny Zislis, #1653)
134
+ * Fix rake task default pattern so that it follows symlinks properly.
135
+ (Myron Marston, #1672)
136
+ * Fix default pattern used with `rspec` command so that it follows
137
+ symlinks properly. (Myron Marston, #1672)
138
+ * Change how we assign constant names to example group classes so that
139
+ it avoids a problem with `describe "Core"`. (Daniela Wellisz, #1679)
140
+ * Handle rendering exceptions that have a different encoding than that
141
+ of their original source file. (Jon Rowe, #1681)
142
+ * Allow access to message_lines without colour for failed examples even
143
+ when they're part of a shared example group. (tomykaira, #1689)
144
+
145
+ ### 3.0.4 / 2014-08-14
146
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.3...v3.0.4)
147
+
148
+ Bug Fixes:
149
+
150
+ * Fix processing order of CLI options so that if `config.files_to_run`
151
+ is accessed from a file loaded by `--require`, `--pattern` is still
152
+ applied. (Myron Marston, #1652)
153
+ * Fix `config.pattern=` so that it still takes affect even if
154
+ `config.files_to_run` has already been accessed. (Myron Marston, #1652)
155
+
156
+ ### 3.0.3 / 2014-07-21
157
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.2...v3.0.3)
158
+
159
+ Bug Fixes:
160
+
161
+ * Properly convert both parts of a description into strings before
162
+ concatenation. (@nicklink483, #1636)
163
+ * Exclude the working directory when figuring out folders to ignore.
164
+ (Jon Rowe, Myron Marston, #1616)
165
+ * Allow `::RSpec::Core::Notifications::FailedExampleNotification#message_lines`
166
+ to be accessed without a colouriser. (@tomykaira, #1637)
167
+
168
+ ### 3.0.2 / 2014-06-19
169
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.1...v3.0.2)
170
+
171
+ Bug Fixes:
172
+
173
+ * Fix regression in CLI option handling that prevented `--tag slow`
174
+ passed at the command line from overriding `--tag ~slow` in `.rspec`.
175
+ (Colin Jones, #1602)
176
+ * Fix metadata `:example_group` deprecation warning so that it gets
177
+ issued at the call site of the configuration that specified it as
178
+ a filter rather than later when an example group is defined.
179
+ (Myron Marston, #1562)
180
+ * Make the line that is printed when a shared example group fails indicating
181
+ where the concrete example group is white, separating it from the stack trace
182
+ that is produced for the failure. (Sam Phippen, Jon Rowe, #1606)
183
+
184
+ ### 3.0.1 / 2014-06-12
185
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0...v3.0.1)
186
+
187
+ Bug Fixes:
188
+
189
+ * Fix a couple ruby warnings caused by rspec-core when loaded.
190
+ (Prem Sichanugrist, #1584)
191
+ * Example groups named `Config` will no longer cause a Ruby warning to be
192
+ issued. (Jimmy Cuadra, #1580)
193
+
194
+ ### 3.0.0 / 2014-06-01
195
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.rc1...v3.0.0)
196
+
197
+ Bug Fixes:
198
+
199
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
200
+ stream. (Myron Marston)
201
+ * Fix regression in metadata that caused the metadata hash of a top-level
202
+ example group to have a `:parent_example_group` key even though it has
203
+ no parent example group. (Myron Marston)
204
+
205
+ Enhancements:
206
+
207
+ * Alter the default `spec_helper.rb` to no longer recommend
208
+ `config.full_backtrace = true` see #1536 for discussion. (Jon Rowe)
209
+
210
+ ### 3.0.0.rc1 / 2014-05-18
211
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta2...v3.0.0.rc1)
212
+
213
+ Breaking Changes for 3.0.0:
214
+
215
+ * Change `described_class` so that in a nested group like `describe
216
+ MyClass`, it returns `MyClass` rather than the outer group's described
217
+ class. (Myron Marston)
218
+ * Refactor filter manager so that it no longer subclasses Hash and has a
219
+ tighter, more domain-specific interface. (Sergey Pchelincev)
220
+ * Remove legacy colours definitions from `BaseTextFormatter`. (Jon Rowe)
221
+ * Remove console color definitions from `BaseTextFormatter`. (Jon Rowe)
222
+ * Restructure example group metadata so that the computed keys are
223
+ exposed directly off of the metadata hash rather than being on
224
+ a nested `:example_group` subhash. In addition, the parent example
225
+ group metadata is now available as `[:parent_example_group]` rather
226
+ than `[:example_group][:example_group]`. Deprecated access via the
227
+ old key structure is still provided. (Myron Marston)
228
+ * Remove `:describes` metadata key. It duplicates `:described_class`
229
+ for no good reason. Deprecated access via `:describes` is still
230
+ provided. (Myron Marston)
231
+ * Rename `:example_group_block` metadata key to `:block`.
232
+ (Myron Marston)
233
+ * Remove deprecated `RSpec::Core::Example#options`. (Myron Marston)
234
+ * Move `BaseTextFormatter#colorize_summary` to `SummaryNotification#colorize_with`
235
+ (Jon Rowe).
236
+ * `describe some_hash` treated `some_hash` as metadata in RSpec 2.x but
237
+ will treat it as the described object in RSpec 3.0. Metadata must
238
+ always come after the description args. (Myron Marston)
239
+ * Remove deprecated `display_name` alias of `ExampleGroup.description`.
240
+ (Myron Marston)
241
+ * Remove deprecated `describes` alias of `ExampleGroup.described_class`.
242
+ (Myron Marston)
243
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_it_behaves_like_to`.
244
+ Use `RSpec::Core::Configuration#alias_it_behaves_like_to` instead.
245
+ (Myron Marston)
246
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_example_to`.
247
+ Use `RSpec::Core::Configuration#alias_example_to` instead.
248
+ (Myron Marston)
249
+ * Removed `focused` example alias and change example/group aliases
250
+ `fit`, `focus`, `fcontext` and `fdescribe` to no longer include
251
+ `:focused => true` metadata. They only contain `:focus => true`
252
+ metadata now. This means that you will need to filter them with
253
+ `filter_run :focus`, not `filter_run :focused`. (Myron Marston)
254
+ * Remove `--line-number` filtering. It's semantically dubious since it's
255
+ a global filter (potentially applied to multiple files) but there's no
256
+ meaningful connection between the same line number in multiple files.
257
+ Instead use the `rspec path/to/spec.rb:23:46` form, which is terser
258
+ and makes more sense as it is scoped to a file. (Myron Marston)
259
+ * Remove `--default_path` as an alias for `--default-path`. (Jon Rowe)
260
+ * Remove deprecated `share_examples_for`. There's still
261
+ `shared_examples` and `shared_examples_for`. (Myron Marston)
262
+ * Rename `RSpec::Core::Configuration#warnings` to
263
+ `RSpec::Core::Configuration#warnings?` since it's a boolean flag.
264
+ (Myron Marston)
265
+ * RSpec's global state is no longer reset after a spec run. This gives
266
+ more flexibility to alternate runners to decide when and if they
267
+ want the state reset. Alternate runners are now responsible for
268
+ calling this (or doing a similar reset) if they are going to run
269
+ the spec suite multiple times in the same process. (Sam Phippen)
270
+ * Merge `RSpec::Core::CommandLine` (never formally declared public)
271
+ into `RSpec::Core::Runner`. (Myron Marston)
272
+ * Remove `color_enabled` as an alias of `color`. (Jon Rowe)
273
+ * Remove `backtrace_cleaner` as an alias of `backtrace_formatter`. (Jon Rowe)
274
+ * Remove `filename_pattern` as an alias of `pattern`. (Jon Rowe)
275
+ * Extract support for legacy formatters to `rspec-legacy_formatters`. (Jon Rowe)
276
+ * `RSpec::Configuration#formatters` now returns a dup to prevent mutation. (Jon Rowe)
277
+ * Replace `stdlib` as an available expectation framework with `test_unit` and
278
+ `minitest`. (Aaron Kromer)
279
+ * Remove backtrace formatting helpers from `BaseTextFormatter`. (Jon Rowe)
280
+ * Extract profiler support to `ProfileFormatter` and `ProfileNotification`.
281
+ Formatters should implement `dump_profile` if they wish to respond to `--profile`.
282
+ (Jon Rowe)
283
+ * Extract remaining formatter state to reporter and notifications. Introduce
284
+ `ExamplesNotification` to share information about examples that was previously
285
+ held in `BaseFormatter`. (Jon Rowe)
286
+
287
+ Enhancements:
288
+
289
+ * Add `config.default_formatter` attribute, which can be used to set a
290
+ formatter which will only be used if no other formatter is set
291
+ (e.g. via `--formatter`). (Myron Marston)
292
+ * Support legacy colour definitions in `LegacyFormatterAdaptor`. (Jon Rowe)
293
+ * Migrate `execution_result` (exposed by metadata) from a hash to a
294
+ first-class object with appropriate attributes. `status` is now
295
+ stored and returned as a symbol rather than a string. It retains
296
+ deprecated hash behavior for backwards compatibility. (Myron Marston)
297
+ * Provide console code helper for formatters. (Jon Rowe)
298
+ * Use raw ruby hashes for the metadata hashes rather than a subclass of
299
+ a hash. Computed metadata entries are now computed in advance rather
300
+ than being done lazily on first access. (Myron Marston)
301
+ * Add `:block` metadata entry to the example metadata, bringing
302
+ parity with `:block` in the example group metadata. (Myron Marston)
303
+ * Add `fspecify` and `fexample` as aliases of `specify` and `example`
304
+ with `:focus => true` metadata for parity with `fit`. (Myron Marston)
305
+ * Add legacy support for `colorize_summary`. (Jon Rowe)
306
+ * Restructure runner so it can be more easily customized in a subclass
307
+ for an alternate runner. (Ben Hoskings)
308
+ * Document `RSpec::Core::ConfigurationOptions` as an officially
309
+ supported public API. (Myron Marston)
310
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
311
+ to the named file. (Myron Marston)
312
+ * Minitest 5 compatability for `expect_with :stdlib` (now available as
313
+ `expect_with :minitest`). (Xavier Shay)
314
+ * Reporter now notifies formatters of the load time of RSpec and your
315
+ specs via `StartNotification` and `SummaryNotification`. (Jon Rowe)
316
+ * Add `disable_monkey_patching!` config option that disables all monkey
317
+ patching from whatever pieces of RSpec you use. (Alexey Fedorov)
318
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
319
+ * Add `config.define_derived_metadata`, which can be used to apply
320
+ additional metadata to all groups or examples that match a given
321
+ filter. (Myron Marston)
322
+ * Provide formatted and colorized backtraces via `FailedExampleNotification`
323
+ and send `PendingExampleFixedNotifications` when the error is due to a
324
+ passing spec you expect to fail. (Jon Rowe)
325
+ * Add `dump_profile` to formatter API to allow formatters to implement
326
+ support for `--profile`. (Jon Rowe)
327
+ * Allow colourising text via `ConsoleCodes` with RSpec 'states'
328
+ (e.g. `:success`, `:failure`) rather than direct colour codes. (Jon Rowe)
329
+ * Expose `fully_formatted` methods off the formatter notification objects
330
+ that make it easy for a custom formatter to produce formatted output
331
+ like rspec-core's. (Myron Marston)
332
+
333
+ Bug Fixes:
334
+
335
+ * Fix `spec_helper.rb` file generated by `rspec --init` so that the
336
+ recommended settings correctly use the documentation formatter
337
+ when running one file. (Myron Marston)
338
+ * Fix ordering problem where descriptions were generated after
339
+ tearing down mocks, which resulted in unexpected exceptions.
340
+ (Bradley Schaefer, Aaron Kromer, Andrey Savchenko)
341
+ * Allow a symbol to be used as an implicit subject (e.g. `describe
342
+ :foo`). (Myron Marston)
343
+ * Prevent creating an isolated context (i.e. using `RSpec.describe`) when
344
+ already inside a context. There is no reason to do this, and it could
345
+ potentially cause unexpected bugs. (Xavier Shay)
346
+ * Fix shared example group scoping so that when two shared example
347
+ groups share the same name at different levels of nested contexts,
348
+ the one in the nearest context is used. (Myron Marston)
349
+ * Fix `--warnings` option so that it enables warnings immediately so
350
+ that it applies to files loaded by `--require`. (Myron Marston)
351
+ * Issue a warning when you set `config.deprecation_stream` too late for
352
+ it to take effect because the reporter has already been setup. (Myron Marston)
353
+ * Add the full `RSpec::Core::Example` interface to the argument yielded
354
+ to `around` hooks. (Myron Marston)
355
+ * Line number always takes precendence when running specs with filters.
356
+ (Xavier Shay)
357
+ * Ensure :if and :unless metadata filters are treated as a special case
358
+ and are always in-effect. (Bradley Schaefer)
359
+ * Ensure the currently running installation of RSpec is used when
360
+ the rake task shells out to `rspec`, even if a newer version is also
361
+ installed. (Postmodern)
362
+ * Using a legacy formatter as default no longer causes an infinite loop.
363
+ (Xavier Shay)
364
+
365
+ ### 3.0.0.beta2 / 2014-02-17
366
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta1...v3.0.0.beta2)
367
+
368
+ Breaking Changes for 3.0.0:
369
+
370
+ * Make `mock_with` option more strict. Strings are no longer supported
371
+ (e.g. `mock_with "mocha"`) -- use a symbol instead. Also, unrecognized
372
+ values will now result in an error rather than falling back to the
373
+ null mocking adapter. If you want to use the null mocking adapter,
374
+ use `mock_with :nothing` (as has been documented for a long time).
375
+ (Myron Marston)
376
+ * Remove support for overriding RSpec's built-in `:if` and `:unless`
377
+ filters. (Ashish Dixit)
378
+ * Custom formatters are now required to call
379
+ `RSpec::Core::Formatters.register(formatter_class, *notifications)`
380
+ where `notifications` is the list of events the formatter wishes to
381
+ be notified about. Notifications are handled by methods matching the
382
+ names on formatters. This allows us to add or remove notifications
383
+ without breaking existing formatters. (Jon Rowe)
384
+ * Change arguments passed to formatters. Rather than passing multiple
385
+ arguments (which limits are ability to add additional arguments as
386
+ doing so would break existing formatters), we now pass a notification
387
+ value object that exposes the same data via attributes. This will
388
+ allow us to add new bits of data to a notification event without
389
+ breaking existing formatters. (Jon Rowe)
390
+ * Remove support for deprecated `:alias` option for
391
+ `RSpec.configuration.add_setting`. (Myron Marston)
392
+ * Remove support for deprecated `RSpec.configuration.requires = [...]`.
393
+ (Myron Marston)
394
+ * Remove support for deprecated `--formatter` CLI option. (Myron Marston)
395
+ * Remove support for deprecated `--configure` CLI option. (Myron Marston)
396
+ * Remove support for deprecated `RSpec::Core::RakeTask#spec_opts=`.
397
+ (Myron Marston)
398
+ * An example group level `pending` block or `:pending` metadata now executes
399
+ the example and cause a failure if it passes, otherwise it will be pending if
400
+ it fails. The old "never run" behaviour is still used for `xexample`, `xit`,
401
+ and `xspecify`, or via a new `skip` method or `:skip` metadata option.
402
+ (Xavier Shay)
403
+ * After calling `pending` inside an example, the remainder of the example will
404
+ now be run. If it passes a failure is raised, otherwise the example is marked
405
+ pending. The old "never run" behaviour is provided a by a new `skip` method.
406
+ (Xavier Shay)
407
+ * Pending blocks inside an example have been removed as a feature with no
408
+ direct replacement. Use `skip` or `pending` without a block. (Xavier Shay)
409
+ * Pending statement is no longer allowed in `before(:all)` hooks. Use `skip`
410
+ instead. (Xavier Shay)
411
+ * Remove `show_failures_in_pending_blocks` configuration option. (Xavier Shay)
412
+ * Remove support for specifying the documentation formatter using
413
+ 's', 'n', 'spec' or 'nested'. (Jon Rowe)
414
+
415
+ Enhancements:
416
+
417
+ * Add example run time to JSON formatter output. (Karthik Kastury)
418
+ * Add more suggested settings to the files generated by
419
+ `rspec --init`. (Myron Marston)
420
+ * Add `config.alias_example_group_to`, which can be used to define a
421
+ new method that defines an example group with the provided metadata.
422
+ (Michi Huber)
423
+ * Add `xdescribe` and `xcontext` as shortcuts to skip an example group.
424
+ (Myron Marston)
425
+ * Add `fdescribe` and `fcontext` as shortcuts to focus an example group.
426
+ (Myron Marston)
427
+ * Don't autorun specs via `#at_exit` by default. `require 'rspec/autorun'`
428
+ is only needed when running specs via `ruby`, as it always has been.
429
+ Running specs via `rake` or `rspec` are both unaffected. (Ben Hoskings)
430
+ * Add `expose_dsl_globally` config option, defaulting to true. When disabled
431
+ it will remove the monkey patches rspec-core adds to `main` and `Module`
432
+ (e.g. `describe`, `shared_examples_for`, etc). (Jon Rowe)
433
+ * Expose RSpec DSL entry point methods (`describe`,
434
+ `shared_examples_for`, etc) on the `RSpec` constant. Intended for use
435
+ when `expose_dsl_globally` is set to `false`. (Jon Rowe)
436
+ * For consistency, expose all example group aliases (including
437
+ `context`) on the `RSpec` constant. If `expose_dsl_globally` is set to
438
+ `true`, also expose them on `main` and `Module`. Historically, only `describe`
439
+ was exposed. (Jon Rowe, Michi Huber)
440
+ * Add hook scope `:example` as an alias for `:each`, and `:context` as an alias
441
+ for `:all`. (John Feminella)
442
+
443
+ Bug Fixes:
444
+
445
+ * Fix failure (undefined method `path`) in end-of-run summary
446
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
447
+ * Issue error when attempting to use `-i` or `--I` on command line,
448
+ too close to `-I` to be considered short hand for `--init`. (Jon Rowe)
449
+ * Prevent adding formatters to an output target if the same
450
+ formatter has already been added to that output. (Alex Peattie)
451
+ * Allow a matcher-generated example description to be used when
452
+ the example is pending. (Myron Marston)
453
+ * Ensure the configured `failure_exit_code` is used by the rake
454
+ task when there is a failure. (Jon Rowe)
455
+ * Restore behaviour whereby system exclusion filters take priority over working
456
+ directory (was broken in beta1). (Jon Rowe)
457
+ * Prevent RSpec mangling file names that have substrings containing `line_number`
458
+ or `default_path`. (Matijs van Zuijlen)
459
+
460
+ ### 3.0.0.beta1 / 2013-11-07
461
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v3.0.0.beta1)
462
+
463
+ Breaking Changes for 3.0.0:
464
+
465
+ * Remove explicit support for 1.8.6. (Jon Rowe)
466
+ * Remove `RSpec::Core::ExampleGroup#example` and
467
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
468
+ access to the example (e.g. to get its metadata), use a block arg
469
+ instead. (David Chelimsky)
470
+ * Remove `TextMateFormatter`, it has been moved to `rspec-tmbundle`.
471
+ (Aaron Kromer)
472
+ * Remove RCov integration. (Jon Rowe)
473
+ * Remove deprecated support for RSpec 1 constructs (Myron Marston):
474
+ * The `Spec` and `Rspec` constants (rather than `RSpec`).
475
+ * `Spec::Runner.configure` rather than `RSpec.configure`.
476
+ * `Rake::SpecTask` rather than `RSpec::Core::RakeTask`.
477
+ * Remove deprecated support for `share_as`. (Myron Marston)
478
+ * Remove `--debug` option (and corresponding option on
479
+ `RSpec::Core::Configuration`). Instead, use `-r<debugger gem name>` to
480
+ load whichever debugger gem you wish to use (e.g. `ruby-debug`,
481
+ `debugger`, or `pry`). (Myron Marston)
482
+ * Extract Autotest support to a seperate gem. (Jon Rowe)
483
+ * Raise an error when a `let` or `subject` declaration is
484
+ accessed in a `before(:all)` or `after(:all)` hook. (Myron Marston)
485
+ * Extract `its` support to a separate gem. (Peter Alfvin)
486
+ * Disallow use of a shared example group from sibling contexts, making them
487
+ fully isolated. 2.14 and 2.99 allowed this but printed a deprecation warning.
488
+ (Jon Rowe)
489
+ * Remove `RSpec::Core::Configuration#output` and
490
+ `RSpec::Core::Configuration#out` aliases of
491
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
492
+ * Remove legacy ordering APIs deprecated in 2.99.0.beta1. (Myron
493
+ Marston)
494
+
495
+ Enhancements:
496
+
497
+ * Replace unmaintained syntax gem with coderay gem. (Xavier Shay)
498
+ * Times in profile output are now bold instead of `failure_color`.
499
+ (Matthew Boedicker)
500
+ * Add `--no-fail-fast` command line option. (Gonzalo Rodríguez-Baltanás Díaz)
501
+ * Runner now considers the local system ip address when running under Drb.
502
+ (Adrian CB)
503
+ * JsonFormatter now includes `--profile` information. (Alex / @MasterLambaster)
504
+ * Always treat symbols passed as metadata args as hash
505
+ keys with true values. RSpec 2 supported this with the
506
+ `treat_symbols_as_metadata_keys_with_true_values` but
507
+ now this behavior is always enabled. (Myron Marston)
508
+ * Add `--dry-run` option, which prints the formatter output
509
+ of your suite without running any examples or hooks.
510
+ (Thomas Stratmann, Myron Marston)
511
+ * Document the configuration options and default values in the `spec_helper.rb`
512
+ file that is generated by RSpec. (Parker Selbert)
513
+ * Give generated example group classes a friendly name derived
514
+ from the docstring, rather than something like "Nested_2".
515
+ (Myron Marston)
516
+ * Avoid affecting randomization of user code when shuffling
517
+ examples so that users can count on their own seeds
518
+ working. (Travis Herrick)
519
+ * Ordering is no longer a single global property of the test suite.
520
+ Each group can pick an ordering using `:order` metadata. (Andy
521
+ Lindeman, Sam Phippen, Myron Marston)
522
+ * Allow named custom ordering strategies to be registered, which can
523
+ then be used on individual example groups. (Andy Lindeman, Sam
524
+ Phippen, Myron Marston)
525
+
526
+ Deprecations:
527
+
528
+ * `treat_symbols_as_metadata_keys_with_true_values` is deprecated and no
529
+ longer has an affect now that the behavior it enabled is always
530
+ enabled. (Myron Marston)
531
+
532
+ ### 2.99.2 / 2014-08-19
533
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v2.99.2)
534
+
535
+ Enhancements:
536
+
537
+ * Improve deprecation warning for RSpec 3 change in `describe <a symbol>`
538
+ behavior. (Jon Rowe, #1667)
539
+
540
+ ### 2.99.1 / 2014-06-19
541
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0...v2.99.1)
542
+
543
+ Bug Fixes:
544
+
545
+ * Add missing deprecation warning for when `RSpec::Core::Runner` is used
546
+ multiple times in the same process. In 2.x RSpec's global state was
547
+ automatically cleared between runs but in 3.0 you need to call `RSpec.reset`
548
+ manually in these situations. (Sam Phippen, #1587)
549
+ * Prevent deprecation being accidentally issues when doubles used with `be_`
550
+ matchers due to automatically generated descriptions. (Jon Rowe, #1573)
551
+ * Load `rspec/core` when loading `rspec/core/rake_task` to ensure we can
552
+ issue deprecations correctly. (Jon Rowe, #1612)
553
+
554
+ ### 2.99.0 / 2014-06-01
555
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.rc1...v2.99.0)
556
+
557
+ Bug Fixes:
558
+
559
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
560
+ stream. (Myron Marston)
561
+ * Use `RSpec::Configuration#backtrace_exclusion_patterns` rather than the
562
+ deprecated `RSpec::Configuration#backtrace_clean_patterns` when mocking
563
+ with rr. (David Dollar)
564
+
565
+ ### 2.99.0.rc1 / 2014-05-18
566
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta2...v2.99.0.rc1)
567
+
568
+ Enhancements:
569
+
570
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
571
+ to the named file. (Myron Marston)
572
+ * Backport support for `skip` in metadata to skip execution of an example.
573
+ (Xavier Shay, #1472)
574
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
575
+ * Add `test_unit` and `minitest` expectation frameworks. (Aaron Kromer)
576
+
577
+ Deprecations:
578
+
579
+ * Deprecate `RSpec::Core::Pending::PendingDeclaredInExample`, use
580
+ `SkipDeclaredInExample` instead. (Xavier Shay)
581
+ * Issue a deprecation when `described_class` is accessed from within
582
+ a nested `describe <SomeClass>` example group, since `described_class`
583
+ will return the innermost described class in RSpec 3 rather than the
584
+ outermost described class, as it behaved in RSpec 2. (Myron Marston)
585
+ * Deprecate `RSpec::Core::FilterManager::DEFAULT_EXCLUSIONS`,
586
+ `RSpec::Core::FilterManager::STANDALONE_FILTERS` and use of
587
+ `#empty_without_conditional_filters?` on those filters. (Sergey Pchelincev)
588
+ * Deprecate `RSpec::Core::Example#options` in favor of
589
+ `RSpec::Core::Example#metadata`. (Myron Marston)
590
+ * Issue warning when passing a symbol or hash to `describe` or `context`
591
+ as the first argument. In RSpec 2.x this would be treated as metadata
592
+ but in RSpec 3 it'll be treated as the described object. To continue
593
+ having it treated as metadata, pass a description before the symbol or
594
+ hash. (Myron Marston)
595
+ * Deprecate `RSpec::Core::BaseTextFormatter::VT100_COLORS` and
596
+ `RSpec::Core::BaseTextFormatter::VT100_COLOR_CODES` in favour
597
+ of `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODES` and
598
+ `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODE_VALUES`.
599
+ (Jon Rowe)
600
+ * Deprecate `RSpec::Core::ExampleGroup.display_name` in favor of
601
+ `RSpec::Core::ExampleGroup.description`. (Myron Marston)
602
+ * Deprecate `RSpec::Core::ExampleGroup.describes` in favor of
603
+ `RSpec::Core::ExampleGroup.described_class`. (Myron Marston)
604
+ * Deprecate `RSpec::Core::ExampleGroup.alias_example_to` in favor of
605
+ `RSpec::Core::Configuration#alias_example_to`. (Myron Marston)
606
+ * Deprecate `RSpec::Core::ExampleGroup.alias_it_behaves_like_to` in favor
607
+ of `RSpec::Core::Configuration#alias_it_behaves_like_to`. (Myron Marston)
608
+ * Deprecate `RSpec::Core::ExampleGroup.focused` in favor of
609
+ `RSpec::Core::ExampleGroup.focus`. (Myron Marston)
610
+ * Add deprecation warning for `config.filter_run :focused` since
611
+ example aliases `fit` and `focus` will no longer include
612
+ `:focused` metadata but will continue to include `:focus`. (Myron Marston)
613
+ * Deprecate filtering by `:line_number` (e.g. `--line-number` from the
614
+ CLI). Use location filtering instead. (Myron Marston)
615
+ * Deprecate `--default_path` as an alternative to `--default-path`. (Jon Rowe)
616
+ * Deprecate `RSpec::Core::Configuration#warnings` in favor of
617
+ `RSpec::Core::Configuration#warnings?`. (Myron Marston)
618
+ * Deprecate `share_examples_for` in favor of `shared_examples_for` or
619
+ just `shared_examples`. (Myron Marston)
620
+ * Deprecate `RSpec::Core::CommandLine` in favor of
621
+ `RSpec::Core::Runner`. (Myron Marston)
622
+ * Deprecate `#color_enabled`, `#color_enabled=` and `#color?` in favour of
623
+ `#color`, `#color=` and `#color_enabled? output`. (Jon Rowe)
624
+ * Deprecate `#filename_pattern` in favour of `#pattern`. (Jon Rowe)
625
+ * Deprecate `#backtrace_cleaner` in favour of `#backtrace_formatter`. (Jon Rowe)
626
+ * Deprecate mutating `RSpec::Configuration#formatters`. (Jon Rowe)
627
+ * Deprecate `stdlib` as an available expectation framework in favour of
628
+ `test_unit` and `minitest`. (Aaron Kromer)
629
+
630
+ Bug Fixes:
631
+
632
+ * Issue a warning when you set `config.deprecation_stream` too late for
633
+ it to take effect because the reporter has already been setup. (Myron Marston)
634
+ * `skip` with a block should not execute the block. (Xavier Shay)
635
+
636
+ ### 2.99.0.beta2 / 2014-02-17
637
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta1...v2.99.0.beta2)
638
+
639
+ Enhancements:
640
+
641
+ * Add `is_expected` for one-liners that read well with the
642
+ `expect`-based syntax. `is_expected` is simply defined as
643
+ `expect(subject)` and can be used in an expression like:
644
+ `it { is_expected.to read_well }`. (Myron Marston)
645
+ * Backport `skip` from RSpec 3, which acts like `pending` did in RSpec 2
646
+ when not given a block, since the behavior of `pending` is changing in
647
+ RSpec 3. (Xavier Shay)
648
+
649
+ Deprecations:
650
+
651
+ * Deprecate inexact `mock_with` config options. RSpec 3 will only support
652
+ the exact symbols `:rspec`, `:mocha`, `:flexmock`, `:rr` or `:nothing`
653
+ (or any module that implements the adapter interface). RSpec 2 did
654
+ fuzzy matching but this will not be supported going forward.
655
+ (Myron Marston)
656
+ * Deprecate `show_failures_in_pending_blocks` config option. To achieve
657
+ the same behavior as the option enabled, you can use a custom
658
+ formatter instead. (Xavier Shay)
659
+ * Add a deprecation warning for the fact that the behavior of `pending`
660
+ is changing in RSpec 3 -- rather than skipping the example (as it did
661
+ in 2.x when no block was provided), it will run the example and mark
662
+ it as failed if no exception is raised. Use `skip` instead to preserve
663
+ the old behavior. (Xavier Shay)
664
+ * Deprecate 's', 'n', 'spec' and 'nested' as aliases for documentation
665
+ formatter. (Jon Rowe)
666
+ * Deprecate `RSpec::Core::Reporter#abort` in favor of
667
+ `RSpec::Core::Reporter#finish`. (Jon Rowe)
668
+
669
+ Bug Fixes:
670
+
671
+ * Fix failure (undefined method `path`) in end-of-run summary
672
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
673
+ * Fix issue were overridding spec ordering from the command line wasn't
674
+ fully recognised interally. (Jon Rowe)
675
+
676
+ ### 2.99.0.beta1 / 2013-11-07
677
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.99.0.beta1)
678
+
679
+ Enhancements
680
+
681
+ * Block-based DSL methods that run in the context of an example
682
+ (`it`, `before(:each)`, `after(:each)`, `let` and `subject`)
683
+ now yield the example as a block argument. (David Chelimsky)
684
+ * Warn when the name of more than one example group is submitted to
685
+ `include_examples` and it's aliases. (David Chelimsky)
686
+ * Add `expose_current_running_example_as` config option for
687
+ use during the upgrade process when external gems use the
688
+ deprecated `RSpec::Core::ExampleGroup#example` and
689
+ `RSpec::Core::ExampleGroup#running_example` methods. (Myron Marston)
690
+ * Limit spamminess of deprecation messages. (Bradley Schaefer, Loren Segal)
691
+ * Add `config.raise_errors_for_deprecations!` option, which turns
692
+ deprecations warnings into errors to surface the full backtrace
693
+ of the call site. (Myron Marston)
694
+
695
+ Deprecations
696
+
697
+ * Deprecate `RSpec::Core::ExampleGroup#example` and
698
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
699
+ access to the example (e.g. to get its metadata), use a block argument
700
+ instead. (David Chelimsky)
701
+ * Deprecate use of `autotest/rspec2` in favour of `rspec-autotest`. (Jon Rowe)
702
+ * Deprecate RSpec's built-in debugger support. Use a CLI option like
703
+ `-rruby-debug` (for the ruby-debug gem) or `-rdebugger` (for the
704
+ debugger gem) instead. (Myron Marston)
705
+ * Deprecate `RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values = false`.
706
+ RSpec 3 will not support having this option set to `false`. (Myron Marston)
707
+ * Deprecate accessing a `let` or `subject` declaration in
708
+ a `after(:all)` hook. (Myron Marston, Jon Rowe)
709
+ * Deprecate built-in `its` usage in favor of `rspec-its` gem due to planned
710
+ removal in RSpec 3. (Peter Alfvin)
711
+ * Deprecate `RSpec::Core::PendingExampleFixedError` in favor of
712
+ `RSpec::Core::Pending::PendingExampleFixedError`. (Myron Marston)
713
+ * Deprecate `RSpec::Core::Configuration#out` and
714
+ `RSpec::Core::Configuration#output` in favor of
715
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
716
+ * Deprecate legacy ordering APIs.
717
+ * You should use `register_ordering(:global)` instead of these:
718
+ * `RSpec::Core::Configuration#order_examples`
719
+ * `RSpec::Core::Configuration#order_groups`
720
+ * `RSpec::Core::Configuration#order_groups_and_examples`
721
+ * These are deprecated with no replacement because in RSpec 3
722
+ ordering is a property of individual example groups rather than
723
+ just a global property of the entire test suite:
724
+ * `RSpec::Core::Configuration#order`
725
+ * `RSpec::Core::Configuration#randomize?`
726
+ * `--order default` is deprecated in favor of `--order defined`
727
+ (Myron Marston)
728
+
729
+ ### 2.14.8 / 2014-02-27
730
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.14.8)
731
+
732
+ Bug fixes:
733
+
734
+ * Fix regression with the `textmateformatter` that prevented backtrace links
735
+ from being clickable. (Stefan Daschek)
736
+
737
+ ### 2.14.7 / 2013-10-29
738
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.6...v2.14.7)
739
+
740
+ Bug fixes:
741
+
742
+ * Fix regression in 2.14.6 that broke the Fivemat formatter.
743
+ It depended upon either
744
+ `example.execution_result[:exception].pending_fixed?` (which
745
+ was removed in 2.14.6 to fix an issue with frozen error objects)
746
+ or `RSpec::Core::PendingExampleFixedError` (which was renamed
747
+ to `RSpec::Core::Pending::PendingExampleFixedError` in 2.8.
748
+ This fix makes a constant alias for the old error name.
749
+ (Myron Marston)
750
+
751
+ ### 2.14.6 / 2013-10-15
752
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.5...v2.14.6)
753
+
754
+ Bug fixes:
755
+
756
+ * Format stringified numbers correctly when mathn library is loaded.
757
+ (Jay Hayes)
758
+ * Fix an issue that prevented the use of frozen error objects. (Lars
759
+ Gierth)
760
+
761
+ ### 2.14.5 / 2013-08-13
762
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.4...v2.14.5)
763
+
764
+ Bug fixes:
765
+
766
+ * Fix a `NoMethodError` that was being raised when there were no shared
767
+ examples or contexts declared and `RSpec.world.reset` is invoked.
768
+ (thepoho, Jon Rowe, Myron Marston)
769
+ * Fix a deprecation warning that was being incorrectly displayed when
770
+ `shared_examples` are declared at top level in a `module` scope.
771
+ (Jon Rowe)
772
+ * Fix after(:all) hooks so consecutive (same context) scopes will run even if
773
+ one raises an error. (Jon Rowe, Trejkaz)
774
+ * JsonFormatter no longer dies if `dump_profile` isn't defined (Alex / @MasterLambaster, Jon Rowe)
775
+
776
+ ### 2.14.4 / 2013-07-21
777
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.3...v2.14.4)
778
+
779
+ Bug fixes
780
+
781
+ * Fix regression in 2.14: ensure configured requires (via `-r` option)
782
+ are loaded before spec files are loaded. This allows the spec files
783
+ to programatically change the file pattern (Jon Rowe).
784
+ * Autoload `RSpec::Mocks` and `RSpec::Expectations` when referenced if
785
+ they are not already loaded (`RSpec::Matches` has been autoloaded
786
+ for a while). In the `rspec` gem, we changed it recently to stop
787
+ loading `rspec/mocks` and `rspec/expectations` by default, as some
788
+ users reported problems where they were intending to use mocha,
789
+ not rspec-mocks, but rspec-mocks was loaded and causing a conflict.
790
+ rspec-core loads mocks and expectations at the appropriate time, so
791
+ it seemed like a safe change -- but caused a problem for some authors
792
+ of libraries that integrate with RSpec. This fixes that problem.
793
+ (Myron Marston)
794
+ * Gracefully handle a command like `rspec --profile path/to/spec.rb`:
795
+ the `path/to/spec.rb` arg was being wrongly treated as the `profile`
796
+ integer arg, which got cast `0` using `to_i`, causing no profiled
797
+ examples to be printed. (Jon Rowe)
798
+
799
+ ### 2.14.3 / 2013-07-13
800
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.2...v2.14.3)
801
+
802
+ Bug fixes
803
+
804
+ * Fix deprecation notices issued from `RSpec::Core::RakeTask` so
805
+ that they work properly when all of rspec-core is not loaded.
806
+ (This was a regression in 2.14) (Jon Rowe)
807
+
808
+ ### 2.14.2 / 2013-07-09
809
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.1...v2.14.2)
810
+
811
+ Bug fixes
812
+
813
+ * Fix regression caused by 2.14.1 release: formatters that
814
+ report that they `respond_to?` a notification, but had
815
+ no corresponding method would raise an error when registered.
816
+ The new fix is to just implement `start` on the deprecation
817
+ formatter to fix the original JRuby/ruby-debug issue.
818
+ (Jon Rowe)
819
+
820
+ ### 2.14.1 / 2013-07-08
821
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0...v2.14.1)
822
+
823
+ Bug fixes
824
+
825
+ * Address deprecation formatter failure when using `ruby-debug` on
826
+ JRuby: fix `RSpec::Core::Reporter` to not send a notification
827
+ when the formatter's implementation of the notification method
828
+ comes from `Kernel` (Alex Portnov, Jon Rowe).
829
+
830
+ ### 2.14.0 / 2013-07-06
831
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0.rc1...v2.14.0)
832
+
833
+ Enhancements
834
+
835
+ * Apply focus to examples defined with `fit` (equivalent of
836
+ `it "description", focus: true`) (Michael de Silva)
837
+
838
+ Bug fix
839
+
840
+ * Ensure methods defined by `let` take precedence over others
841
+ when there is a name collision (e.g. from an included module).
842
+ (Jon Rowe, Andy Lindeman and Myron Marston)
843
+
844
+ ### 2.14.0.rc1 / 2013-05-27
845
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.1...v2.14.0.rc1)
846
+
847
+ Enhancements
848
+
849
+ * Improved Windows detection inside Git Bash, for better `--color` handling.
850
+ * Add profiling of the slowest example groups to `--profile` option.
851
+ The output is sorted by the slowest average example groups.
852
+ * Don't show slow examples if there's a failure and both `--fail-fast`
853
+ and `--profile` options are used (Paweł Gościcki).
854
+ * Rather than always adding `spec` to the load path, add the configured
855
+ `--default-path` to the load path (which defaults to `spec`). This
856
+ better supports folks who choose to put their specs in a different
857
+ directory (John Feminella).
858
+ * Add some logic to test time duration precision. Make it a
859
+ function of time, dropping precision as the time increases. (Aaron Kromer)
860
+ * Add new `backtrace_inclusion_patterns` config option. Backtrace lines
861
+ that match one of these patterns will _always_ be included in the
862
+ backtrace, even if they match an exclusion pattern, too (Sam Phippen).
863
+ * Support ERB trim mode using the `-` when parsing `.rspec` as ERB
864
+ (Gabor Garami).
865
+ * Give a better error message when let and subject are called without a block.
866
+ (Sam Phippen).
867
+ * List the precedence of `.rspec-local` in the configuration documentation
868
+ (Sam Phippen)
869
+ * Support `{a,b}` shell expansion syntax in `--pattern` option
870
+ (Konstantin Haase).
871
+ * Add cucumber documentation for --require command line option
872
+ (Bradley Schaefer)
873
+ * Expose configuration options via config:
874
+ * `config.libs` returns the libs configured to be added onto the load path
875
+ * `full_backtrace?` returns the state of the backtrace cleaner
876
+ * `debug?` returns true when the debugger is loaded
877
+ * `line_numbers` returns the line numbers we are filtering by (if any)
878
+ * `full_description` returns the RegExp used to filter descriptions
879
+ (Jon Rowe)
880
+ * Add setters for RSpec.world and RSpec.configuration (Alex Soulim)
881
+ * Configure ruby's warning behaviour with `--warnings` (Jon Rowe)
882
+ * Fix an obscure issue on old versions of `1.8.7` where `Time.dup` wouldn't
883
+ allow access to `Time.now` (Jon Rowe)
884
+ * Make `shared_examples_for` context aware, so that keys may be safely reused
885
+ in multiple contexts without colliding. (Jon Rowe)
886
+ * Add a configurable `deprecation_stream` (Jon Rowe)
887
+ * Publish deprecations through a formatter (David Chelimsky)
888
+
889
+ Bug fixes
890
+
891
+ * Make JSON formatter behave the same when it comes to `--profile` as
892
+ the text formatter (Paweł Gościcki).
893
+ * Fix named subjects so that if an inner group defines a method that
894
+ overrides the named method, `subject` still retains the originally
895
+ declared value (Myron Marston).
896
+ * Fix random ordering so that it does not cause `rand` in examples in
897
+ nested sibling contexts to return the same value (Max Shytikov).
898
+ * Use the new `backtrace_inclusion_patterns` config option to ensure
899
+ that folks who develop code in a directory matching one of the default
900
+ exclusion patterns (e.g. `gems`) still get the normal backtrace
901
+ filtering (Sam Phippen).
902
+ * Fix ordering of `before` hooks so that `before` hooks declared in
903
+ `RSpec.configure` run before `before` hooks declared in a shared
904
+ context (Michi Huber and Tejas Dinkar).
905
+ * Fix `Example#full_description` so that it gets filled in by the last
906
+ matcher description (as `Example#description` already did) when no
907
+ doc string has been provided (David Chelimsky).
908
+ * Fix the memoized methods (`let` and `subject`) leaking `define_method`
909
+ as a `public` method. (Thomas Holmes and Jon Rowe) (#873)
910
+ * Fix warnings coming from the test suite. (Pete Higgins)
911
+
912
+ Deprecations
913
+
914
+ * Deprecate `Configuration#backtrace_clean_patterns` in favor of
915
+ `Configuration#backtrace_exclusion_patterns` for greater consistency
916
+ and symmetry with new `backtrace_inclusion_patterns` config option
917
+ (Sam Phippen).
918
+ * Deprecate `Configuration#requires=` in favor of using ruby's
919
+ `require`. Requires specified by the command line can still be
920
+ accessed by the `Configuration#require` reader. (Bradley Schaefer)
921
+ * Deprecate calling `SharedExampleGroups` defined across sibling contexts
922
+ (Jon Rowe)
923
+
924
+ ### 2.13.1 / 2013-03-12
925
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.0...v2.13.1)
926
+
927
+ Bug fixes
928
+
929
+ * Use hook classes as proxies rather than extending hook blocks to support
930
+ lambdas for before/after/around hooks. (David Chelimsky)
931
+ * Fix regression in 2.13.0 that caused confusing behavior when overriding
932
+ a named subject with an unnamed subject in an inner group and then
933
+ referencing the outer group subject's name. The fix for this required
934
+ us to disallow using `super` in a named subject (which is confusing,
935
+ anyway -- named subjects create 2 methods, so which method on the
936
+ parent example group are you `super`ing to?) but `super` in an unnamed
937
+ subject continues to work (Myron Marston).
938
+ * Do not allow a referenced `let` or `subject` in `before(:all)` to cause
939
+ other `let` declarations to leak across examples (Myron Marston).
940
+ * Work around odd ruby 1.9 bug with `String#match` that was triggered
941
+ by passing it a regex from a `let` declaration. For more info, see
942
+ http://bugs.ruby-lang.org/issues/8059 (Aaron Kromer).
943
+ * Add missing `require 'set'` to `base_text_formatter.rb` (Tom
944
+ Anderson).
945
+
946
+ Deprecations
947
+
948
+ * Deprecate accessing `let` or `subject` declarations in `before(:all)`.
949
+ These were not intended to be called in a `before(:all)` hook, as
950
+ they exist to define state that is reset between each example, while
951
+ `before(:all)` exists to define state that is shared across examples
952
+ in an example group (Myron Marston).
953
+
954
+ ### 2.13.0 / 2013-02-23
955
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.2...v2.13.0)
956
+
957
+ Enhancements
958
+
959
+ * Allow `--profile` option to take a count argument that
960
+ determines the number of slow examples to dump
961
+ (Greggory Rothmeier).
962
+ * Add `subject!` that is the analog to `let!`. It defines an
963
+ explicit subject and sets a `before` hook that will invoke
964
+ the subject (Zubin Henner).
965
+ * Fix `let` and `subject` declaration so that `super`
966
+ and `return` can be used in them, just like in a normal
967
+ method. (Myron Marston)
968
+ * Allow output colors to be configured individually.
969
+ (Charlie Maffitt)
970
+ * Always dump slow examples when `--profile` option is given,
971
+ even when an example failed (Myron Marston).
972
+
973
+ Bug fixes
974
+
975
+ * Don't blow up when dumping error output for instances
976
+ of anonymous error classes (Myron Marston).
977
+ * Fix default backtrace filters so lines from projects
978
+ containing "gems" in the name are not filtered, but
979
+ lines from installed gems still are (Myron Marston).
980
+ * Fix autotest command so that is uses double quotes
981
+ rather than single quotes for windows compatibility
982
+ (Jonas Tingeborn).
983
+ * Fix `its` so that uses of `subject` in a `before` or `let`
984
+ declaration in the parent group continue to reference the
985
+ parent group's subject. (Olek Janiszewski)
986
+
987
+ ### 2.12.2 / 2012-12-13
988
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.1...v2.12.2)
989
+
990
+ Bug fixes
991
+
992
+ * Fix `RSpec::Core::RakeTask` so that it is compatible with rake 0.8.7
993
+ on ruby 1.8.7. We had accidentally broke it in the 2.12 release
994
+ (Myron Marston).
995
+ * Fix `RSpec::Core::RakeTask` so it is tolerant of the `Rspec` constant
996
+ for backwards compatibility (Patrick Van Stee)
997
+
998
+ ### 2.12.1 / 2012-12-01
999
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.0...v2.12.1)
1000
+
1001
+ Bug fixes
1002
+
1003
+ * Specs are run even if another at\_exit hook calls `exit`. This allows
1004
+ Test::Unit and RSpec to run together. (Suraj N. Kurapati)
1005
+ * Fix full doc string concatenation so that it handles the case of a
1006
+ method string (e.g. "#foo") being nested under a context string
1007
+ (e.g. "when it is tuesday"), so that we get "when it is tuesday #foo"
1008
+ rather than "when it is tuesday#foo". (Myron Marston)
1009
+ * Restore public API I unintentionally broke in 2.12.0:
1010
+ `RSpec::Core::Formatters::BaseFormatter#format_backtrce(backtrace, example)`
1011
+ (Myron Marston).
1012
+
1013
+ ### 2.12.0 / 2012-11-12
1014
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.1...v2.12.0)
1015
+
1016
+ Enhancements
1017
+
1018
+ * Add support for custom ordering strategies for groups and examples.
1019
+ (Myron Marston)
1020
+ * JSON Formatter (Alex Chaffee)
1021
+ * Refactor rake task internals (Sam Phippen)
1022
+ * Refactor HtmlFormatter (Pete Hodgson)
1023
+ * Autotest supports a path to Ruby that contains spaces (dsisnero)
1024
+ * Provide a helpful warning when a shared example group is redefined.
1025
+ (Mark Burns).
1026
+ * `--default_path` can be specified as `--default-line`. `--line_number` can be
1027
+ specified as `--line-number`. Hyphens are more idiomatic command line argument
1028
+ separators (Sam Phippen).
1029
+ * A more useful error message is shown when an invalid command line option is
1030
+ used (Jordi Polo).
1031
+ * Add `format_docstrings { |str| }` config option. It can be used to
1032
+ apply formatting rules to example group and example docstrings.
1033
+ (Alex Tan)
1034
+ * Add support for an `.rspec-local` options file. This is intended to
1035
+ allow individual developers to set options in a git-ignored file that
1036
+ override the common project options in `.rspec`. (Sam Phippen)
1037
+ * Support for mocha 0.13.0. (Andy Lindeman)
1038
+
1039
+ Bug fixes
1040
+
1041
+ * Remove override of `ExampleGroup#ancestors`. This is a core ruby method that
1042
+ RSpec shouldn't override. Instead, define `ExampleGroup#parent_groups`. (Myron
1043
+ Marston)
1044
+ * Limit monkey patching of shared example/context declaration methods
1045
+ (`shared_examples_for`, etc.) to just the objects that need it rather than
1046
+ every object in the system (Myron Marston).
1047
+ * Fix Metadata#fetch to support computed values (Sam Goldman).
1048
+ * Named subject can now be referred to from within subject block in a nested
1049
+ group (tomykaira).
1050
+ * Fix `fail_fast` so that it properly exits when an error occurs in a
1051
+ `before(:all) hook` (Bradley Schaefer).
1052
+ * Make the order spec files are loaded consistent, regardless of the
1053
+ order of the files returned by the OS or the order passed at
1054
+ the command line (Jo Liss and Sam Phippen).
1055
+ * Ensure instance variables from `before(:all)` are always exposed
1056
+ from `after(:all)`, even if an error occurs in `before(:all)`
1057
+ (Sam Phippen).
1058
+ * `rspec --init` no longer generates an incorrect warning about `--configure`
1059
+ being deprecated (Sam Phippen).
1060
+ * Fix pluralization of `1 seconds` (Odin Dutton)
1061
+ * Fix ANSICON url (Jarmo Pertman)
1062
+ * Use dup of Time so reporting isn't clobbered by examples that modify Time
1063
+ without properly restoring it. (David Chelimsky)
1064
+
1065
+ Deprecations
1066
+
1067
+ * `share_as` is no longer needed. `shared_context` and/or
1068
+ `RSpec::SharedContext` provide better mechanisms (Sam Phippen).
1069
+ * Deprecate `RSpec.configuration` with a block (use `RSpec.configure`).
1070
+
1071
+
1072
+ ### 2.11.1 / 2012-07-18
1073
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.0...v2.11.1)
1074
+
1075
+ Bug fixes
1076
+
1077
+ * Fix the way we autoload RSpec::Matchers so that custom matchers can be
1078
+ defined before rspec-core has been configured to definitely use
1079
+ rspec-expectations. (Myron Marston)
1080
+ * Fix typo in --help message printed for -e option. (Jo Liss)
1081
+ * Fix ruby warnings. (Myron Marston)
1082
+ * Ignore mock expectation failures when the example has already failed.
1083
+ Mock expectation failures have always been ignored in this situation,
1084
+ but due to my changes in 27059bf1 it was printing a confusing message.
1085
+ (Myron Marston).
1086
+
1087
+ ### 2.11.0 / 2012-07-07
1088
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.1...v2.11.0)
1089
+
1090
+ Enhancements
1091
+
1092
+ * Support multiple `--example` options. (Daniel Doubrovkine @dblock)
1093
+ * Named subject e.g. `subject(:article) { Article.new }`
1094
+ * see [http://blog.davidchelimsky.net/2012/05/13/spec-smell-explicit-use-of-subject/](http://blog.davidchelimsky.net/2012/05/13/spec-smell-explicit-use-of-subject/)
1095
+ for background.
1096
+ * thanks to Bradley Schaefer for suggesting it and Avdi Grimm for almost
1097
+ suggesting it.
1098
+ * `config.mock_with` and `config.expect_with` yield custom config object to a
1099
+ block if given
1100
+ * aids decoupling from rspec-core's configuation
1101
+ * `include_context` and `include_examples` support a block, which gets eval'd
1102
+ in the current context (vs the nested context generated by `it_behaves_like`).
1103
+ * Add `config.order = 'random'` to the `spec_helper.rb` generated by `rspec
1104
+ --init`.
1105
+ * Delay the loading of DRb (Myron Marston).
1106
+ * Limit monkey patching of `describe` onto just the objects that need it rather
1107
+ than every object in the system (Myron Marston).
1108
+
1109
+ Bug fixes
1110
+
1111
+ * Support alternative path separators. For example, on Windows, you can now do
1112
+ this: `rspec spec\subdir`. (Jarmo Pertman @jarmo)
1113
+ * When an example raises an error and an after or around hook does as
1114
+ well, print out the hook error. Previously, the error was silenced and
1115
+ the user got no feedback about what happened. (Myron Marston)
1116
+ * `--require` and `-I` are merged among different configuration sources (Andy
1117
+ Lindeman)
1118
+ * Delegate to mocha methods instead of aliasing them in mocha adapter.
1119
+
1120
+ ### 2.10.1 / 2012-05-19
1121
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.0...v2.10.1)
1122
+
1123
+ Bug fixes
1124
+
1125
+ * `RSpec.reset` properly reinits configuration and world
1126
+ * Call `to_s` before `split` on exception messages that might not always be
1127
+ Strings (slyphon)
1128
+
1129
+ ### 2.10.0 / 2012-05-03
1130
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.9.0...v2.10.0)
1131
+
1132
+ Enhancements
1133
+
1134
+ * Add `prepend_before` and `append_after` hooks (preethiramdev)
1135
+ * intended for extension libs
1136
+ * restores rspec-1 behavior
1137
+ * Reporting of profiled examples (moro)
1138
+ * Report the total amount of time taken for the top slowest examples.
1139
+ * Report what percentage the slowest examples took from the total runtime.
1140
+
1141
+ Bug fixes
1142
+
1143
+ * Properly parse `SPEC_OPTS` options.
1144
+ * `example.description` returns the location of the example if there is no
1145
+ explicit description or matcher-generated description.
1146
+ * RDoc fixes (Grzegorz Świrski)
1147
+ * Do not modify example ancestry when dumping errors (Michael Grosser)
1148
+
1149
+ ### 2.9.0 / 2012-03-17
1150
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0...v2.9.0)
1151
+
1152
+ Enhancements
1153
+
1154
+ * Support for "X minutes X seconds" spec run duration in formatter. (uzzz)
1155
+ * Strip whitespace from group and example names in doc formatter.
1156
+ * Removed spork-0.9 shim. If you're using spork-0.8.x, you'll need to upgrade
1157
+ to 0.9.0.
1158
+
1159
+ Bug fixes
1160
+
1161
+ * Restore `--full_backtrace` option
1162
+ * Ensure that values passed to `config.filter_run` are respected when running
1163
+ over DRb (using spork).
1164
+ * Ensure shared example groups are reset after a run (as example groups are).
1165
+ * Remove `rescue false` from calls to filters represented as Procs
1166
+ * Ensure `described_class` gets the closest constant (pyromaniac)
1167
+ * In "autorun", don't run the specs in the `at_exit` hook if there was an
1168
+ exception (most likely due to a SyntaxError). (sunaku)
1169
+ * Don't extend groups with modules already used to extend ancestor groups.
1170
+ * `its` correctly memoizes nil or false values (Yamada Masaki)
1171
+
1172
+ ### 2.8.0 / 2012-01-04
1173
+
1174
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc2...v2.8.0)
1175
+
1176
+ Bug fixes
1177
+
1178
+ * For metadata filtering, restore passing the entire array to the proc, rather
1179
+ than each item in the array (weidenfreak)
1180
+ * Ensure each spec file is loaded only once
1181
+ * Fixes a bug that caused all the examples in a file to be run when
1182
+ referenced twice with line numbers in a command, e.g.
1183
+ * `rspec path/to/file:37 path/to/file:42`
1184
+
1185
+ ### 2.8.0.rc2 / 2011-12-19
1186
+
1187
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc1...v2.8.0.rc2)
1188
+
1189
+ Enhancments
1190
+
1191
+ * new `--init` command (Peter Schröder)
1192
+ * generates `spec/spec_helper.rb`
1193
+ * deletes obsolete files (on confirmation)
1194
+ * merged with and deprecates `--configure` command, which generated
1195
+ `.rspec`
1196
+ * use `require_relative` when available (Ian Leitch)
1197
+ * `include_context` and `include_examples` accept params (Calvin Bascom)
1198
+ * print the time for every example in the html formatter (Richie Vos)
1199
+ * several tasty refactoring niblets (Sasha)
1200
+ * `it "does something", :x => [:foo,'bar',/baz/] (Ivan Neverov)
1201
+ * supports matching n command line tag values with an example or group
1202
+
1203
+ ### 2.8.0.rc1 / 2011-11-06
1204
+
1205
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.1...v2.8.0.rc1)
1206
+
1207
+ Enhancements
1208
+
1209
+ * `--order` (Justin Ko)
1210
+ * run examples in random order: `--order rand`
1211
+ * specify the seed: `--order rand:123`
1212
+ * `--seed SEED`
1213
+ * equivalent of `--order rand:SEED`
1214
+ * SharedContext supports `let` (David Chelimsky)
1215
+ * Filter improvements (David Chelimsky)
1216
+ * override opposing tags from the command line
1217
+ * override RSpec.configure tags from the command line
1218
+ * `--line_number 37` overrides all other filters
1219
+ * `path/to/file.rb:37` overrides all other filters
1220
+ * refactor: consolidate filter management in a FilterManger object
1221
+ * Eliminate Ruby warnings (Matijs van Zuijlen)
1222
+ * Make reporter.report an API (David Chelimsky)
1223
+ * supports extension tools like interative_rspec
1224
+
1225
+ Changes
1226
+
1227
+ * change `config.color_enabled` (getter/setter/predicate) to `color` to align
1228
+ with `--[no]-color` CLI option.
1229
+ * `color_enabled` is still supported for now, but will likley be deprecated
1230
+ in a 2.x release so we can remove it in 3.0.
1231
+
1232
+ Bug fixes
1233
+
1234
+ * Make sure the `bar` in `--tag foo:bar` makes it to DRb (Aaron Gibralter)
1235
+ * Fix bug where full descriptions of groups nested 3 deep were repeated.
1236
+ * Restore report of time to run to start after files are loaded.
1237
+ * fixes bug where run times were cumalitive in spork
1238
+ * fixes compatibility with time-series metrics
1239
+ * Don't error out when `config.mock_with` or `expect_with` is re-specifying the
1240
+ current config (Myron Marston)
1241
+
1242
+ * Deprecations
1243
+ * :alias option on `configuration.add_setting`. Use `:alias_with` on the
1244
+ original setting declaration instead.
1245
+
1246
+ ### 2.7.1 / 2011-10-20
1247
+
1248
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.0...v2.7.1)
1249
+
1250
+ Bug fixes
1251
+
1252
+ * tell autotest the correct place to find the rspec executable
1253
+
1254
+ ### 2.7.0 / 2011-10-16
1255
+
1256
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.4...v2.7.0)
1257
+
1258
+ NOTE: RSpec's release policy dictates that there should not be any backward
1259
+ incompatible changes in minor releases, but we're making an exception to
1260
+ release a change to how RSpec interacts with other command line tools.
1261
+
1262
+ As of 2.7.0, you must explicity `require "rspec/autorun"` unless you use the
1263
+ `rspec` command (which already does this for you).
1264
+
1265
+ Enhancements
1266
+
1267
+ * Add `example.exception` (David Chelimsky)
1268
+ * `--default_path` command line option (Justin Ko)
1269
+ * support multiple `--line_number` options (David J. Hamilton)
1270
+ * also supports `path/to/file.rb:5:9` (runs examples on lines 5 and 9)
1271
+ * Allow classes/modules to be used as shared example group identifiers (Arthur
1272
+ Gunn)
1273
+ * Friendly error message when shared context cannot be found (Sławosz
1274
+ Sławiński)
1275
+ * Clear formatters when resetting config (John Bintz)
1276
+ * Add `xspecify` and xexample as temp-pending methods (David Chelimsky)
1277
+ * Add `--no-drb` option (Iain Hecker)
1278
+ * Provide more accurate run time by registering start time before code is
1279
+ loaded (David Chelimsky)
1280
+ * reverted in 2.8.0
1281
+ * Rake task default pattern finds specs in symlinked dirs (Kelly Felkins)
1282
+ * Rake task no longer does anything to invoke bundler since Bundler already
1283
+ handles it for us. Thanks to Andre Arko for the tip.
1284
+ * Add `--failure-exit-code` option (Chris Griego)
1285
+
1286
+ Bug fixes
1287
+
1288
+ * Include `Rake::DSL` to remove deprecation warnings in Rake > 0.8.7 (Pivotal
1289
+ Casebook)
1290
+ * Only eval `let` block once even if it returns `nil` (Adam Meehan)
1291
+ * Fix `--pattern` option (wasn't being recognized) (David Chelimsky)
1292
+ * Only implicitly `require "rspec/autorun"` with the `rspec` command (David
1293
+ Chelimsky)
1294
+ * Ensure that rspec's `at_exit` defines the exit code (Daniel Doubrovkine)
1295
+ * Show the correct snippet in the HTML and TextMate formatters (Brian Faherty)
1296
+
1297
+ ### 2.6.4 / 2011-06-06
1298
+
1299
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.3...v2.6.4)
1300
+
1301
+ NOTE: RSpec's release policy dictates that there should not be new
1302
+ functionality in patch releases, but this minor enhancement slipped in by
1303
+ accident. As it doesn't add a new API, we decided to leave it in rather than
1304
+ roll back this release.
1305
+
1306
+ Enhancements
1307
+
1308
+ * Add summary of commands to run individual failed examples.
1309
+
1310
+ Bug fixes
1311
+
1312
+ * Support exclusion filters in DRb. (Yann Lugrin)
1313
+ * Fix --example escaping when run over DRb. (Elliot Winkler)
1314
+ * Use standard ANSI codes for color formatting so colors work in a wider set of
1315
+ color schemes.
1316
+
1317
+ ### 2.6.3 / 2011-05-24
1318
+
1319
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.2...v2.6.3)
1320
+
1321
+ Bug fixes
1322
+
1323
+ * Explicitly convert exit code to integer, avoiding TypeError when return
1324
+ value of run is IO object proxied by `DRb::DRbObject` (Julian Scheid)
1325
+ * Clarify behavior of `--example` command line option
1326
+ * Build using a rubygems-1.6.2 to avoid downstream yaml parsing error
1327
+
1328
+ ### 2.6.2 / 2011-05-21
1329
+
1330
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.1...v2.6.2)
1331
+
1332
+ Bug fixes
1333
+
1334
+ * Warn rather than raise when HOME env var is not defined
1335
+ * Properly merge command-line exclusions with default :if and :unless (joshcooper)
1336
+
1337
+ ### 2.6.1 / 2011-05-19
1338
+
1339
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.0...v2.6.1)
1340
+
1341
+ Bug fixes
1342
+
1343
+ * Don't extend nil when filters are nil
1344
+ * `require 'rspec/autorun'` when running rcov.
1345
+
1346
+ ### 2.6.0 / 2011-05-12
1347
+
1348
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0)
1349
+
1350
+ Enhancements
1351
+
1352
+ * `shared_context` (Damian Nurzynski)
1353
+ * extend groups matching specific metadata with:
1354
+ * method definitions
1355
+ * subject declarations
1356
+ * let/let! declarations
1357
+ * etc (anything you can do in a group)
1358
+ * `its([:key])` works for any subject with #[]. (Peter Jaros)
1359
+ * `treat_symbols_as_metadata_keys_with_true_values` (Myron Marston)
1360
+ * Print a deprecation warning when you configure RSpec after defining an
1361
+ example. All configuration should happen before any examples are defined.
1362
+ (Myron Marston)
1363
+ * Pass the exit status of a DRb run to the invoking process. This causes specs
1364
+ run via DRb to not just return true or false. (Ilkka Laukkanen)
1365
+ * Refactoring of `ConfigurationOptions#parse_options` (Rodrigo Rosenfeld Rosas)
1366
+ * Report excluded filters in runner output (tip from andyl)
1367
+ * Clean up messages for filters/tags.
1368
+ * Restore --pattern/-P command line option from rspec-1
1369
+ * Support false as well as true in config.full_backtrace= (Andreas Tolf
1370
+ Tolfsen)
1371
+
1372
+ Bug fixes
1373
+
1374
+ * Don't stumble over an exception without a message (Hans Hasselberg)
1375
+ * Remove non-ascii characters from comments that were choking rcov (Geoffrey
1376
+ Byers)
1377
+ * Fixed backtrace so it doesn't include lines from before the autorun at_exit
1378
+ hook (Myron Marston)
1379
+ * Include RSpec::Matchers when first example group is defined, rather than just
1380
+ before running the examples. This works around an obscure bug in ruby 1.9
1381
+ that can cause infinite recursion. (Myron Marston)
1382
+ * Don't send `example_group_[started|finished]` to formatters for empty groups.
1383
+ * Get specs passing on jruby (Sidu Ponnappa)
1384
+ * Fix bug where mixing nested groups and outer-level examples gave
1385
+ unpredictable :line_number behavior (Artur Małecki)
1386
+ * Regexp.escape the argument to --example (tip from Elliot Winkler)
1387
+ * Correctly pass/fail pending block with message expectations
1388
+ * CommandLine returns exit status (0/1) instead of true/false
1389
+ * Create path to formatter output file if it doesn't exist (marekj).
1390
+
1391
+
1392
+ ### 2.5.1 / 2011-02-06
1393
+
1394
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.0...v2.5.1)
1395
+
1396
+ NOTE: this release breaks compatibility with rspec/autotest/bundler
1397
+ integration, but does so in order to greatly simplify it.
1398
+
1399
+ With this release, if you want the generated autotest command to include
1400
+ 'bundle exec', require Autotest's bundler plugin in a .autotest file in the
1401
+ project's root directory or in your home directory:
1402
+
1403
+ require "autotest/bundler"
1404
+
1405
+ Now you can just type 'autotest' on the commmand line and it will work as you expect.
1406
+
1407
+ If you don't want 'bundle exec', there is nothing you have to do.
1408
+
1409
+ ### 2.5.0 / 2011-02-05
1410
+
1411
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.4.0...v2.5.0)
1412
+
1413
+ Enhancements
1414
+
1415
+ * Autotest::Rspec2 parses command line args passed to autotest after '--'
1416
+ * --skip-bundler option for autotest command
1417
+ * Autotest regexp fixes (Jon Rowe)
1418
+ * Add filters to html and textmate formatters (Daniel Quimper)
1419
+ * Explicit passing of block (need for JRuby 1.6) (John Firebaugh)
1420
+
1421
+ Bug fixes
1422
+
1423
+ * fix dom IDs in HTML formatter (Brian Faherty)
1424
+ * fix bug with --drb + formatters when not running in drb
1425
+ * include --tag options in drb args (monocle)
1426
+ * fix regression so now SPEC_OPTS take precedence over CLI options again (Roman
1427
+ Chernyatchik)
1428
+ * only call its(:attribute) once (failing example from Brian Dunn)
1429
+ * fix bizarre bug where rspec would hang after String.alias :to_int :to_i
1430
+ (Damian Nurzynski)
1431
+
1432
+ Deprecations
1433
+
1434
+ * implicit inclusion of 'bundle exec' when Gemfile present (use autotest's
1435
+ bundler plugin instead)
1436
+
1437
+ ### 2.4.0 / 2011-01-02
1438
+
1439
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.1...v2.4.0)
1440
+
1441
+ Enhancements
1442
+
1443
+ * start the debugger on -d so the stack trace is visible when it stops
1444
+ (Clifford Heath)
1445
+ * apply hook filtering to examples as well as groups (Myron Marston)
1446
+ * support multiple formatters, each with their own output
1447
+ * show exception classes in failure messages unless they come from RSpec
1448
+ matchers or message expectations
1449
+ * before(:all) { pending } sets all examples to pending
1450
+
1451
+ Bug fixes
1452
+
1453
+ * fix bug due to change in behavior of reject in Ruby 1.9.3-dev (Shota
1454
+ Fukumori)
1455
+ * fix bug when running in jruby: be explicit about passing block to super (John
1456
+ Firebaugh)
1457
+ * rake task doesn't choke on paths with quotes (Janmejay Singh)
1458
+ * restore --options option from rspec-1
1459
+ * require 'ostruct' to fix bug with its([key]) (Kim Burgestrand)
1460
+ * --configure option generates .rspec file instead of autotest/discover.rb
1461
+
1462
+ ### 2.3.1 / 2010-12-16
1463
+
1464
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.0...v2.3.1)
1465
+
1466
+ Bug fixes
1467
+
1468
+ * send debugger warning message to $stdout if RSpec.configuration.error_stream
1469
+ has not been defined yet.
1470
+ * HTML Formatter _finally_ properly displays nested groups (Jarmo Pertman)
1471
+ * eliminate some warnings when running RSpec's own suite (Jarmo Pertman)
1472
+
1473
+ ### 2.3.0 / 2010-12-12
1474
+
1475
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.1...v2.3.0)
1476
+
1477
+ Enhancements
1478
+
1479
+ * tell autotest to use "rspec2" if it sees a .rspec file in the project's root
1480
+ directory
1481
+ * replaces the need for ./autotest/discover.rb, which will not work with
1482
+ all versions of ZenTest and/or autotest
1483
+ * config.expect_with
1484
+ * :rspec # => rspec/expectations
1485
+ * :stdlib # => test/unit/assertions
1486
+ * :rspec, :stdlib # => both
1487
+
1488
+ Bug fixes
1489
+
1490
+ * fix dev Gemfile to work on non-mac-os machines (Lake Denman)
1491
+ * ensure explicit subject is only eval'd once (Laszlo Bacsi)
1492
+
1493
+ ### 2.2.1 / 2010-11-28
1494
+
1495
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1)
1496
+
1497
+ Bug fixes
1498
+ * alias_method instead of override Kernel#method_missing (John Wilger)
1499
+ * changed --autotest to --tty in generated command (MIKAMI Yoshiyuki)
1500
+ * revert change to debugger (had introduced conflict with Rails)
1501
+ * also restored --debugger/-debug option
1502
+
1503
+ ### 2.2.0 / 2010-11-28
1504
+
1505
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.1.0...v2.2.0)
1506
+
1507
+ Deprecations/changes
1508
+
1509
+ * --debug/-d on command line is deprecated and now has no effect
1510
+ * win32console is now ignored; Windows users must use ANSICON for color support
1511
+ (Bosko Ivanisevic)
1512
+
1513
+ Enhancements
1514
+
1515
+ * When developing locally rspec-core now works with the rspec-dev setup or your
1516
+ local gems
1517
+ * Raise exception with helpful message when rspec-1 is loaded alongside rspec-2
1518
+ (Justin Ko)
1519
+ * debugger statements _just work_ as long as ruby-debug is installed
1520
+ * otherwise you get warned, but not fired
1521
+ * Expose example.metadata in around hooks
1522
+ * Performance improvments (much faster now)
1523
+
1524
+ Bug fixes
1525
+
1526
+ * Make sure --fail-fast makes it across drb
1527
+ * Pass -Ilib:spec to rcov
1528
+
1529
+ ### 2.1.0 / 2010-11-07
1530
+
1531
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.1...v2.1.0)
1532
+
1533
+ Enhancments
1534
+
1535
+ * Add skip_bundler option to rake task to tell rake task to ignore the presence
1536
+ of a Gemfile (jfelchner)
1537
+ * Add gemfile option to rake task to tell rake task what Gemfile to look for
1538
+ (defaults to 'Gemfile')
1539
+ * Allow passing caller trace into Metadata to support extensions (Glenn
1540
+ Vanderburg)
1541
+ * Add deprecation warning for Spec::Runner.configure to aid upgrade from
1542
+ RSpec-1
1543
+ * Add deprecated Spec::Rake::SpecTask to aid upgrade from RSpec-1
1544
+ * Add 'autospec' command with helpful message to aid upgrade from RSpec-1
1545
+ * Add support for filtering with tags on CLI (Lailson Bandeira)
1546
+ * Add a helpful message about RUBYOPT when require fails in bin/rspec (slyphon)
1547
+ * Add "-Ilib" to the default rcov options (Tianyi Cui)
1548
+ * Make the expectation framework configurable (default rspec, of course)
1549
+ (Justin Ko)
1550
+ * Add 'pending' to be conditional (Myron Marston)
1551
+ * Add explicit support for :if and :unless as metadata keys for conditional run
1552
+ of examples (Myron Marston)
1553
+ * Add --fail-fast command line option (Jeff Kreeftmeijer)
1554
+
1555
+ Bug fixes
1556
+
1557
+ * Eliminate stack overflow with "subject { self }"
1558
+ * Require 'rspec/core' in the Raketask (ensures it required when running rcov)
1559
+
1560
+ ### 2.0.1 / 2010-10-18
1561
+
1562
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0...v2.0.1)
1563
+
1564
+ Bug fixes
1565
+
1566
+ * Restore color when using spork + autotest
1567
+ * Pending examples without docstrings render the correct message (Josep M.
1568
+ Bach)
1569
+ * Fixed bug where a failure in a spec file ending in anything but _spec.rb
1570
+ would fail in a confusing way.
1571
+ * Support backtrace lines from erb templates in html formatter (Alex Crichton)
1572
+
1573
+ ### 2.0.0 / 2010-10-10
1574
+
1575
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.rc...v2.0.0)
1576
+
1577
+ RSpec-1 compatibility
1578
+
1579
+ * Rake task uses ENV["SPEC"] as file list if present
1580
+
1581
+ Bug fixes
1582
+
1583
+ * Bug Fix: optparse --out foo.txt (Leonardo Bessa)
1584
+ * Suppress color codes for non-tty output (except autotest)
1585
+
1586
+ ### 2.0.0.rc / 2010-10-05
1587
+
1588
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.22...v2.0.0.rc)
1589
+
1590
+ Enhancements
1591
+
1592
+ * implicitly require unknown formatters so you don't have to require the file
1593
+ explicitly on the commmand line (Michael Grosser)
1594
+ * add --out/-o option to assign output target
1595
+ * added fail_fast configuration option to abort on first failure
1596
+ * support a Hash subject (its([:key]) { should == value }) (Josep M. Bach)
1597
+
1598
+ Bug fixes
1599
+
1600
+ * Explicitly require rspec version to fix broken rdoc task (Hans de Graaff)
1601
+ * Ignore backtrace lines that come from other languages, like Java or
1602
+ Javascript (Charles Lowell)
1603
+ * Rake task now does what is expected when setting (or not setting)
1604
+ fail_on_error and verbose
1605
+ * Fix bug in which before/after(:all) hooks were running on excluded nested
1606
+ groups (Myron Marston)
1607
+ * Fix before(:all) error handling so that it fails examples in nested groups,
1608
+ too (Myron Marston)
1609
+
1610
+ ### 2.0.0.beta.22 / 2010-09-12
1611
+
1612
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.20...v2.0.0.beta.22)
1613
+
1614
+ Enhancements
1615
+
1616
+ * removed at_exit hook
1617
+ * CTRL-C stops the run (almost) immediately
1618
+ * first it cleans things up by running the appropriate after(:all) and
1619
+ after(:suite) hooks
1620
+ * then it reports on any examples that have already run
1621
+ * cleaned up rake task
1622
+ * generate correct task under variety of conditions
1623
+ * options are more consistent
1624
+ * deprecated redundant options
1625
+ * run 'bundle exec autotest' when Gemfile is present
1626
+ * support ERB in .rspec options files (Justin Ko)
1627
+ * depend on bundler for development tasks (Myron Marston)
1628
+ * add example_group_finished to formatters and reporter (Roman Chernyatchik)
1629
+
1630
+ Bug fixes
1631
+
1632
+ * support paths with spaces when using autotest (Andreas Neuhaus)
1633
+ * fix module_exec with ruby 1.8.6 (Myron Marston)
1634
+ * remove context method from top-level
1635
+ * was conflicting with irb, for example
1636
+ * errors in before(:all) are now reported correctly (Chad Humphries)
1637
+
1638
+ Removals
1639
+
1640
+ * removed -o --options-file command line option
1641
+ * use ./.rspec and ~/.rspec