rspec-core 2.99.2 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +14 -6
  2. checksums.yaml.gz.sig +2 -0
  3. data.tar.gz.sig +0 -0
  4. data/Changelog.md +103 -191
  5. data/License.txt +1 -0
  6. data/README.md +4 -25
  7. data/features/Upgrade.md +2 -14
  8. data/features/command_line/dry_run.feature +29 -0
  9. data/features/command_line/example_name_option.feature +1 -1
  10. data/features/command_line/fail_fast.feature +26 -0
  11. data/features/command_line/format_option.feature +3 -3
  12. data/features/command_line/line_number_option.feature +16 -11
  13. data/features/command_line/order.feature +2 -3
  14. data/features/command_line/pattern_option.feature +3 -3
  15. data/features/command_line/randomization.feature +63 -0
  16. data/features/command_line/require_option.feature +2 -2
  17. data/features/command_line/ruby.feature +1 -1
  18. data/features/configuration/alias_example_to.feature +13 -22
  19. data/features/configuration/{backtrace_clean_patterns.feature → backtrace_exclusion_patterns.feature} +17 -14
  20. data/features/configuration/custom_settings.feature +11 -11
  21. data/features/configuration/overriding_global_ordering.feature +93 -0
  22. data/features/configuration/profile.feature +13 -13
  23. data/features/configuration/read_options_from_file.feature +7 -7
  24. data/features/example_groups/basic_structure.feature +1 -1
  25. data/features/example_groups/shared_context.feature +8 -8
  26. data/features/example_groups/shared_examples.feature +6 -14
  27. data/features/expectation_framework_integration/configure_expectation_framework.feature +27 -122
  28. data/features/filtering/exclusion_filters.feature +2 -5
  29. data/features/filtering/inclusion_filters.feature +1 -5
  30. data/features/formatters/json_formatter.feature +2 -2
  31. data/features/formatters/text_formatter.feature +4 -4
  32. data/features/helper_methods/arbitrary_methods.feature +2 -2
  33. data/features/helper_methods/let.feature +5 -5
  34. data/features/helper_methods/modules.feature +5 -8
  35. data/features/hooks/around_hooks.feature +2 -2
  36. data/features/hooks/before_and_after_hooks.feature +14 -14
  37. data/features/hooks/filtering.feature +12 -14
  38. data/features/metadata/described_class.feature +1 -1
  39. data/features/metadata/user_defined.feature +16 -29
  40. data/features/mock_framework_integration/use_flexmock.feature +1 -1
  41. data/features/mock_framework_integration/use_mocha.feature +1 -1
  42. data/features/mock_framework_integration/use_rr.feature +1 -1
  43. data/features/mock_framework_integration/use_rspec.feature +5 -5
  44. data/features/pending/pending_examples.feature +5 -5
  45. data/features/spec_files/arbitrary_file_suffix.feature +1 -1
  46. data/features/step_definitions/additional_cli_steps.rb +3 -3
  47. data/features/subject/explicit_subject.feature +8 -8
  48. data/features/subject/implicit_receiver.feature +29 -0
  49. data/features/subject/implicit_subject.feature +4 -4
  50. data/features/support/env.rb +10 -3
  51. data/features/support/require_expect_syntax_in_aruba_specs.rb +16 -0
  52. data/lib/rspec/core.rb +11 -48
  53. data/lib/rspec/core/backport_random.rb +302 -0
  54. data/lib/rspec/core/backtrace_formatter.rb +65 -0
  55. data/lib/rspec/core/command_line.rb +7 -18
  56. data/lib/rspec/core/configuration.rb +202 -507
  57. data/lib/rspec/core/configuration_options.rb +17 -30
  58. data/lib/rspec/core/example.rb +29 -39
  59. data/lib/rspec/core/example_group.rb +166 -259
  60. data/lib/rspec/core/filter_manager.rb +30 -47
  61. data/lib/rspec/core/flat_map.rb +17 -0
  62. data/lib/rspec/core/formatters.rb +0 -138
  63. data/lib/rspec/core/formatters/base_formatter.rb +46 -1
  64. data/lib/rspec/core/formatters/base_text_formatter.rb +38 -61
  65. data/lib/rspec/core/formatters/deprecation_formatter.rb +21 -52
  66. data/lib/rspec/core/formatters/helpers.rb +0 -28
  67. data/lib/rspec/core/formatters/html_formatter.rb +1 -1
  68. data/lib/rspec/core/formatters/json_formatter.rb +38 -9
  69. data/lib/rspec/core/formatters/snippet_extractor.rb +14 -5
  70. data/lib/rspec/core/hooks.rb +55 -39
  71. data/lib/rspec/core/memoized_helpers.rb +17 -167
  72. data/lib/rspec/core/metadata.rb +16 -64
  73. data/lib/rspec/core/option_parser.rb +30 -39
  74. data/lib/rspec/core/ordering.rb +154 -0
  75. data/lib/rspec/core/pending.rb +12 -69
  76. data/lib/rspec/core/project_initializer.rb +12 -10
  77. data/lib/rspec/core/rake_task.rb +5 -108
  78. data/lib/rspec/core/reporter.rb +15 -18
  79. data/lib/rspec/core/runner.rb +16 -30
  80. data/lib/rspec/core/shared_context.rb +3 -5
  81. data/lib/rspec/core/shared_example_group.rb +3 -51
  82. data/lib/rspec/core/shared_example_group/collection.rb +1 -19
  83. data/lib/rspec/core/version.rb +1 -1
  84. data/lib/rspec/core/warnings.rb +22 -0
  85. data/lib/rspec/core/world.rb +12 -8
  86. data/spec/command_line/order_spec.rb +20 -23
  87. data/spec/rspec/core/backtrace_formatter_spec.rb +216 -0
  88. data/spec/rspec/core/command_line_spec.rb +32 -48
  89. data/spec/rspec/core/configuration_options_spec.rb +19 -50
  90. data/spec/rspec/core/configuration_spec.rb +142 -713
  91. data/spec/rspec/core/drb_command_line_spec.rb +2 -0
  92. data/spec/rspec/core/dsl_spec.rb +0 -1
  93. data/spec/rspec/core/example_group_spec.rb +192 -223
  94. data/spec/rspec/core/example_spec.rb +40 -16
  95. data/spec/rspec/core/filter_manager_spec.rb +2 -2
  96. data/spec/rspec/core/formatters/base_formatter_spec.rb +0 -41
  97. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +5 -123
  98. data/spec/rspec/core/formatters/deprecation_formatter_spec.rb +2 -87
  99. data/spec/rspec/core/formatters/documentation_formatter_spec.rb +2 -3
  100. data/spec/rspec/core/formatters/{text_mate_formatted.html → html_formatted-1.8.7-jruby.html} +44 -25
  101. data/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +477 -0
  102. data/spec/rspec/core/formatters/{html_formatted.html → html_formatted-1.8.7.html} +42 -25
  103. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +425 -0
  104. data/spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html +416 -0
  105. data/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +477 -0
  106. data/spec/rspec/core/formatters/html_formatted-1.9.3.html +419 -0
  107. data/spec/rspec/core/formatters/html_formatted-2.0.0.html +425 -0
  108. data/spec/rspec/core/formatters/html_formatter_spec.rb +21 -46
  109. data/spec/rspec/core/formatters/json_formatter_spec.rb +97 -8
  110. data/spec/rspec/core/hooks_filtering_spec.rb +5 -5
  111. data/spec/rspec/core/hooks_spec.rb +61 -47
  112. data/spec/rspec/core/memoized_helpers_spec.rb +20 -322
  113. data/spec/rspec/core/metadata_spec.rb +1 -24
  114. data/spec/rspec/core/option_parser_spec.rb +20 -62
  115. data/spec/rspec/core/ordering_spec.rb +102 -0
  116. data/spec/rspec/core/pending_example_spec.rb +0 -40
  117. data/spec/rspec/core/project_initializer_spec.rb +1 -25
  118. data/spec/rspec/core/rake_task_spec.rb +5 -72
  119. data/spec/rspec/core/random_spec.rb +47 -0
  120. data/spec/rspec/core/reporter_spec.rb +23 -48
  121. data/spec/rspec/core/runner_spec.rb +31 -39
  122. data/spec/rspec/core/shared_context_spec.rb +3 -15
  123. data/spec/rspec/core/shared_example_group/collection_spec.rb +4 -17
  124. data/spec/rspec/core/shared_example_group_spec.rb +12 -45
  125. data/spec/rspec/core/{deprecation_spec.rb → warnings_spec.rb} +3 -1
  126. data/spec/rspec/core_spec.rb +4 -21
  127. data/spec/spec_helper.rb +41 -5
  128. data/spec/support/helper_methods.rb +0 -29
  129. data/spec/support/sandboxed_mock_space.rb +0 -16
  130. data/spec/support/shared_example_groups.rb +7 -36
  131. data/spec/support/stderr_splitter.rb +36 -0
  132. metadata +163 -157
  133. metadata.gz.sig +1 -0
  134. data/exe/autospec +0 -13
  135. data/features/Autotest.md +0 -38
  136. data/features/configuration/treat_symbols_as_metadata_keys_with_true_values.feature +0 -52
  137. data/features/subject/attribute_of_subject.feature +0 -124
  138. data/features/subject/one_liner_syntax.feature +0 -71
  139. data/lib/autotest/discover.rb +0 -10
  140. data/lib/autotest/rspec2.rb +0 -77
  141. data/lib/rspec/core/backtrace_cleaner.rb +0 -46
  142. data/lib/rspec/core/backward_compatibility.rb +0 -55
  143. data/lib/rspec/core/caller_filter.rb +0 -60
  144. data/lib/rspec/core/deprecated_mutable_array_proxy.rb +0 -32
  145. data/lib/rspec/core/deprecation.rb +0 -26
  146. data/lib/rspec/core/extensions/instance_eval_with_args.rb +0 -44
  147. data/lib/rspec/core/extensions/kernel.rb +0 -9
  148. data/lib/rspec/core/extensions/module_eval_with_args.rb +0 -38
  149. data/lib/rspec/core/extensions/ordered.rb +0 -27
  150. data/lib/rspec/core/formatters/console_codes.rb +0 -42
  151. data/lib/rspec/core/formatters/text_mate_formatter.rb +0 -34
  152. data/lib/rspec/core/metadata_hash_builder.rb +0 -97
  153. data/lib/rspec/core/minitest_assertions_adapter.rb +0 -28
  154. data/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  155. data/spec/autotest/discover_spec.rb +0 -49
  156. data/spec/autotest/failed_results_re_spec.rb +0 -45
  157. data/spec/autotest/rspec_spec.rb +0 -133
  158. data/spec/rspec/core/backtrace_cleaner_spec.rb +0 -68
  159. data/spec/rspec/core/caller_filter_spec.rb +0 -58
  160. data/spec/rspec/core/deprecations_spec.rb +0 -59
  161. data/spec/rspec/core/formatters/console_codes_spec.rb +0 -50
  162. data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +0 -107
  163. data/spec/rspec/core/kernel_extensions_spec.rb +0 -9
  164. data/spec/rspec/core/pending_spec.rb +0 -27
  165. data/spec/support/silence_dsl_deprecations.rb +0 -32
@@ -0,0 +1 @@
1
+ ut�>X??�!�ԯ���h?u�n�� s������%a��sc��j(x��9b:9a�}��]�L�#mO>2��Z�lHs�AOi�dE�P��;K����� |6�h9/ ���2�5>fD�{��$�Zx߿�B~��j��g�|"ʙ��Z�!���������D=�'��F"�=r���ϋ�lK(�t�E0k�k_��P��.����Ѫ��.��W\l��9��wsP��RB�VN�ׯi�JW��j��9h�u�4R�8��5�-J�
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rspec/core/deprecation'
3
- RSpec.warn_deprecation <<-WARNING
4
- ************************************************************
5
- REMOVAL NOTICE: you are using behaviour that has been
6
- removed from rspec-2.
7
-
8
- * The 'autospec' command is no longer supported.
9
- * Please use 'autotest' instead.
10
-
11
- This message will be removed from a future version of rspec.
12
- ************************************************************
13
- WARNING
@@ -1,38 +0,0 @@
1
- RSpec ships with a specialized subclass of Autotest. To use it, just add a
2
- `.rspec` file to your project's root directory, and run the `autotest` command
3
- as normal:
4
-
5
- $ autotest
6
-
7
- ## Bundler
8
-
9
- The `autotest` command generates a shell command that runs your specs. If you
10
- are using Bundler, and you want the shell command to include `bundle exec`,
11
- require the Autotest bundler plugin in a `.autotest` file in the project's root
12
- directory or your home directory:
13
-
14
- # in .autotest
15
- require "autotest/bundler"
16
-
17
- ## Upgrading from previous versions of rspec
18
-
19
- Previous versions of RSpec used a different mechanism for telling autotest to
20
- invoke RSpec's Autotest extension: it generated an `autotest/discover.rb` file
21
- in the project's root directory. This is no longer necessary with the new
22
- approach of RSpec looking for a `.rspec` file, so feel free to delete the
23
- `autotest/discover.rb` file in the project root if you have one.
24
-
25
- ## Gotchas
26
-
27
- ### Invalid Option: --tty
28
-
29
- The `--tty` option was [added in rspec-core-2.2.1](changelog), and is used
30
- internally by RSpec. If you see an error citing it as an invalid option, you'll
31
- probably see there are two or more versions of rspec-core in the backtrace: one
32
- < 2.2.1 and one >= 2.2.1.
33
-
34
- This usually happens because you have a newer rspec-core installed, and an
35
- older rspec-core specified in a Bundler Gemfile. If this is the case, you can:
36
-
37
- 1. specify the newer version in the Gemfile (recommended)
38
- 2. prefix the `autotest` command with `bundle exec`
@@ -1,52 +0,0 @@
1
- Feature: treat symbols as metadata keys with true values
2
-
3
- Use the treat_symbols_as_metadata_keys_with_true_values option to tell RSpec that :key is shorthand for :key => true.
4
-
5
- RSpec.configure { |c| c.treat_symbols_as_metadata_keys_with_true_values = true }
6
-
7
- Background:
8
- Given a file named "spec/spec_helper.rb" with:
9
- """ruby
10
- RSpec.configure { |c| c.treat_symbols_as_metadata_keys_with_true_values = true }
11
- """
12
-
13
- Scenario: by default, symbols without values are ignored and the specs are filtered out
14
- Given a file named "spec/example_spec.rb" with:
15
- """ruby
16
- describe "failed filtering" do
17
- it "this will be filted out", :some_tag do
18
- true
19
- end
20
-
21
- it "so will this" do
22
- false
23
- end
24
- end
25
- """
26
- When I run `rspec spec/example_spec.rb --tag some_tag`
27
- Then the output should contain "0 examples, 0 failures"
28
- And the output should contain "All examples were filtered out"
29
-
30
- Scenario: when treat_symbols_as_metadata_keys_with_true_values is true, specs can be tagged with only a symbol
31
- Given a file named "spec/example_spec.rb" with:
32
- """ruby
33
- require "spec_helper"
34
- describe "run me", :some_tag do
35
- it "runs" do
36
- true
37
- end
38
- end
39
-
40
- describe "run one of these" do
41
- it "run this one", :some_tag do
42
- true
43
- end
44
-
45
- it "but not me" do
46
- false
47
- end
48
- end
49
- """
50
- When I run `rspec spec/example_spec.rb --tag some_tag`
51
- Then the output should contain "2 examples, 0 failures"
52
- And the output should contain "Run options: include {:some_tag=>true}"
@@ -1,124 +0,0 @@
1
- Feature: attribute of subject
2
-
3
- WARNING: `its` will be extracted from rspec-core-3.0 into its own gem.
4
-
5
- Use the `its` method as a short-hand to generate a nested example group with
6
- a single example that specifies the expected value of an attribute of the
7
- subject. This can be used with an implicit or explicit subject.
8
-
9
- `its` accepts a symbol or a string, and a block representing the example.
10
-
11
- its(:size) { should eq(1) }
12
- its("length") { should eq(1) }
13
-
14
- You can use a string with dots to specify a nested attribute (i.e. an
15
- attribute of the attribute of the subject).
16
-
17
- its("phone_numbers.size") { should eq(2) }
18
-
19
- When the subject is a hash, you can pass in an array with a single key to
20
- access the value at that key in the hash.
21
-
22
- its([:key]) { should eq(value) }
23
-
24
- Scenario: specify value of an attribute
25
- Given a file named "example_spec.rb" with:
26
- """ruby
27
- describe Array do
28
- context "when first created" do
29
- its(:size) { should eq(0) }
30
- end
31
- end
32
- """
33
- When I run `rspec example_spec.rb --format documentation`
34
- Then the output should contain:
35
- """
36
- Array
37
- when first created
38
- size
39
- should eq 0
40
- """
41
-
42
- Scenario: specify value of a nested attribute
43
- Given a file named "example_spec.rb" with:
44
- """ruby
45
- class Person
46
- attr_reader :phone_numbers
47
- def initialize
48
- @phone_numbers = []
49
- end
50
- end
51
-
52
- describe Person do
53
- context "with one phone number (555-1212)"do
54
- subject do
55
- person = Person.new
56
- person.phone_numbers << "555-1212"
57
- person
58
- end
59
-
60
- its("phone_numbers.first") { should eq("555-1212") }
61
- end
62
- end
63
- """
64
- When I run `rspec example_spec.rb --format documentation`
65
- Then the output should contain:
66
- """
67
- Person
68
- with one phone number (555-1212)
69
- phone_numbers.first
70
- should eq "555-1212"
71
- """
72
-
73
- Scenario: specify value of an attribute of a hash
74
- Given a file named "example_spec.rb" with:
75
- """ruby
76
- describe Hash do
77
- context "with two items" do
78
- subject do
79
- {:one => 'one', :two => 'two'}
80
- end
81
-
82
- its(:size) { should eq(2) }
83
- end
84
- end
85
- """
86
- When I run `rspec example_spec.rb`
87
- Then the examples should all pass
88
-
89
- Scenario: specify value for key in a hash
90
- Given a file named "example_spec.rb" with:
91
- """ruby
92
- describe Hash do
93
- context "with keys :one and 'two'" do
94
- subject do
95
- {:one => 1, "two" => 2}
96
- end
97
-
98
- its([:one]) { should eq(1) }
99
- its(["two"]) { should eq(2) }
100
- end
101
- end
102
- """
103
- When I run `rspec example_spec.rb`
104
- Then the examples should all pass
105
-
106
- Scenario: specify value for key in a hash-like object
107
- Given a file named "example_spec.rb" with:
108
- """ruby
109
- require 'matrix'
110
-
111
- describe Matrix do
112
- context "with values [[1, 2], [3, 4]]" do
113
- subject do
114
- Matrix[[1, 2], [3, 4]]
115
- end
116
-
117
- its([0, 1]) { should eq(2) }
118
- its([1, 0]) { should eq(3) }
119
- its([1, 2]) { should be_nil }
120
- end
121
- end
122
- """
123
- When I run `rspec example_spec.rb`
124
- Then the examples should all pass
@@ -1,71 +0,0 @@
1
- Feature: One-liner syntax
2
-
3
- RSpec supports a one-liner syntax for setting an expectation
4
- on the `subject`. RSpec will give the examples a doc string
5
- that is auto-generated from the matcher used in the example.
6
- This is designed specifically to help avoid duplication in
7
- situations where the doc string and the matcher used in the
8
- example mirror each other exactly. When used excessively,
9
- it can produce documentation output that does not read well
10
- or contribute to understanding the object you are describing.
11
-
12
- This comes in two flavors:
13
-
14
- * `is_expected` is defined simply as `expect(subject)` and is
15
- designed for when you are using rspec-expectations with its
16
- newer expect-based syntax.
17
- * `should` was designed back when rspec-expectations only had
18
- a should-based syntax. However, it continues to be available
19
- and work even if the `:should` syntax is disabled (since that
20
- merely removes `Object#should` but this is
21
- `RSpec::Core::ExampleGroup#should`).
22
-
23
- Note: this feature is only available when using rspec-expectations.
24
-
25
- Scenario: implicit subject
26
- Given a file named "example_spec.rb" with:
27
- """ruby
28
- describe Array do
29
- describe "when first created" do
30
- # Rather than:
31
- # it "should be empty" do
32
- # subject.should be_empty
33
- # end
34
-
35
- it { should be_empty }
36
- # or
37
- it { is_expected.to be_empty }
38
- end
39
- end
40
- """
41
- When I run `rspec example_spec.rb --format doc`
42
- Then the examples should all pass
43
- And the output should contain:
44
- """
45
- Array
46
- when first created
47
- should be empty
48
- should be empty
49
- """
50
-
51
- Scenario: explicit subject
52
- Given a file named "example_spec.rb" with:
53
- """ruby
54
- describe Array do
55
- describe "with 3 items" do
56
- subject { [1,2,3] }
57
- it { should_not be_empty }
58
- # or
59
- it { is_expected.not_to be_empty }
60
- end
61
- end
62
- """
63
- When I run `rspec example_spec.rb --format doc`
64
- Then the examples should all pass
65
- And the output should contain:
66
- """
67
- Array
68
- with 3 items
69
- should not be empty
70
- should not be empty
71
- """
@@ -1,10 +0,0 @@
1
- begin
2
- # try to load rspec/autotest so we can check if the constant is defined below.
3
- require 'rspec/autotest'
4
- rescue LoadError
5
- # ignore. We print a deprecation warning later.
6
- end
7
-
8
- if File.exist?("./.rspec") && !defined?(::RSpec::Autotest)
9
- Autotest.add_discovery { "rspec2" }
10
- end
@@ -1,77 +0,0 @@
1
- begin
2
- require 'rspec/autotest'
3
- rescue LoadError
4
- require 'autotest'
5
-
6
- # Derived from the `Autotest` class, extends the `autotest` command to work
7
- # with RSpec.
8
- #
9
- # @note this will be extracted to a separate gem when we release rspec-3.
10
- class Autotest::Rspec2 < Autotest
11
-
12
- RSPEC_EXECUTABLE = File.expand_path('../../../exe/rspec', __FILE__)
13
-
14
- def initialize
15
- super()
16
- clear_mappings
17
- setup_rspec_project_mappings
18
-
19
- # Example for Ruby 1.8: http://rubular.com/r/AOXNVDrZpx
20
- # Example for Ruby 1.9: http://rubular.com/r/85ag5AZ2jP
21
- self.failed_results_re = /^\s*\d+\).*\n\s+(?:\e\[\d*m)?Failure.*(\n(?:\e\[\d*m)?\s+#\s(.*)?:\d+(?::.*)?(?:\e\[\d*m)?)+$/m
22
- self.completed_re = /\n(?:\e\[\d*m)?\d* examples?/m
23
- end
24
-
25
- # Adds conventional spec-to-file mappings to Autotest configuation.
26
- def setup_rspec_project_mappings
27
- add_mapping(%r%^spec/.*_spec\.rb$%) { |filename, _|
28
- filename
29
- }
30
- add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
31
- ["spec/#{m[1]}_spec.rb"]
32
- }
33
- add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) {
34
- files_matching %r%^spec/.*_spec\.rb$%
35
- }
36
- end
37
-
38
- # Overrides Autotest's implementation to read rspec output
39
- def consolidate_failures(failed)
40
- filters = new_hash_of_arrays
41
- failed.each do |spec, trace|
42
- if trace =~ /(.*spec\.rb)/
43
- filters[$1] << spec
44
- end
45
- end
46
- return filters
47
- end
48
-
49
- # Overrides Autotest's implementation to generate the rspec command to run
50
- def make_test_cmd(files_to_test)
51
- files_to_test.empty? ? '' :
52
- %|#{prefix}"#{ruby}"#{suffix} -S "#{RSPEC_EXECUTABLE}" --tty #{normalize(files_to_test).keys.flatten.map { |f| %|"#{f}"|}.join(' ')}|
53
- end
54
-
55
- # Generates a map of filenames to Arrays for Autotest
56
- def normalize(files_to_test)
57
- files_to_test.keys.inject({}) do |result, filename|
58
- result.merge!(File.expand_path(filename) => [])
59
- end
60
- end
61
-
62
- private
63
-
64
- def suffix
65
- using_bundler? ? "" : defined?(:Gem) ? " -rrubygems" : ""
66
- end
67
-
68
- def using_bundler?
69
- prefix =~ /bundle exec/
70
- end
71
-
72
- def gemfile?
73
- File.exist?('./Gemfile')
74
- end
75
- end
76
- Autotest.add_hook(:ran_command) { warn "\n\e[31mrspec-core's built in autotest support is deprecated and will be removed in RSpec 3. Please switch to the rspec-autotest gem.\e[0m" }
77
- end
@@ -1,46 +0,0 @@
1
- module RSpec
2
- module Core
3
- class BacktraceCleaner
4
-
5
- DEFAULT_EXCLUSION_PATTERNS = [
6
- /\/lib\d*\/ruby\//,
7
- /org\/jruby\//,
8
- /bin\//,
9
- %r|/gems/|,
10
- /spec\/spec_helper\.rb/,
11
- /lib\/rspec\/(core|expectations|matchers|mocks)/
12
- ]
13
-
14
- attr_accessor :inclusion_patterns
15
- attr_accessor :exclusion_patterns
16
-
17
- def initialize(inclusion_patterns=nil, exclusion_patterns=DEFAULT_EXCLUSION_PATTERNS.dup)
18
- @exclusion_patterns = exclusion_patterns
19
-
20
- if inclusion_patterns.nil?
21
- @inclusion_patterns = (matches_an_exclusion_pattern? Dir.getwd) ? [Regexp.new(Dir.getwd)] : []
22
- else
23
- @inclusion_patterns = inclusion_patterns
24
- end
25
- end
26
-
27
- def exclude?(line)
28
- @inclusion_patterns.none? {|p| line =~ p} and matches_an_exclusion_pattern?(line)
29
- end
30
-
31
- def full_backtrace=(true_or_false)
32
- @exclusion_patterns = true_or_false ? [] : DEFAULT_EXCLUSION_PATTERNS.dup
33
- end
34
-
35
- def full_backtrace?
36
- @exclusion_patterns.empty?
37
- end
38
-
39
- private
40
-
41
- def matches_an_exclusion_pattern?(line)
42
- @exclusion_patterns.any? {|p| line =~ p}
43
- end
44
- end
45
- end
46
- end
@@ -1,55 +0,0 @@
1
- module RSpec
2
- module Core
3
- # @private
4
- module ConstMissing
5
- # Used to print deprecation warnings for Rspec and Spec constants (use
6
- # RSpec instead)
7
- def const_missing(name)
8
- case name
9
- when :Rspec, :Spec
10
- RSpec.deprecate(name.to_s, :replacement => "RSpec")
11
- RSpec
12
- else
13
- begin
14
- super
15
- rescue Exception => e
16
- e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
17
- raise e
18
- end
19
- end
20
- end
21
- end
22
- end
23
-
24
- module Runner
25
- # @deprecated use RSpec.configure instead.
26
- def self.configure(&block)
27
- RSpec.deprecate("Spec::Runner.configure", :replacement => "RSpec.configure")
28
- RSpec.configure(&block)
29
- end
30
- end
31
-
32
- # @private
33
- module Rake
34
- # Used to print deprecation warnings for Rake::SpecTask constant (use
35
- # RSpec::Core::RakeTask instead)
36
- def self.const_missing(name)
37
- case name
38
- when :SpecTask
39
- RSpec.deprecate("Spec::Rake::SpecTask", :replacement => "RSpec::Core::RakeTask")
40
- require 'rspec/core/rake_task'
41
- RSpec::Core::RakeTask
42
- else
43
- begin
44
- super
45
- rescue Exception => e
46
- e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
47
- raise e
48
- end
49
- end
50
- end
51
-
52
- end
53
- end
54
-
55
- Object.extend(RSpec::Core::ConstMissing)