rspec-core 3.1.7 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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