rspec-core 3.1.7 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.yardopts +1 -0
  5. data/Changelog.md +84 -0
  6. data/README.md +10 -1
  7. data/lib/rspec/core.rb +28 -8
  8. data/lib/rspec/core/backport_random.rb +12 -9
  9. data/lib/rspec/core/configuration.rb +350 -112
  10. data/lib/rspec/core/configuration_options.rb +14 -7
  11. data/lib/rspec/core/dsl.rb +7 -4
  12. data/lib/rspec/core/example.rb +86 -50
  13. data/lib/rspec/core/example_group.rb +247 -86
  14. data/lib/rspec/core/filter_manager.rb +38 -93
  15. data/lib/rspec/core/flat_map.rb +4 -4
  16. data/lib/rspec/core/formatters.rb +10 -6
  17. data/lib/rspec/core/formatters/base_formatter.rb +7 -4
  18. data/lib/rspec/core/formatters/base_text_formatter.rb +12 -12
  19. data/lib/rspec/core/formatters/console_codes.rb +8 -7
  20. data/lib/rspec/core/formatters/deprecation_formatter.rb +5 -3
  21. data/lib/rspec/core/formatters/documentation_formatter.rb +10 -4
  22. data/lib/rspec/core/formatters/helpers.rb +6 -4
  23. data/lib/rspec/core/formatters/html_formatter.rb +13 -8
  24. data/lib/rspec/core/formatters/html_printer.rb +26 -10
  25. data/lib/rspec/core/formatters/profile_formatter.rb +10 -7
  26. data/lib/rspec/core/formatters/protocol.rb +27 -18
  27. data/lib/rspec/core/formatters/snippet_extractor.rb +14 -7
  28. data/lib/rspec/core/hooks.rb +252 -211
  29. data/lib/rspec/core/memoized_helpers.rb +16 -16
  30. data/lib/rspec/core/metadata.rb +67 -28
  31. data/lib/rspec/core/metadata_filter.rb +151 -24
  32. data/lib/rspec/core/minitest_assertions_adapter.rb +5 -2
  33. data/lib/rspec/core/mocking_adapters/flexmock.rb +1 -1
  34. data/lib/rspec/core/mocking_adapters/mocha.rb +8 -8
  35. data/lib/rspec/core/notifications.rb +155 -94
  36. data/lib/rspec/core/option_parser.rb +16 -10
  37. data/lib/rspec/core/pending.rb +11 -9
  38. data/lib/rspec/core/project_initializer.rb +1 -1
  39. data/lib/rspec/core/project_initializer/spec/spec_helper.rb +10 -8
  40. data/lib/rspec/core/rake_task.rb +37 -52
  41. data/lib/rspec/core/reporter.rb +30 -7
  42. data/lib/rspec/core/ruby_project.rb +12 -4
  43. data/lib/rspec/core/runner.rb +5 -8
  44. data/lib/rspec/core/sandbox.rb +37 -0
  45. data/lib/rspec/core/shared_example_group.rb +41 -15
  46. data/lib/rspec/core/test_unit_assertions_adapter.rb +3 -3
  47. data/lib/rspec/core/version.rb +1 -1
  48. data/lib/rspec/core/warnings.rb +2 -2
  49. data/lib/rspec/core/world.rb +12 -28
  50. metadata +44 -31
  51. metadata.gz.sig +0 -0
@@ -0,0 +1,37 @@
1
+ module RSpec
2
+ module Core
3
+ # A sandbox isolates the enclosed code into an environment that looks 'new'
4
+ # meaning globally accessed objects are reset for the duration of the
5
+ # sandbox.
6
+ #
7
+ # @note This module is not normally available. You must require
8
+ # `rspec/core/sandbox` to load it.
9
+ module Sandbox
10
+ # Execute a provided block with RSpec global objects (configuration,
11
+ # world) reset. This is used to test RSpec with RSpec.
12
+ #
13
+ # When calling this the configuration is passed into the provided block.
14
+ # Use this to set custom configs for your sandboxed examples.
15
+ #
16
+ # ```
17
+ # Sandbox.sandboxed do |config|
18
+ # config.before(:context) { RSpec.current_example = nil }
19
+ # end
20
+ # ```
21
+ def self.sandboxed
22
+ orig_config = RSpec.configuration
23
+ orig_world = RSpec.world
24
+ orig_example = RSpec.current_example
25
+
26
+ RSpec.configuration = RSpec::Core::Configuration.new
27
+ RSpec.world = RSpec::Core::World.new(RSpec.configuration)
28
+
29
+ yield RSpec.configuration
30
+ ensure
31
+ RSpec.configuration = orig_config
32
+ RSpec.world = orig_world
33
+ RSpec.current_example = orig_example
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,5 +1,32 @@
1
1
  module RSpec
2
2
  module Core
3
+ # Represents some functionality that is shared with multiple example groups.
4
+ # The functionality is defined by the provided block, which is lazily
5
+ # eval'd when the `SharedExampleGroupModule` instance is included in an example
6
+ # group.
7
+ class SharedExampleGroupModule < Module
8
+ def initialize(description, definition)
9
+ @description = description
10
+ @definition = definition
11
+ end
12
+
13
+ # Provides a human-readable representation of this module.
14
+ def inspect
15
+ "#<#{self.class.name} #{@description.inspect}>"
16
+ end
17
+ alias to_s inspect
18
+
19
+ # Ruby callback for when a module is included in another module is class.
20
+ # Our definition evaluates the shared group block in the context of the
21
+ # including example group.
22
+ def included(klass)
23
+ inclusion_line = klass.metadata[:location]
24
+ SharedExampleGroupInclusionStackFrame.with_frame(@description, inclusion_line) do
25
+ klass.class_exec(&@definition)
26
+ end
27
+ end
28
+ end
29
+
3
30
  # Shared example groups let you define common context and/or common
4
31
  # examples that you wish to use in multiple example groups.
5
32
  #
@@ -15,16 +42,20 @@ module RSpec
15
42
  # groups defined at the top level can be included from any example group.
16
43
  module SharedExampleGroup
17
44
  # @overload shared_examples(name, &block)
18
- # @param name [String, Symbol, Module] identifer to use when looking up this shared group
45
+ # @param name [String, Symbol, Module] identifer to use when looking up
46
+ # this shared group
19
47
  # @param block The block to be eval'd
20
48
  # @overload shared_examples(name, metadata, &block)
21
- # @param name [String, Symbol, Module] identifer to use when looking up this shared group
22
- # @param metadata [Array<Symbol>, Hash] metadata to attach to this group; any example group
23
- # with matching metadata will automatically include this shared example group.
49
+ # @param name [String, Symbol, Module] identifer to use when looking up
50
+ # this shared group
51
+ # @param metadata [Array<Symbol>, Hash] metadata to attach to this
52
+ # group; any example group or example with matching metadata will
53
+ # automatically include this shared example group.
24
54
  # @param block The block to be eval'd
25
55
  # @overload shared_examples(metadata, &block)
26
- # @param metadata [Array<Symbol>, Hash] metadata to attach to this group; any example group
27
- # with matching metadata will automatically include this shared example group.
56
+ # @param metadata [Array<Symbol>, Hash] metadata to attach to this
57
+ # group; any example group or example with matching metadata will
58
+ # automatically include this shared example group.
28
59
  # @param block The block to be eval'd
29
60
  #
30
61
  # Stores the block for later use. The block will be evaluated
@@ -62,7 +93,7 @@ module RSpec
62
93
 
63
94
  # @api private
64
95
  #
65
- # Shared examples top level DSL
96
+ # Shared examples top level DSL.
66
97
  module TopLevelDSL
67
98
  # @private
68
99
  def self.definitions
@@ -82,7 +113,7 @@ module RSpec
82
113
 
83
114
  # @api private
84
115
  #
85
- # Adds the top level DSL methods to Module and the top level binding
116
+ # Adds the top level DSL methods to Module and the top level binding.
86
117
  def self.expose_globally!
87
118
  return if exposed_globally?
88
119
  Core::DSL.change_global_dsl(&definitions)
@@ -91,7 +122,7 @@ module RSpec
91
122
 
92
123
  # @api private
93
124
  #
94
- # Removes the top level DSL methods to Module and the top level binding
125
+ # Removes the top level DSL methods to Module and the top level binding.
95
126
  def self.remove_globally!
96
127
  return unless exposed_globally?
97
128
 
@@ -118,12 +149,7 @@ module RSpec
118
149
  end
119
150
 
120
151
  return if metadata_args.empty?
121
-
122
- mod = Module.new
123
- (class << mod; self; end).__send__(:define_method, :included) do |host|
124
- host.class_exec(&block)
125
- end
126
- RSpec.configuration.include mod, *metadata_args
152
+ RSpec.configuration.include SharedExampleGroupModule.new(name, block), *metadata_args
127
153
  end
128
154
 
129
155
  def find(lookup_contexts, name)
@@ -16,14 +16,14 @@ module RSpec
16
16
  # adding a shim for the new updates. Thus instead of checking on the
17
17
  # RUBY_VERSION we need to check ancestors.
18
18
  begin
19
- # MiniTest is 4.x
20
- # Minitest is 5.x
19
+ # MiniTest is 4.x.
20
+ # Minitest is 5.x.
21
21
  if ancestors.include?(::Minitest::Assertions)
22
22
  require 'rspec/core/minitest_assertions_adapter'
23
23
  include ::RSpec::Core::MinitestAssertionsAdapter
24
24
  end
25
25
  rescue NameError
26
- # No-op. Minitest 5.x was not loaded
26
+ # No-op. Minitest 5.x was not loaded.
27
27
  end
28
28
  end
29
29
  end
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec Core.
4
4
  module Version
5
5
  # Current version of RSpec Core, in semantic versioning format.
6
- STRING = '3.1.7'
6
+ STRING = '3.2.0'
7
7
  end
8
8
  end
9
9
  end
@@ -6,7 +6,7 @@ module RSpec
6
6
  module Warnings
7
7
  # @private
8
8
  #
9
- # Used internally to print deprecation warnings
9
+ # Used internally to print deprecation warnings.
10
10
  def deprecate(deprecated, data={})
11
11
  RSpec.configuration.reporter.deprecation(
12
12
  {
@@ -18,7 +18,7 @@ module RSpec
18
18
 
19
19
  # @private
20
20
  #
21
- # Used internally to print deprecation warnings
21
+ # Used internally to print deprecation warnings.
22
22
  def warn_deprecation(message, opts={})
23
23
  RSpec.configuration.reporter.deprecation opts.merge(:message => message)
24
24
  end
@@ -1,17 +1,13 @@
1
- require 'rbconfig'
2
-
3
1
  module RSpec
4
2
  module Core
5
3
  # @api private
6
4
  #
7
- # Internal container for global non-configuration data
5
+ # Internal container for global non-configuration data.
8
6
  class World
9
- include RSpec::Core::Hooks
10
-
11
7
  # @private
12
8
  attr_reader :example_groups, :filtered_examples
13
9
 
14
- # Used internally to determine what to do when a SIGINT is received
10
+ # Used internally to determine what to do when a SIGINT is received.
15
11
  attr_accessor :wants_to_quit
16
12
 
17
13
  def initialize(configuration=RSpec.configuration)
@@ -28,19 +24,14 @@ module RSpec
28
24
  end
29
25
 
30
26
  # @private
31
- # Used internally to clear remaining groups when fail_fast is set
27
+ # Used internally to clear remaining groups when fail_fast is set.
32
28
  def clear_remaining_example_groups
33
29
  example_groups.clear
34
30
  end
35
31
 
36
- # @private
37
- def windows_os?
38
- RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/
39
- end
40
-
41
32
  # @api private
42
33
  #
43
- # Apply ordering strategy from configuration to example groups
34
+ # Apply ordering strategy from configuration to example groups.
44
35
  def ordered_example_groups
45
36
  ordering_strategy = @configuration.ordering_registry.fetch(:global)
46
37
  ordering_strategy.order(@example_groups)
@@ -48,7 +39,7 @@ module RSpec
48
39
 
49
40
  # @api private
50
41
  #
51
- # Reset world to 'scratch' before running suite
42
+ # Reset world to 'scratch' before running suite.
52
43
  def reset
53
44
  example_groups.clear
54
45
  @shared_example_group_registry = nil
@@ -61,7 +52,7 @@ module RSpec
61
52
 
62
53
  # @api private
63
54
  #
64
- # Register an example group
55
+ # Register an example group.
65
56
  def register(example_group)
66
57
  example_groups << example_group
67
58
  example_group
@@ -82,14 +73,9 @@ module RSpec
82
73
  @configuration.exclusion_filter
83
74
  end
84
75
 
85
- # @private
86
- def configure_group(group)
87
- @configuration.configure_group(group)
88
- end
89
-
90
76
  # @api private
91
77
  #
92
- # Get count of examples to be run
78
+ # Get count of examples to be run.
93
79
  def example_count(groups=example_groups)
94
80
  FlatMap.flat_map(groups) { |g| g.descendants }.
95
81
  inject(0) { |a, e| a + e.filtered_examples.size }
@@ -97,7 +83,7 @@ module RSpec
97
83
 
98
84
  # @api private
99
85
  #
100
- # Find line number of previous declaration
86
+ # Find line number of previous declaration.
101
87
  def preceding_declaration_line(filter_line)
102
88
  declaration_line_numbers.sort.inject(nil) do |highest_prior_declaration_line, line|
103
89
  line <= filter_line ? line : highest_prior_declaration_line
@@ -111,7 +97,7 @@ module RSpec
111
97
 
112
98
  # @api private
113
99
  #
114
- # Notify reporter of filters
100
+ # Notify reporter of filters.
115
101
  def announce_filters
116
102
  filter_announcements = []
117
103
 
@@ -155,7 +141,7 @@ module RSpec
155
141
 
156
142
  # @api private
157
143
  #
158
- # Add inclusion filters to announcement message
144
+ # Add inclusion filters to announcement message.
159
145
  def announce_inclusion_filter(announcements)
160
146
  return if inclusion_filter.empty?
161
147
 
@@ -164,7 +150,7 @@ module RSpec
164
150
 
165
151
  # @api private
166
152
  #
167
- # Add exclusion filters to announcement message
153
+ # Add exclusion filters to announcement message.
168
154
  def announce_exclusion_filter(announcements)
169
155
  return if exclusion_filter.empty?
170
156
 
@@ -174,9 +160,7 @@ module RSpec
174
160
  private
175
161
 
176
162
  def declaration_line_numbers
177
- @line_numbers ||= example_groups.inject([]) do |lines, g|
178
- lines + g.declaration_line_numbers
179
- end
163
+ @declaration_line_numbers ||= FlatMap.flat_map(example_groups, &:declaration_line_numbers)
180
164
  end
181
165
  end
182
166
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Baker
@@ -13,28 +13,40 @@ bindir: exe
13
13
  cert_chain:
14
14
  - |
15
15
  -----BEGIN CERTIFICATE-----
16
- MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl
17
- Yy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk
18
- ARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV
19
- BAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK
20
- CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
21
- nhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs
22
- F5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz
23
- RUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD
24
- JcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW
25
- qgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A
26
- +dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
27
- AgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly
28
- c3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn
29
- b29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+
30
- BaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ
31
- FvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ
32
- 3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9
33
- 7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9
34
- 1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
35
- muA=
16
+ MIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
17
+ VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
18
+ MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
19
+ CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx
20
+ MjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
21
+ EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
22
+ Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
23
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
24
+ KMOHnJoExxRNHHxH+3w9kkl95YldvDRVX495b13ZCzwRe0AyqX24wq04tp0G5Z5C
25
+ e/w2pnNK4ol1eECPwQu+YGpepeODlZICL5gwQspe0cDifbBnHx5QySMiPpvx6bC0
26
+ tQTox0ppDIaMhch8IPCwyoE4DQK5bpsdwnLSHTsQjUIb7IM8tUMpd/iKrJgNffwc
27
+ 6gC1TmhIlzQoB26nCNh9uK7xZjUM+sGECzvcYuImchUaIgJA/ybrlZS+m/hxzvBo
28
+ mLnn/xNEC6Vz5HG+3TR0Gb0cSUf6XUu2s51Jk/SJi3MhCZp2gs9OUg4EVZNzQVkZ
29
+ efLBjAZG2Mxk14JyB4/Omc+Jk0ajprINCBbUNnxzCJrYDM3J9TVWIwyUGNX/U3MO
30
+ s3tMAT+EVgx/mZMPnBO8EULlyF51MRUp3Wy9Mnw8AYLk30UnMG5AjqgO5JNyFlA7
31
+ Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
32
+ blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
33
+ gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
34
+ 2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW
35
+ Vv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF
36
+ MAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD
37
+ gtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY
38
+ +pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36
39
+ 8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe
40
+ ghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid
41
+ Xrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/
42
+ UbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/
43
+ BeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj
44
+ Akt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu
45
+ e6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp
46
+ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
47
+ F3MdtaDehhjC
36
48
  -----END CERTIFICATE-----
37
- date: 2014-10-12 00:00:00.000000000 Z
49
+ date: 2015-02-03 00:00:00.000000000 Z
38
50
  dependencies:
39
51
  - !ruby/object:Gem::Dependency
40
52
  name: rspec-support
@@ -42,14 +54,14 @@ dependencies:
42
54
  requirements:
43
55
  - - "~>"
44
56
  - !ruby/object:Gem::Version
45
- version: 3.1.0
57
+ version: 3.2.0
46
58
  type: :runtime
47
59
  prerelease: false
48
60
  version_requirements: !ruby/object:Gem::Requirement
49
61
  requirements:
50
62
  - - "~>"
51
63
  - !ruby/object:Gem::Version
52
- version: 3.1.0
64
+ version: 3.2.0
53
65
  - !ruby/object:Gem::Dependency
54
66
  name: rake
55
67
  requirement: !ruby/object:Gem::Requirement
@@ -98,28 +110,28 @@ dependencies:
98
110
  requirements:
99
111
  - - "~>"
100
112
  - !ruby/object:Gem::Version
101
- version: '0.5'
113
+ version: '0.6'
102
114
  type: :development
103
115
  prerelease: false
104
116
  version_requirements: !ruby/object:Gem::Requirement
105
117
  requirements:
106
118
  - - "~>"
107
119
  - !ruby/object:Gem::Version
108
- version: '0.5'
120
+ version: '0.6'
109
121
  - !ruby/object:Gem::Dependency
110
122
  name: nokogiri
111
123
  requirement: !ruby/object:Gem::Requirement
112
124
  requirements:
113
- - - '='
125
+ - - "~>"
114
126
  - !ruby/object:Gem::Version
115
- version: 1.5.2
127
+ version: '1.5'
116
128
  type: :development
117
129
  prerelease: false
118
130
  version_requirements: !ruby/object:Gem::Requirement
119
131
  requirements:
120
- - - '='
132
+ - - "~>"
121
133
  - !ruby/object:Gem::Version
122
- version: 1.5.2
134
+ version: '1.5'
123
135
  - !ruby/object:Gem::Dependency
124
136
  name: coderay
125
137
  requirement: !ruby/object:Gem::Requirement
@@ -236,6 +248,7 @@ files:
236
248
  - lib/rspec/core/reporter.rb
237
249
  - lib/rspec/core/ruby_project.rb
238
250
  - lib/rspec/core/runner.rb
251
+ - lib/rspec/core/sandbox.rb
239
252
  - lib/rspec/core/shared_context.rb
240
253
  - lib/rspec/core/shared_example_group.rb
241
254
  - lib/rspec/core/test_unit_assertions_adapter.rb
@@ -266,6 +279,6 @@ rubyforge_project: rspec
266
279
  rubygems_version: 2.2.2
267
280
  signing_key:
268
281
  specification_version: 4
269
- summary: rspec-core-3.1.7
282
+ summary: rspec-core-3.2.0
270
283
  test_files: []
271
284
  has_rdoc:
metadata.gz.sig CHANGED
Binary file