rspec-support 3.9.1 → 3.9.2

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: 5c8cd61c982e4ac70aa43e70803e06e76018107daa69d666eb489734ccf78e91
4
- data.tar.gz: 68f0a5ab651d9adfb6c53708bbf0b694eb40fe2781da413afd795a375dabbb5f
3
+ metadata.gz: '0608e9d9e32db7972f9ed9edf1acc660be6e859589a5bb40118979f32e3e3093'
4
+ data.tar.gz: df94499781e6a3f6460990392a90bcea42c4c1aaa028357139787ab1b92716df
5
5
  SHA512:
6
- metadata.gz: 57f69f0570273c83d2eca2570a40e203afa78bc259591770e97b330b8ebac66884db77f906244916becfbcd5e13bbd1365db05833c1336b520f6d21c07345162
7
- data.tar.gz: 76eb5e023bdce42de00e3194491530bb7c32819aae9975b95536734c064af676890f30d3618fb04a4d000e6934e3644af577593fd5708496c61ac9ae647bdac9
6
+ metadata.gz: 7598c046151adc5322cddd117f5809c3b3f9b1271c5db74496d6961e0799c1fbf3a47d2b48f1195be96b3c2ce0baab7c11d2f19709d478fc44848523034b9514
7
+ data.tar.gz: f548fa1b506985c64d9d612463cb4ffb8b41233a86af16ee26449e936570dbe0d4c2f2d9ad5c7fe3cd1a1b57d3156fba368b2f44627634053c2f1db51f64fc6d
@@ -1,3 +1,3 @@
1
- y�>k�k�ce�;�m���(#�hn����Գ�G{{-�������(:��N3���D�'j��/:/�ί�4W �}2��a����%%�&�o�:l���k�!�P|�^ F,��΀nz�̉�W���uة1",��/�����_U�� ��ݽ�Z3T�,,['(�7o��P��yt�/
2
- �`
3
- .���(>k8�o��!�ڷQ�+����qH����<P���I�������g�_6�SG@�R�XR��5�]�60�qs�ž�,֤�6���N�@�;�E����3�Nآ -�ٴB}65����&� F%i�epO�M&C�Î�O�;PҘF�n��Et�V�ZG� ���������>�t�4� '`���9��]VE��q�P�j� ��a7����џ�^c 2]&�B-�?����_�,�a���/�\����+��[9�M~<륦�k-q��Ȅ��!C<�e�^8��,y�b��%�#�{�O���0 ��e�t�ok�yw-�����'�
1
+ i|?��R�.�����m!�~��L�29�[�&� x=
2
+ ��f��l��䦆��; ��O�� t[�j���wr�bE�&W�[�p
3
+ ^S�:�$zXPL�o��
data.tar.gz.sig CHANGED
Binary file
@@ -1,4 +1,12 @@
1
+ ### 3.9.2 / 2019-12-30
2
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.1...v3.9.2)
3
+
4
+ Bug Fixes:
5
+
6
+ * Remove unneeded eval. (Matijs van Zuijlen, #394)
7
+
1
8
  ### 3.9.1 / 2019-12-28
9
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.0...v3.9.1)
2
10
 
3
11
  Bug Fixes:
4
12
 
@@ -6,12 +14,14 @@ Bug Fixes:
6
14
  (Jon Rowe, #392)
7
15
 
8
16
  ### 3.9.0 / 2019-10-07
17
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.3...v3.9.0)
9
18
 
10
19
  *NO CHANGES*
11
20
 
12
21
  Version 3.9.0 was released to allow other RSpec gems to release 3.9.0.
13
22
 
14
23
  ### 3.8.3 / 2019-10-02
24
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.2...v3.8.3)
15
25
 
16
26
  Bug Fixes:
17
27
 
@@ -5,31 +5,11 @@ module RSpec
5
5
  # Reduce allocations by storing constants.
6
6
  UTF_8 = "UTF-8"
7
7
  US_ASCII = "US-ASCII"
8
- #
9
- # In MRI 2.1 'invalid: :replace' changed to also replace an invalid byte sequence
10
- # see https://github.com/ruby/ruby/blob/v2_1_0/NEWS#L176
11
- # https://www.ruby-forum.com/topic/6861247
12
- # https://twitter.com/nalsh/status/553413844685438976
13
- #
14
- # For example, given:
15
- # "\x80".force_encoding("Emacs-Mule").encode(:invalid => :replace).bytes.to_a
16
- #
17
- # On MRI 2.1 or above: 63 # '?'
18
- # else : 128 # "\x80"
19
- #
8
+
20
9
  # Ruby's default replacement string is:
21
10
  # U+FFFD ("\xEF\xBF\xBD"), for Unicode encoding forms, else
22
11
  # ? ("\x3F")
23
12
  REPLACE = "?"
24
- ENCODE_UNCONVERTABLE_BYTES = {
25
- :invalid => :replace,
26
- :undef => :replace,
27
- :replace => REPLACE
28
- }
29
- ENCODE_NO_CONVERTER = {
30
- :invalid => :replace,
31
- :replace => REPLACE
32
- }
33
13
 
34
14
  def initialize(string, encoding=nil)
35
15
  @encoding = encoding
@@ -112,40 +92,27 @@ module RSpec
112
92
  string = remove_invalid_bytes(string)
113
93
  string.encode(@encoding)
114
94
  rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
115
- encode_unconvertable_bytes(string)
95
+ # Originally defined as a constant to avoid uneeded allocations, this hash must
96
+ # be defined inline (without {}) to avoid warnings on Ruby 2.7
97
+ #
98
+ # In MRI 2.1 'invalid: :replace' changed to also replace an invalid byte sequence
99
+ # see https://github.com/ruby/ruby/blob/v2_1_0/NEWS#L176
100
+ # https://www.ruby-forum.com/topic/6861247
101
+ # https://twitter.com/nalsh/status/553413844685438976
102
+ #
103
+ # For example, given:
104
+ # "\x80".force_encoding("Emacs-Mule").encode(:invalid => :replace).bytes.to_a
105
+ #
106
+ # On MRI 2.1 or above: 63 # '?'
107
+ # else : 128 # "\x80"
108
+ #
109
+ string.encode(@encoding, :invalid => :replace, :undef => :replace, :replace => REPLACE)
116
110
  rescue Encoding::ConverterNotFoundError
117
- encode_no_converter(string.dup.force_encoding(@encoding))
111
+ # Originally defined as a constant to avoid uneeded allocations, this hash must
112
+ # be defined inline (without {}) to avoid warnings on Ruby 2.7
113
+ string.dup.force_encoding(@encoding).encode(:invalid => :replace, :replace => REPLACE)
118
114
  end
119
115
 
120
- private
121
-
122
- # On Ruby 2.7.0 keyword arguments mixed with conventional cause a warning to
123
- # be issued requiring us to be explicit by using a ** to pass the hash as
124
- # keyword arguments. Any keyword argument supporting Ruby supports this.
125
- if RubyFeatures.kw_args_supported?
126
- # Note on non keyword supporting Ruby ** causes a syntax error hence
127
- # we must use eval. To be removed in RSpec 4.
128
- binding.eval(<<-CODE, __FILE__, __LINE__)
129
- def encode_unconvertable_bytes(string)
130
- string.encode(@encoding, **ENCODE_UNCONVERTABLE_BYTES)
131
- end
132
-
133
- def encode_no_converter(string)
134
- string.encode(**ENCODE_NO_CONVERTER)
135
- end
136
- CODE
137
- else
138
- def encode_unconvertable_bytes(string)
139
- string.encode(@encoding, ENCODE_UNCONVERTABLE_BYTES)
140
- end
141
-
142
- def encode_no_converter(string)
143
- string.encode(ENCODE_NO_CONVERTER)
144
- end
145
- end
146
-
147
- public
148
-
149
116
  # Prevents raising ArgumentError
150
117
  if String.method_defined?(:scrub)
151
118
  # https://github.com/ruby/ruby/blob/eeb05e8c11/doc/NEWS-2.1.0#L120-L123
@@ -1,7 +1,7 @@
1
1
  module RSpec
2
2
  module Support
3
3
  module Version
4
- STRING = '3.9.1'
4
+ STRING = '3.9.2'
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.1
4
+ version: 3.9.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: 2019-12-28 00:00:00.000000000 Z
51
+ date: 2019-12-30 00:00:00.000000000 Z
52
52
  dependencies:
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rake
@@ -123,7 +123,7 @@ licenses:
123
123
  - MIT
124
124
  metadata:
125
125
  bug_tracker_uri: https://github.com/rspec/rspec-support/issues
126
- changelog_uri: https://github.com/rspec/rspec-support/blob/v3.9.1/Changelog.md
126
+ changelog_uri: https://github.com/rspec/rspec-support/blob/v3.9.2/Changelog.md
127
127
  documentation_uri: https://rspec.info/documentation/
128
128
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
129
129
  source_code_uri: https://github.com/rspec/rspec-support
@@ -146,5 +146,5 @@ requirements: []
146
146
  rubygems_version: 3.1.2
147
147
  signing_key:
148
148
  specification_version: 4
149
- summary: rspec-support-3.9.1
149
+ summary: rspec-support-3.9.2
150
150
  test_files: []
metadata.gz.sig CHANGED
Binary file