rspec-support 3.9.3 → 3.9.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f561f278914c539fc9babd8c48285401c81f060a739c84b4cab642eb38b33af
4
- data.tar.gz: 8037220124b5c39df3fe2b68cf771f6c5bfcabf74a2fe6cd81d59657c4210afe
3
+ metadata.gz: 64e316f3b95a01e748a8957a75be69735a0a3c9946401b984f7b094ed5fe0e37
4
+ data.tar.gz: 776ca96daad03a186edf939fea14f0a93285fa645a2def1a9e743d4f4bcdbde8
5
5
  SHA512:
6
- metadata.gz: dc9aef51132154fe8574dd1500b8ebfc76062476875f6b49d1d8556fa112b1f327b73bcb0e68a19e9b0da3d13281ca9625855f22c45df84030b2caca973e3a81
7
- data.tar.gz: a7699d54e238b3bf20d77944f8ed6e13bb7e51daaca0937676c7261d98b36b7bcfd2b38af25b687d8d1a52991f06aad9499908f9fdc6b5f7eac5539162db45b2
6
+ metadata.gz: e259bee137ece963b2e947202fff1034df10ac3b7a756367e8efa0859c6f8d1353af352bc38510e42e7c374df37a9ffb050e1e88530e4565f831bd0247656154
7
+ data.tar.gz: e5f790a898522f0578202439c19ef24a7938d04394f4e1649188279affc96ea11ae3b643a547750b867f970aaa0d2b27f53ce4faeb8beb1a9e049a44455e3666
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,11 @@
1
+ ### 3.9.4 / 2020-10-23
2
+
3
+ Bug Fixes:
4
+
5
+ * Flag ripper as supported on Truffle Ruby. (Brandon Fish, #427)
6
+ * Prevent stubbing `File.read` from breaking source extraction.
7
+ (Jon Rowe, #431)
8
+
1
9
  ### 3.9.3 / 2020-05-02
2
10
  [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.2...v3.9.3)
3
11
 
data/README.md CHANGED
@@ -8,12 +8,12 @@ suitable for internal use only at this time.
8
8
 
9
9
  Install one or more of the `RSpec` gems.
10
10
 
11
- Want to run against the `master` branch? You'll need to include the dependent
11
+ Want to run against the `main` branch? You'll need to include the dependent
12
12
  RSpec repos as well. Add the following to your `Gemfile`:
13
13
 
14
14
  ```ruby
15
15
  %w[rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
16
- gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'master'
16
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'main'
17
17
  end
18
18
  ```
19
19
 
@@ -69,7 +69,7 @@ module RSpec
69
69
  return line.to_s if line
70
70
 
71
71
  skip_frames += increment
72
- increment *= 2 # The choice of two here is arbitrary.
72
+ increment *= 2 # The choice of two here is arbitrary.
73
73
  end
74
74
  end
75
75
  else
@@ -10,7 +10,7 @@ module RSpec
10
10
  @string = string
11
11
  end
12
12
 
13
- def <=>(other)
13
+ def <=>(other) # rubocop:disable Metrics/AbcSize
14
14
  other = self.class.new(other) unless other.is_a?(self.class)
15
15
 
16
16
  return 0 if string == other.string
@@ -122,7 +122,7 @@ module RSpec
122
122
  end
123
123
  end
124
124
 
125
- @max_non_kw_args = @min_non_kw_args + optional_non_kw_args
125
+ @max_non_kw_args = @min_non_kw_args + optional_non_kw_args
126
126
  @allowed_kw_args = @required_kw_args + @optional_kw_args
127
127
  end
128
128
  else
@@ -285,7 +285,7 @@ module RSpec
285
285
  @arbitrary_kw_args = @unlimited_args = false
286
286
  end
287
287
 
288
- def with_expectation(expectation) # rubocop:disable MethodLength
288
+ def with_expectation(expectation) # rubocop:disable MethodLength, Metrics/PerceivedComplexity
289
289
  return self unless MethodSignatureExpectation === expectation
290
290
 
291
291
  if expectation.empty?
@@ -7,7 +7,7 @@ module RSpec
7
7
  #
8
8
  # Provides query methods for different OS or OS features.
9
9
  module OS
10
- module_function
10
+ module_function
11
11
 
12
12
  def windows?
13
13
  !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
@@ -22,7 +22,7 @@ module RSpec
22
22
  #
23
23
  # Provides query methods for different rubies
24
24
  module Ruby
25
- module_function
25
+ module_function
26
26
 
27
27
  def jruby?
28
28
  RUBY_PLATFORM == 'java'
@@ -58,7 +58,7 @@ module RSpec
58
58
  # Provides query methods for ruby features that differ among
59
59
  # implementations.
60
60
  module RubyFeatures
61
- module_function
61
+ module_function
62
62
 
63
63
  if Ruby.jruby?
64
64
  # On JRuby 1.7 `--1.8` mode, `Process.respond_to?(:fork)` returns true,
@@ -105,7 +105,7 @@ module RSpec
105
105
  end
106
106
  ripper_requirements = [ComparableVersion.new(RUBY_VERSION) >= '1.9.2']
107
107
 
108
- ripper_requirements.push(false) if Ruby.rbx? || Ruby.truffleruby?
108
+ ripper_requirements.push(false) if Ruby.rbx?
109
109
 
110
110
  if Ruby.jruby?
111
111
  ripper_requirements.push(Ruby.jruby_version >= '1.7.5')
@@ -8,6 +8,16 @@ module RSpec
8
8
  class Source
9
9
  attr_reader :source, :path
10
10
 
11
+ # This class protects us against having File read and expand_path
12
+ # stubbed out within tests.
13
+ class File
14
+ class << self
15
+ [:read, :expand_path].each do |method_name|
16
+ define_method(method_name, &::File.method(method_name))
17
+ end
18
+ end
19
+ end
20
+
11
21
  def self.from_file(path)
12
22
  source = File.read(path)
13
23
  new(source, path)
@@ -2,6 +2,7 @@ require 'rspec/support'
2
2
  require 'rspec/support/spec/in_sub_process'
3
3
 
4
4
  RSpec::Support.require_rspec_support "spec/deprecation_helpers"
5
+ RSpec::Support.require_rspec_support "spec/diff_helpers"
5
6
  RSpec::Support.require_rspec_support "spec/with_isolated_stderr"
6
7
  RSpec::Support.require_rspec_support "spec/stderr_splitter"
7
8
  RSpec::Support.require_rspec_support "spec/formatting_support"
@@ -0,0 +1,31 @@
1
+ require 'diff/lcs'
2
+
3
+ module RSpec
4
+ module Support
5
+ module Spec
6
+ module DiffHelpers
7
+ # In the updated version of diff-lcs several diff headers change format slightly
8
+ # compensate for this and change minimum version in RSpec 4
9
+ if ::Diff::LCS::VERSION.to_f < 1.4
10
+ def one_line_header(line_number=2)
11
+ "-1,#{line_number} +1,#{line_number}"
12
+ end
13
+ else
14
+ def one_line_header(_=2)
15
+ "-1 +1"
16
+ end
17
+ end
18
+
19
+ if Diff::LCS::VERSION.to_f < 1.4 || Diff::LCS::VERSION >= "1.4.4"
20
+ def removing_two_line_header
21
+ "-1,3 +1"
22
+ end
23
+ else
24
+ def removing_two_line_header
25
+ "-1,3 +1,5"
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -7,8 +7,7 @@ module RSpec
7
7
 
8
8
  # Useful as a way to isolate a global change to a subprocess.
9
9
 
10
- # rubocop:disable MethodLength
11
- def in_sub_process(prevent_warnings=true)
10
+ def in_sub_process(prevent_warnings=true) # rubocop:disable MethodLength, Metrics/AbcSize
12
11
  exception_reader, exception_writer = IO.pipe
13
12
  result_reader, result_writer = IO.pipe
14
13
 
@@ -46,7 +45,6 @@ module RSpec
46
45
  result_reader.close
47
46
  result
48
47
  end
49
- # rubocop:enable MethodLength
50
48
  alias :in_sub_process_if_possible :in_sub_process
51
49
 
52
50
  def marshal_dump_with_unmarshable_object_handling(object)
@@ -53,19 +53,30 @@ module RSpec
53
53
  end
54
54
  end
55
55
 
56
- def strip_known_warnings(input)
57
- input.split("\n").reject do |l|
56
+ LINES_TO_IGNORE =
57
+ [
58
58
  # Ignore bundler warning.
59
- l =~ %r{bundler/source/rubygems} ||
59
+ %r{bundler/source/rubygems},
60
60
  # Ignore bundler + rubygems warning.
61
- l =~ %r{site_ruby/\d\.\d\.\d/rubygems} ||
62
- l =~ %r{jruby-\d\.\d\.\d\.\d/lib/ruby/stdlib/rubygems} ||
61
+ %r{site_ruby/\d\.\d\.\d/rubygems},
62
+ %r{jruby-\d\.\d\.\d\.\d/lib/ruby/stdlib/rubygems},
63
63
  # This is required for windows for some reason
64
- l =~ %r{lib/bundler/rubygems} ||
64
+ %r{lib/bundler/rubygems},
65
65
  # This is a JRuby file that generates warnings on 9.0.3.0
66
- l =~ %r{lib/ruby/stdlib/jar} ||
66
+ %r{lib/ruby/stdlib/jar},
67
67
  # This is a JRuby file that generates warnings on 9.1.7.0
68
- l =~ %r{org/jruby/RubyKernel\.java} ||
68
+ %r{org/jruby/RubyKernel\.java},
69
+ # This is a JRuby gem that generates warnings on 9.1.7.0
70
+ %r{ffi-1\.13\.\d+-java},
71
+ %r{uninitialized constant FFI},
72
+ # These are related to the above, there is a warning about io from FFI
73
+ %r{jruby-\d\.\d\.\d\.\d/lib/ruby/stdlib/io},
74
+ %r{io/console on JRuby shells out to stty for most operations},
75
+ ]
76
+
77
+ def strip_known_warnings(input)
78
+ input.split("\n").reject do |l|
79
+ LINES_TO_IGNORE.any? { |to_ignore| l =~ to_ignore } ||
69
80
  # Remove blank lines
70
81
  l == "" || l.nil?
71
82
  end.join("\n")
@@ -4,7 +4,6 @@ require 'rspec/matchers'
4
4
  # which also relies on EncodedString. Instead, confirm the
5
5
  # strings have the same bytes.
6
6
  RSpec::Matchers.define :be_identical_string do |expected|
7
-
8
7
  if String.method_defined?(:encoding)
9
8
  match do
10
9
  expected_encoding? &&
@@ -1,7 +1,7 @@
1
1
  module RSpec
2
2
  module Support
3
3
  module Version
4
- STRING = '3.9.3'
4
+ STRING = '3.9.4'
5
5
  end
6
6
  end
7
7
  end
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.9.3
4
+ version: 3.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -10,7 +10,7 @@ authors:
10
10
  - Sam Phippen
11
11
  - Xaviery Shay
12
12
  - Bradley Schaefer
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain:
16
16
  - |
@@ -48,7 +48,7 @@ cert_chain:
48
48
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
49
49
  F3MdtaDehhjC
50
50
  -----END CERTIFICATE-----
51
- date: 2020-05-02 00:00:00.000000000 Z
51
+ date: 2020-10-23 00:00:00.000000000 Z
52
52
  dependencies:
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rake
@@ -108,6 +108,7 @@ files:
108
108
  - lib/rspec/support/source/token.rb
109
109
  - lib/rspec/support/spec.rb
110
110
  - lib/rspec/support/spec/deprecation_helpers.rb
111
+ - lib/rspec/support/spec/diff_helpers.rb
111
112
  - lib/rspec/support/spec/formatting_support.rb
112
113
  - lib/rspec/support/spec/in_sub_process.rb
113
114
  - lib/rspec/support/spec/library_wide_checks.rb
@@ -124,11 +125,11 @@ licenses:
124
125
  - MIT
125
126
  metadata:
126
127
  bug_tracker_uri: https://github.com/rspec/rspec-support/issues
127
- changelog_uri: https://github.com/rspec/rspec-support/blob/v3.9.3/Changelog.md
128
+ changelog_uri: https://github.com/rspec/rspec-support/blob/v3.9.4/Changelog.md
128
129
  documentation_uri: https://rspec.info/documentation/
129
130
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
130
131
  source_code_uri: https://github.com/rspec/rspec-support
131
- post_install_message:
132
+ post_install_message:
132
133
  rdoc_options:
133
134
  - "--charset=UTF-8"
134
135
  require_paths:
@@ -144,8 +145,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  - !ruby/object:Gem::Version
145
146
  version: '0'
146
147
  requirements: []
147
- rubygems_version: 3.1.2
148
- signing_key:
148
+ rubygems_version: 3.2.0.rc.1
149
+ signing_key:
149
150
  specification_version: 4
150
- summary: rspec-support-3.9.3
151
+ summary: rspec-support-3.9.4
151
152
  test_files: []
metadata.gz.sig CHANGED
Binary file