power_assert 0.2.1 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61a285182186fe82f7d5e42eb9ce9942edfd11ba
4
- data.tar.gz: f03a6ff069821625f498c48b359d41697d8278bf
3
+ metadata.gz: 4114043b958f530bf1b005c95b52c283e196b2dd
4
+ data.tar.gz: ca1573692d996d86479bdbfd412071543074a4d0
5
5
  SHA512:
6
- metadata.gz: f4a379fc1cc3569968450a0c37d32f48bd46524b31e5fa73988cd540e4a78f40dfb5297e0fbd14c4c77e5375340a9e033733d4689d2f0e23004af96d2adc78a7
7
- data.tar.gz: 48a718d7da45368b3bf5363d6948efcbd29c6a748c29ba56f6f046e214ff728e20f9947434db9e7ac64276b420e7855eaf290f5f227e91f462888b26aad64257
6
+ metadata.gz: 2dad87631bbcfe83d491276b325d85f9a6f3ff9a23f4057c8a0aaec7b00fc24b512db5a095b7092e79aa3e672e542670b407acf8772f3303dd70598adb702c89
7
+ data.tar.gz: c454a8d8a07e2eca899c3e43b4a895de55680cf4de23dde7eb92a49ace1fe4f10e4bcc7eb0f8403894cacfd539db4a09994c01ba26a7b4df17835ee0d0d9255c
data/lib/power_assert.rb CHANGED
@@ -64,14 +64,14 @@ module PowerAssert
64
64
  end
65
65
 
66
66
  def inspect
67
- inspect = @value.inspect
68
- if Encoding.compatible?(Encoding.default_external, inspect)
69
- inspect
67
+ inspected = @value.inspect
68
+ if Encoding.compatible?(Encoding.default_external, inspected)
69
+ inspected
70
70
  else
71
71
  begin
72
- "#{inspect.encode(Encoding.default_external)}(#{inspect.encoding})"
72
+ "#{inspected.encode(Encoding.default_external)}(#{inspected.encoding})"
73
73
  rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
74
- inspect.force_encoding(Encoding.default_external)
74
+ inspected.force_encoding(Encoding.default_external)
75
75
  end
76
76
  end
77
77
  rescue => e
@@ -165,8 +165,7 @@ module PowerAssert
165
165
  inspected_vals = vals.each_with_object({}) do |j, h|
166
166
  h[j.column.to_s.to_sym] = [SafeInspectable.new(i.value).inspect, '|', ' '][i.column <=> j.column]
167
167
  end
168
- l = sprintf(fmt, inspected_vals)
169
- ret << (l.valid_encoding? ? l.rstrip : l)
168
+ ret << encoding_safe_rstrip(sprintf(fmt, inspected_vals))
170
169
  end
171
170
  ret.join("\n")
172
171
  end
@@ -181,6 +180,17 @@ module PowerAssert
181
180
  end
182
181
  end
183
182
 
183
+ def encoding_safe_rstrip(str)
184
+ str.rstrip
185
+ rescue ArgumentError, Encoding::CompatibilityError
186
+ enc = str.encoding
187
+ if enc.ascii_compatible?
188
+ str.b.rstrip.force_encoding(enc)
189
+ else
190
+ str
191
+ end
192
+ end
193
+
184
194
  def extract_idents(sexp)
185
195
  tag, * = sexp
186
196
  case tag
@@ -1,3 +1,3 @@
1
1
  module PowerAssert
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -384,7 +384,7 @@ END
384
384
  a.length
385
385
  | |
386
386
  | 1
387
- \xFF
387
+ \xFF
388
388
  END
389
389
  a.length
390
390
  }.b
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power_assert
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuki Tsujimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-16 00:00:00.000000000 Z
11
+ date: 2014-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit