rspec-support 3.11.0 → 3.13.2
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/Changelog.md +61 -3
- data/lib/rspec/support/caller_filter.rb +4 -2
- data/lib/rspec/support/comparable_version.rb +3 -1
- data/lib/rspec/support/differ.rb +6 -4
- data/lib/rspec/support/directory_maker.rb +2 -0
- data/lib/rspec/support/encoded_string.rb +5 -3
- data/lib/rspec/support/fuzzy_matcher.rb +2 -0
- data/lib/rspec/support/hunk_generator.rb +2 -0
- data/lib/rspec/support/matcher_definition.rb +2 -0
- data/lib/rspec/support/method_signature_verifier.rb +9 -5
- data/lib/rspec/support/mutex.rb +3 -1
- data/lib/rspec/support/object_formatter.rb +2 -0
- data/lib/rspec/support/recursive_const_methods.rb +2 -0
- data/lib/rspec/support/reentrant_mutex.rb +3 -1
- data/lib/rspec/support/ruby_features.rb +30 -0
- data/lib/rspec/support/source/location.rb +2 -0
- data/lib/rspec/support/source/node.rb +2 -0
- data/lib/rspec/support/source/token.rb +2 -0
- data/lib/rspec/support/source.rb +2 -0
- data/lib/rspec/support/spec/deprecation_helpers.rb +2 -0
- data/lib/rspec/support/spec/diff_helpers.rb +2 -0
- data/lib/rspec/support/spec/formatting_support.rb +2 -0
- data/lib/rspec/support/spec/in_sub_process.rb +7 -1
- data/lib/rspec/support/spec/library_wide_checks.rb +2 -0
- data/lib/rspec/support/spec/shell_out.rb +8 -0
- data/lib/rspec/support/spec/stderr_splitter.rb +3 -1
- data/lib/rspec/support/spec/string_matcher.rb +2 -0
- data/lib/rspec/support/spec/with_isolated_directory.rb +2 -0
- data/lib/rspec/support/spec/with_isolated_stderr.rb +2 -0
- data/lib/rspec/support/spec.rb +2 -0
- data/lib/rspec/support/version.rb +3 -1
- data/lib/rspec/support/warnings.rb +2 -0
- data/lib/rspec/support/with_keywords_when_needed.rb +3 -1
- data/lib/rspec/support.rb +10 -2
- data.tar.gz.sig +0 -0
- metadata +8 -8
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d00874e0f5c8cdbfd6af89bd0b54763d00af6e44f192f956db7f1d0339fbb7d
|
4
|
+
data.tar.gz: b4003c525be624eb4adbdd2a72361898c301f84186469a4e62afad1207a4c80b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b07b1437db48aa727c95168b32fbd9b16ef13542accebd15b8ca12e9393e310d7120f128445eadbee725b72f8359460f7f3511fb59f58dadd91691a32ededb8
|
7
|
+
data.tar.gz: 1ff435a11b600b8bb6432cdab88f8c3d7a0603b3d1f7fe023e0b9b971f651976d08da482ffccacc35363543fe1c9b196dbb6bf28ea06c239d124c41225e94ead
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,5 +1,63 @@
|
|
1
1
|
### Development
|
2
|
-
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.13.2...3-13-maintenance)
|
3
|
+
|
4
|
+
### 3.13.2 / 2024-12-02
|
5
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.13.1...v3.13.2)
|
6
|
+
|
7
|
+
Bug Fixes:
|
8
|
+
|
9
|
+
* Prevent recursive calls to stubbed methods during stub invocation.
|
10
|
+
(James Dabbs, rspec/rspec#116)
|
11
|
+
|
12
|
+
### 3.13.1 / 2024-02-23
|
13
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.13.0...v3.13.1)
|
14
|
+
|
15
|
+
Bug Fixes:
|
16
|
+
|
17
|
+
* Exclude ruby internal require warnings from `RSpec::Support::CallerFilter#first_non_rspec_line`.
|
18
|
+
(Jon Rowe, #593)
|
19
|
+
|
20
|
+
### 3.13.0 / 2024-02-04
|
21
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.2...v3.13.0)
|
22
|
+
|
23
|
+
Enchancements
|
24
|
+
|
25
|
+
* Add `RubyFeatures#supports_syntax_suggest?`. (Jon Rowe, #571)
|
26
|
+
|
27
|
+
Bug Fixes:
|
28
|
+
|
29
|
+
* Allow string keys for keyword arguments during verification of method
|
30
|
+
signatures, (but only on Ruby 3+). (@malcolmohare, #591)
|
31
|
+
|
32
|
+
### 3.12.2 / 2024-02-04
|
33
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.1...v3.12.2)
|
34
|
+
|
35
|
+
Bug Fixes:
|
36
|
+
|
37
|
+
* Properly surface errors from `in_sub_process`. (Jon Rowe, #575)
|
38
|
+
* Add magic comment for freezing string literals. (Josh Nichols, #586)
|
39
|
+
|
40
|
+
### 3.12.1 / 2023-06-26
|
41
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.0...v3.12.1)
|
42
|
+
|
43
|
+
Bug Fixes:
|
44
|
+
|
45
|
+
* Fix `RSpec::Support.thread_local_data` to be Thread local but not Fiber local.
|
46
|
+
(Jon Rowe, #581)
|
47
|
+
|
48
|
+
### 3.12.0 / 2022-10-26
|
49
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.1...v3.12.0)
|
50
|
+
Enhancements:
|
51
|
+
|
52
|
+
* Add `RSpec::Support::RubyFeatures.distincts_kw_args_from_positional_hash?`
|
53
|
+
(Jean byroot Boussier, #535)
|
54
|
+
|
55
|
+
### 3.11.1 / 2022-09-12
|
56
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.0...v3.11.1)
|
57
|
+
|
58
|
+
Bug Fixes:
|
59
|
+
|
60
|
+
* Fix ripper detection on TruffleRuby. (Brandon Fish, #541)
|
3
61
|
|
4
62
|
### 3.11.0 / 2022-02-09
|
5
63
|
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.3...v3.11.0)
|
@@ -104,7 +162,7 @@ Bug Fixes:
|
|
104
162
|
Bug Fixes:
|
105
163
|
|
106
164
|
* Ensure that inspecting a `SimpleDelegator` based object works regardless of
|
107
|
-
|
165
|
+
visibility of the `__getobj__` method. (Jon Rowe, #369)
|
108
166
|
|
109
167
|
### 3.8.0 / 2018-08-04
|
110
168
|
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.1...v3.8.0)
|
@@ -212,7 +270,7 @@ Changes:
|
|
212
270
|
|
213
271
|
Enhancements:
|
214
272
|
|
215
|
-
* Improve formatting of `Delegator` based objects (e.g. `
|
273
|
+
* Improve formatting of `Delegator` based objects (e.g. `SimpleDelegator`) in
|
216
274
|
failure messages and diffs. (Andrew Horner, #215)
|
217
275
|
* Add `ComparableVersion`. (Yuji Nakayama, #245)
|
218
276
|
* Add `Ripper` support detection. (Yuji Nakayama, #245)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
RSpec::Support.require_rspec_support "ruby_features"
|
2
4
|
|
3
5
|
module RSpec
|
@@ -25,7 +27,7 @@ module RSpec
|
|
25
27
|
# when `CallerFilter.first_non_rspec_line` is called from the top level of a required
|
26
28
|
# file, but it depends on if rubygems is loaded or not. We don't want to have to deal
|
27
29
|
# with this complexity in our `RSpec.deprecate` calls, so we ignore it here.
|
28
|
-
IGNORE_REGEX = Regexp.union(LIB_REGEX, "rubygems/core_ext/kernel_require.rb")
|
30
|
+
IGNORE_REGEX = Regexp.union(LIB_REGEX, "rubygems/core_ext/kernel_require.rb", "<internal:", %r{/lib/ruby/[^/]+/bundled_gems\.rb})
|
29
31
|
|
30
32
|
if RSpec::Support::RubyFeatures.caller_locations_supported?
|
31
33
|
# This supports args because it's more efficient when the caller specifies
|
@@ -34,7 +36,7 @@ module RSpec
|
|
34
36
|
# be found in a small number of stack frames from `skip_frames`.
|
35
37
|
#
|
36
38
|
# Note that there is a risk to passing a `skip_frames` value that is too high:
|
37
|
-
# If it
|
39
|
+
# If it skipped the first non-rspec line, then this method would return the
|
38
40
|
# 2nd or 3rd (or whatever) non-rspec line. Thus, you generally shouldn't pass
|
39
41
|
# values for these parameters, particularly since most places that use this are
|
40
42
|
# not hot spots (generally it gets used for deprecation warnings). However,
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
# @private
|
@@ -10,7 +12,7 @@ module RSpec
|
|
10
12
|
@string = string
|
11
13
|
end
|
12
14
|
|
13
|
-
def <=>(other)
|
15
|
+
def <=>(other)
|
14
16
|
other = self.class.new(other) unless other.is_a?(self.class)
|
15
17
|
|
16
18
|
return 0 if string == other.string
|
data/lib/rspec/support/differ.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
RSpec::Support.require_rspec_support 'encoded_string'
|
2
4
|
RSpec::Support.require_rspec_support 'hunk_generator'
|
3
5
|
RSpec::Support.require_rspec_support "object_formatter"
|
@@ -6,7 +8,7 @@ require 'pp'
|
|
6
8
|
|
7
9
|
module RSpec
|
8
10
|
module Support
|
9
|
-
# rubocop:disable ClassLength
|
11
|
+
# rubocop:disable Metrics/ClassLength
|
10
12
|
class Differ
|
11
13
|
def diff(actual, expected)
|
12
14
|
diff = ""
|
@@ -24,7 +26,7 @@ module RSpec
|
|
24
26
|
diff.to_s
|
25
27
|
end
|
26
28
|
|
27
|
-
# rubocop:disable MethodLength
|
29
|
+
# rubocop:disable Metrics/MethodLength
|
28
30
|
def diff_as_string(actual, expected)
|
29
31
|
encoding = EncodedString.pick_encoding(actual, expected)
|
30
32
|
|
@@ -52,7 +54,7 @@ module RSpec
|
|
52
54
|
rescue Encoding::CompatibilityError
|
53
55
|
handle_encoding_errors(actual, expected)
|
54
56
|
end
|
55
|
-
# rubocop:enable MethodLength
|
57
|
+
# rubocop:enable Metrics/MethodLength
|
56
58
|
|
57
59
|
def diff_as_object(actual, expected)
|
58
60
|
actual_as_string = object_to_string(actual)
|
@@ -210,6 +212,6 @@ module RSpec
|
|
210
212
|
end
|
211
213
|
end
|
212
214
|
end
|
213
|
-
# rubocop:enable ClassLength
|
215
|
+
# rubocop:enable Metrics/ClassLength
|
214
216
|
end
|
215
217
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
# @private
|
@@ -60,7 +62,7 @@ module RSpec
|
|
60
62
|
# vs "\x80".encode('UTF-8','ASCII-8BIT', undef: :replace, replace: '<undef>')
|
61
63
|
# # => '<undef>'
|
62
64
|
# Encoding::CompatibilityError
|
63
|
-
# when Encoding.
|
65
|
+
# when Encoding.compatible?(str1, str2) is nil
|
64
66
|
# e.g. utf_16le_emoji_string.split("\n")
|
65
67
|
# e.g. valid_unicode_string.encode(utf8_encoding) << ascii_string
|
66
68
|
# Encoding::InvalidByteSequenceError:
|
@@ -92,7 +94,7 @@ module RSpec
|
|
92
94
|
string = remove_invalid_bytes(string)
|
93
95
|
string.encode(@encoding)
|
94
96
|
rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
|
95
|
-
# Originally defined as a constant to avoid
|
97
|
+
# Originally defined as a constant to avoid unneeded allocations, this hash must
|
96
98
|
# be defined inline (without {}) to avoid warnings on Ruby 2.7
|
97
99
|
#
|
98
100
|
# In MRI 2.1 'invalid: :replace' changed to also replace an invalid byte sequence
|
@@ -108,7 +110,7 @@ module RSpec
|
|
108
110
|
#
|
109
111
|
string.encode(@encoding, :invalid => :replace, :undef => :replace, :replace => REPLACE)
|
110
112
|
rescue Encoding::ConverterNotFoundError
|
111
|
-
# Originally defined as a constant to avoid
|
113
|
+
# Originally defined as a constant to avoid unneeded allocations, this hash must
|
112
114
|
# be defined inline (without {}) to avoid warnings on Ruby 2.7
|
113
115
|
string.dup.force_encoding(@encoding).encode(:invalid => :replace, :replace => REPLACE)
|
114
116
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rspec/support'
|
2
4
|
RSpec::Support.require_rspec_support "ruby_features"
|
3
5
|
RSpec::Support.require_rspec_support "matcher_definition"
|
@@ -8,7 +10,7 @@ module RSpec
|
|
8
10
|
# keyword args of a given method.
|
9
11
|
#
|
10
12
|
# @private
|
11
|
-
class MethodSignature # rubocop:disable ClassLength
|
13
|
+
class MethodSignature # rubocop:disable Metrics/ClassLength
|
12
14
|
attr_reader :min_non_kw_args, :max_non_kw_args, :optional_kw_args, :required_kw_args
|
13
15
|
|
14
16
|
def initialize(method)
|
@@ -82,7 +84,7 @@ module RSpec
|
|
82
84
|
def has_kw_args_in?(args)
|
83
85
|
Hash === args.last &&
|
84
86
|
could_contain_kw_args?(args) &&
|
85
|
-
(args.last.empty? || args.last.keys.any? { |x| x.is_a?(Symbol) })
|
87
|
+
(RubyFeatures.kw_arg_separation? || args.last.empty? || args.last.keys.any? { |x| x.is_a?(Symbol) })
|
86
88
|
end
|
87
89
|
|
88
90
|
# Without considering what the last arg is, could it
|
@@ -285,7 +287,7 @@ module RSpec
|
|
285
287
|
@arbitrary_kw_args = @unlimited_args = false
|
286
288
|
end
|
287
289
|
|
288
|
-
def with_expectation(expectation) # rubocop:disable
|
290
|
+
def with_expectation(expectation) # rubocop:disable Metrics/MethodLength
|
289
291
|
return self unless MethodSignatureExpectation === expectation
|
290
292
|
|
291
293
|
if expectation.empty?
|
@@ -361,7 +363,7 @@ module RSpec
|
|
361
363
|
end
|
362
364
|
|
363
365
|
def split_args(*args)
|
364
|
-
kw_args = if @signature.has_kw_args_in?(args)
|
366
|
+
kw_args = if @signature.has_kw_args_in?(args) && !RubyFeatures.kw_arg_separation?
|
365
367
|
last = args.pop
|
366
368
|
non_kw_args = last.reject { |k, _| k.is_a?(Symbol) }
|
367
369
|
if non_kw_args.empty?
|
@@ -370,6 +372,8 @@ module RSpec
|
|
370
372
|
args << non_kw_args
|
371
373
|
last.select { |k, _| k.is_a?(Symbol) }.keys
|
372
374
|
end
|
375
|
+
elsif @signature.has_kw_args_in?(args) && RubyFeatures.kw_arg_separation?
|
376
|
+
args.pop.keys
|
373
377
|
else
|
374
378
|
[]
|
375
379
|
end
|
@@ -378,7 +382,7 @@ module RSpec
|
|
378
382
|
end
|
379
383
|
end
|
380
384
|
|
381
|
-
# Figures out
|
385
|
+
# Figures out whether a given method can accept various arguments.
|
382
386
|
# Surprisingly non-trivial.
|
383
387
|
#
|
384
388
|
# @private
|
data/lib/rspec/support/mutex.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
# On 1.8.7, it's in the stdlib.
|
@@ -9,7 +11,7 @@ module RSpec
|
|
9
11
|
# Some methods we don't need are deleted. Anything I don't
|
10
12
|
# understand (there's quite a bit, actually) is left in.
|
11
13
|
#
|
12
|
-
# Some
|
14
|
+
# Some formatting changes are made to appease the robot overlord:
|
13
15
|
# https://travis-ci.org/rspec/rspec-core/jobs/54410874
|
14
16
|
# @private
|
15
17
|
class Mutex
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
# Allows a thread to lock out other threads from a critical section of code,
|
@@ -62,7 +64,7 @@ module RSpec
|
|
62
64
|
# On 1.9 and up, this is in core, so we just use the real one
|
63
65
|
class Mutex < ::Mutex
|
64
66
|
# If you mock Mutex.new you break our usage of Mutex, so
|
65
|
-
# instead we capture the original method to return
|
67
|
+
# instead we capture the original method to return Mutexes.
|
66
68
|
NEW_MUTEX_METHOD = Mutex.method(:new)
|
67
69
|
|
68
70
|
def self.new
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rbconfig'
|
2
4
|
RSpec::Support.require_rspec_support "comparable_version"
|
3
5
|
|
@@ -94,6 +96,27 @@ module RSpec
|
|
94
96
|
end
|
95
97
|
end
|
96
98
|
|
99
|
+
if RUBY_VERSION.to_f >= 3.2
|
100
|
+
def supports_syntax_suggest?
|
101
|
+
true
|
102
|
+
end
|
103
|
+
else
|
104
|
+
def supports_syntax_suggest?
|
105
|
+
false
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
if RUBY_VERSION.to_f >= 3.0
|
110
|
+
# https://rubyreferences.github.io/rubychanges/3.0.html#keyword-arguments-are-now-fully-separated-from-positional-arguments
|
111
|
+
def kw_arg_separation?
|
112
|
+
true
|
113
|
+
end
|
114
|
+
else
|
115
|
+
def kw_arg_separation?
|
116
|
+
false
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
97
120
|
if RUBY_VERSION.to_f >= 2.7
|
98
121
|
def supports_taint?
|
99
122
|
false
|
@@ -116,6 +139,9 @@ module RSpec
|
|
116
139
|
ripper_requirements.push(!Ruby.jruby_version.between?('9.0.0.0.rc1', '9.2.0.0'))
|
117
140
|
end
|
118
141
|
|
142
|
+
# TruffleRuby disables ripper due to low performance
|
143
|
+
ripper_requirements.push(false) if Ruby.truffleruby?
|
144
|
+
|
119
145
|
if ripper_requirements.all?
|
120
146
|
def ripper_supported?
|
121
147
|
true
|
@@ -126,6 +152,10 @@ module RSpec
|
|
126
152
|
end
|
127
153
|
end
|
128
154
|
|
155
|
+
def distincts_kw_args_from_positional_hash?
|
156
|
+
RUBY_VERSION >= '3.0.0'
|
157
|
+
end
|
158
|
+
|
129
159
|
if Ruby.mri?
|
130
160
|
def kw_args_supported?
|
131
161
|
RUBY_VERSION >= '2.0.0'
|
data/lib/rspec/support/source.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
module InSubProcess
|
@@ -7,10 +9,14 @@ module RSpec
|
|
7
9
|
|
8
10
|
# Useful as a way to isolate a global change to a subprocess.
|
9
11
|
|
10
|
-
def in_sub_process(prevent_warnings=true) # rubocop:disable MethodLength, Metrics/AbcSize
|
12
|
+
def in_sub_process(prevent_warnings=true) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
11
13
|
exception_reader, exception_writer = IO.pipe
|
12
14
|
result_reader, result_writer = IO.pipe
|
13
15
|
|
16
|
+
# Set binary mode to avoid errors surrounding ascii-8bit to utf-8 conversion
|
17
|
+
# this happens with warnings on rspec-rails for example
|
18
|
+
[exception_reader, exception_writer, result_reader, result_writer].each { |io| io.binmode }
|
19
|
+
|
14
20
|
pid = Process.fork do
|
15
21
|
warning_preventer = $stderr = RSpec::Support::StdErrSplitter.new($stderr)
|
16
22
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'open3'
|
2
4
|
require 'rake/file_utils'
|
3
5
|
require 'shellwords'
|
@@ -59,7 +61,9 @@ module RSpec
|
|
59
61
|
%r{bundler/source/rubygems},
|
60
62
|
# Ignore bundler + rubygems warning.
|
61
63
|
%r{site_ruby/\d\.\d\.\d/rubygems},
|
64
|
+
%r{site_ruby/\d\.\d\.\d/bundler},
|
62
65
|
%r{jruby-\d\.\d\.\d+\.\d/lib/ruby/stdlib/rubygems},
|
66
|
+
%r{lib/rubygems/custom_require},
|
63
67
|
# This is required for windows for some reason
|
64
68
|
%r{lib/bundler/rubygems},
|
65
69
|
# This is a JRuby file that generates warnings on 9.0.3.0
|
@@ -77,6 +81,10 @@ module RSpec
|
|
77
81
|
# This is a JRuby 9.2.1.x error
|
78
82
|
%r{jruby/kernel/gem_prelude},
|
79
83
|
%r{lib/jruby\.jar!/jruby/preludes},
|
84
|
+
# Ignore some JRuby errors for gems
|
85
|
+
%r{jruby/\d\.\d(\.\d)?/gems/aruba},
|
86
|
+
%r{jruby/\d\.\d(\.\d)?/gems/ffi},
|
87
|
+
%r{warning: encoding options not supported in 1\.8},
|
80
88
|
]
|
81
89
|
|
82
90
|
def strip_known_warnings(input)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'stringio'
|
2
4
|
|
3
5
|
module RSpec
|
@@ -39,7 +41,7 @@ module RSpec
|
|
39
41
|
def write(line)
|
40
42
|
return if line =~ %r{^\S+/gems/\S+:\d+: warning:} # http://rubular.com/r/kqeUIZOfPG
|
41
43
|
|
42
|
-
# Ruby 2.7.0 warnings from keyword
|
44
|
+
# Ruby 2.7.0 warnings from keyword arguments span multiple lines, extend check above
|
43
45
|
# to look for the next line.
|
44
46
|
return if @last_line =~ %r{^\S+/gems/\S+:\d+: warning:} &&
|
45
47
|
line =~ %r{warning: The called method .* is defined here}
|
data/lib/rspec/support/spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
RSpec::Support.require_rspec_support("method_signature_verifier")
|
2
4
|
|
3
5
|
module RSpec
|
@@ -9,7 +11,7 @@ module RSpec
|
|
9
11
|
module_function
|
10
12
|
|
11
13
|
if RSpec::Support::RubyFeatures.kw_args_supported?
|
12
|
-
# Remove this in RSpec 4 in favour of
|
14
|
+
# Remove this in RSpec 4 in favour of explicitly passed in kwargs where
|
13
15
|
# this is used. Works around a warning in Ruby 2.7
|
14
16
|
|
15
17
|
def class_exec(klass, *args, &block)
|
data/lib/rspec/support.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module Support
|
3
5
|
# @api private
|
@@ -89,8 +91,14 @@ module RSpec
|
|
89
91
|
end
|
90
92
|
|
91
93
|
# A single thread local variable so we don't excessively pollute that namespace.
|
92
|
-
|
93
|
-
|
94
|
+
if RUBY_VERSION.to_f >= 2
|
95
|
+
def self.thread_local_data
|
96
|
+
Thread.current.thread_variable_get(:__rspec) || Thread.current.thread_variable_set(:__rspec, {})
|
97
|
+
end
|
98
|
+
else
|
99
|
+
def self.thread_local_data
|
100
|
+
Thread.current[:__rspec] ||= {}
|
101
|
+
end
|
94
102
|
end
|
95
103
|
|
96
104
|
# @api private
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chelimsky
|
@@ -48,7 +48,7 @@ cert_chain:
|
|
48
48
|
ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
|
49
49
|
F3MdtaDehhjC
|
50
50
|
-----END CERTIFICATE-----
|
51
|
-
date:
|
51
|
+
date: 2024-12-02 00:00:00.000000000 Z
|
52
52
|
dependencies:
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: rake
|
@@ -120,15 +120,15 @@ files:
|
|
120
120
|
- lib/rspec/support/version.rb
|
121
121
|
- lib/rspec/support/warnings.rb
|
122
122
|
- lib/rspec/support/with_keywords_when_needed.rb
|
123
|
-
homepage: https://github.com/rspec/rspec
|
123
|
+
homepage: https://github.com/rspec/rspec
|
124
124
|
licenses:
|
125
125
|
- MIT
|
126
126
|
metadata:
|
127
|
-
bug_tracker_uri: https://github.com/rspec/rspec
|
128
|
-
changelog_uri: https://github.com/rspec/rspec
|
127
|
+
bug_tracker_uri: https://github.com/rspec/rspec/issues
|
128
|
+
changelog_uri: https://github.com/rspec/rspec/blob/rspec-support-v3.13.2/rspec-support/Changelog.md
|
129
129
|
documentation_uri: https://rspec.info/documentation/
|
130
130
|
mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
|
131
|
-
source_code_uri: https://github.com/rspec/rspec-support
|
131
|
+
source_code_uri: https://github.com/rspec/rspec/blob/rspec-support-v3.13.2/rspec-support
|
132
132
|
post_install_message:
|
133
133
|
rdoc_options:
|
134
134
|
- "--charset=UTF-8"
|
@@ -145,8 +145,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: '0'
|
147
147
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.5.16
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
|
-
summary: rspec-support-3.
|
151
|
+
summary: rspec-support-3.13.2
|
152
152
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|