unibits 2.12.0 → 2.13.1

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
  SHA256:
3
- metadata.gz: 4fc36d553807a114d848c364bbbe6d6b2c98ee8dbae9a04a76e9f359e8434f2f
4
- data.tar.gz: d918891e8f22eea850b78707687c616622785f9e83c8b9b01e0c40c937136eeb
3
+ metadata.gz: c31c0a9299bdec1bc9420eb410715f89032b12aee271ff3efb382dc176eac7b4
4
+ data.tar.gz: faf3d7db85e180c76619ae9f2a6171aa978f7447078aa11e3e4a66643e0f129f
5
5
  SHA512:
6
- metadata.gz: a63766eb2951379142a25aec27396f4a86273eae4ba8433ba01f420aaec8a728119a388329c29b437eb36525c5cff2d653a78246a9cec7f3b31c5a483802bd99
7
- data.tar.gz: 568a6199e8fbb8023379bdd496c4ea8730f561e65dde0319b8fa275576a4fbd19577116356bdf1d4039f09ed2fe8b6ada5ccba062c652a8b501e743f03f43762
6
+ metadata.gz: dc3003e51e7f5ae13fcbccc909ec4fcef4d07f69eb0194b75d5a7ac1d9fc5bff6bd941921d791c151744d83336d5f00f9cf2771ea5be80d3ad3c2c9837e7a177
7
+ data.tar.gz: 3cf8c177c442ae3e397849ce1e7a39bc8a4bf8a8ac6caad45c3a24c7cee2b04a914dcfe45384f9bc282fa7ee53cb5ae93793f23b25bda060fcaca56eaca701e0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## CHANGELOG
2
2
 
3
+ ### 2.13.1
4
+
5
+ - Allow unicode-display_width to be upgraded to next major version
6
+
7
+ ### 2.13.0
8
+
9
+ * Unicode 16
10
+
3
11
  ### 2.12.0
4
12
 
5
13
  * Unicode 15.1
data/Gemfile.lock CHANGED
@@ -1,79 +1,83 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unibits (2.6.0)
5
- characteristics (>= 0.8)
4
+ unibits (2.13.0)
5
+ characteristics (~> 1.7)
6
6
  paint (>= 0.9, < 3.0)
7
- rationalist (~> 2.0)
8
- symbolify (~> 1.3)
9
- unicode-display_width (~> 1.3)
7
+ rationalist (~> 2.0, >= 2.0.1)
8
+ symbolify (~> 1.4)
9
+ unicode-display_width (~> 2.6)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- binding.repl (3.0.0)
15
14
  cd (1.0.1)
16
- characteristics (0.8.0)
17
- unicode-categories (~> 1.2)
18
- clipboard (1.1.1)
19
- code (0.9.1)
15
+ characteristics (1.7.0)
16
+ unicode-categories (~> 1.10)
17
+ clipboard (1.4.1)
18
+ code (0.9.4)
20
19
  coderay (~> 1.1)
21
- method_source (~> 0.8, >= 0.8.2)
20
+ method_source (>= 0.9, < 2.0)
22
21
  coderay (1.1.1)
23
- debugging (1.1.1)
24
- binding.repl (~> 3.0)
22
+ core_docs (0.9.11)
23
+ yard (~> 0.9.11)
24
+ debugging (2.1.0)
25
25
  paint (>= 0.9, < 3.0)
26
- every_day_irb (2.0.0)
26
+ every_day_irb (2.2.0)
27
27
  cd (~> 1.0)
28
- fancy_irb (1.1.0)
28
+ fancy_irb (1.4.3)
29
29
  paint (>= 0.9, < 3.0)
30
- unicode-display_width (~> 1.1)
30
+ unicode-display_width (>= 1.1)
31
31
  ffi (1.9.18)
32
32
  ffi (1.9.18-java)
33
33
  hirb (0.7.3)
34
- instance (0.2.0)
35
34
  interactive_editor (0.0.10)
36
35
  spoon (>= 0.0.1)
37
- irbtools (2.1.0)
38
- binding.repl (~> 3.0)
39
- clipboard (~> 1.1)
40
- code (~> 0.9)
36
+ io-console (0.7.2)
37
+ io-console (0.7.2-java)
38
+ irb (1.6.4)
39
+ reline (>= 0.3.0)
40
+ irbtools (4.0.1)
41
+ clipboard (~> 1.3)
42
+ code (>= 0.9.4, < 2.0)
41
43
  coderay (~> 1.1)
42
- debugging (~> 1.1)
43
- every_day_irb (~> 2.0)
44
- fancy_irb (~> 1.1)
44
+ core_docs (~> 0.9.9)
45
+ debugging (~> 2.1)
46
+ every_day_irb (~> 2.2)
47
+ fancy_irb (~> 1.2, >= 1.2.1)
45
48
  hirb (~> 0.7, >= 0.7.3)
46
- instance (~> 0.2)
47
49
  interactive_editor (~> 0.0, >= 0.0.10)
48
- method_locator (~> 0.0, >= 0.0.4)
49
- methodfinder (~> 2.0)
50
- ori (~> 0.1.0)
51
- os (~> 1.0)
50
+ irb (~> 1.6.2)
51
+ looksee (~> 5.0)
52
+ methodfinder (~> 2.2, >= 2.2.5)
53
+ object_shadow (~> 1.1)
54
+ os (~> 1.1, >= 1.1.4)
52
55
  paint (>= 0.9, < 3.0)
53
- ruby_engine (~> 1.0)
54
- ruby_info (~> 1.0)
56
+ ruby_engine (~> 2.0)
55
57
  ruby_version (~> 1.0)
56
- wirb (~> 2.0)
57
- method_locator (0.0.4)
58
- method_source (0.8.2)
59
- methodfinder (2.1.0)
58
+ wirb (~> 2.0, >= 2.2.1)
59
+ looksee (5.0.0)
60
+ method_source (1.1.0)
61
+ methodfinder (2.2.5)
60
62
  minitest (5.10.2)
61
- ori (0.1.0)
62
- os (1.0.0)
63
+ object_shadow (1.1.1)
64
+ os (1.1.4)
63
65
  paint (2.0.0)
64
- rake (12.0.0)
65
- rationalist (2.0.0)
66
- ruby_engine (1.0.1)
67
- ruby_info (1.0.1)
66
+ rake (13.2.1)
67
+ rationalist (2.0.1)
68
+ reline (0.5.10)
69
+ io-console (~> 0.5)
70
+ ruby_engine (2.0.3)
68
71
  ruby_version (1.0.1)
69
72
  spoon (0.0.6)
70
73
  ffi
71
- symbolify (1.3.0)
72
- characteristics (~> 0.8)
73
- unicode-categories (1.2.0)
74
- unicode-display_width (1.3.0)
75
- wirb (2.1.1)
74
+ symbolify (1.4.1)
75
+ characteristics (>= 0.8, < 2.0)
76
+ unicode-categories (1.10.0)
77
+ unicode-display_width (2.6.0)
78
+ wirb (2.2.2)
76
79
  paint (>= 0.9, < 3.0)
80
+ yard (0.9.37)
77
81
 
78
82
  PLATFORMS
79
83
  java
@@ -86,4 +90,4 @@ DEPENDENCIES
86
90
  unibits!
87
91
 
88
92
  BUNDLED WITH
89
- 1.14.6
93
+ 2.5.18
data/MIT-LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2017-2023 Jan Lelis, https://janlelis.com
1
+ Copyright (c) 2017-2024 Jan Lelis, https://janlelis.com
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -130,4 +130,4 @@ Related gems
130
130
 
131
131
  Lots of thanks to @damienklinnert for the motivation and inspiration required to build this! 🎆
132
132
 
133
- Copyright (C) 2017-2023 Jan Lelis <https://janlelis.com>. Released under the MIT license.
133
+ Copyright (C) 2017-2024 Jan Lelis <https://janlelis.com>. Released under the MIT license.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Unibits
4
- VERSION = "2.12.0"
5
- UNICODE_VERSION = "15.1.0"
4
+ VERSION = "2.13.1"
5
+ UNICODE_VERSION = "16.0.0"
6
6
  end
data/spec/unibits_spec.rb CHANGED
@@ -213,20 +213,21 @@ describe Unibits do
213
213
  end
214
214
 
215
215
  describe "invalid UTF-16 encodings" do
216
- it "- incomplete number of bytes (1/2)" do
217
- string = "a".b.force_encoding("UTF-16LE")
218
- result = Paint.unpaint(Unibits.visualize(string))
219
- result.must_match "incompl."
220
- result.must_match ""
216
+ unless RUBY_ENGINE === "truffleruby"
217
+ it "- incomplete number of bytes (1/2)" do
218
+ string = "a".b.force_encoding("UTF-16LE")
219
+ result = Paint.unpaint(Unibits.visualize(string))
220
+ result.must_match "incompl."
221
+ result.must_match "�"
222
+ end
223
+
224
+ it "- incomplete number of bytes (2/2)" do
225
+ string = "🌫".b[0..-2].force_encoding("UTF-16LE")
226
+ result = Paint.unpaint(Unibits.visualize(string))
227
+ result.must_match "incompl."
228
+ result.must_match "�"
229
+ end
221
230
  end
222
-
223
- it "- incomplete number of bytes (2/2)" do
224
- string = "🌫".b[0..-2].force_encoding("UTF-16LE")
225
- result = Paint.unpaint(Unibits.visualize(string))
226
- result.must_match "incompl."
227
- result.must_match "�"
228
- end
229
-
230
231
  it "- only lower half surrogate" do
231
232
  string = "\x3C\xD8\x2Ba".force_encoding("UTF-16LE")
232
233
  result = Paint.unpaint(Unibits.visualize(string))
@@ -245,25 +246,27 @@ describe Unibits do
245
246
  describe "invalid UTF-32 encodings" do
246
247
  # please note, currently, too large codepoints and encoded utf16 surrogates are treated as valid encodings
247
248
 
248
- it "- incomplete number of bytes (1/3)" do
249
- string = "a".b.force_encoding("UTF-32LE")
250
- result = Paint.unpaint(Unibits.visualize(string))
251
- result.must_match "incompl."
252
- result.must_match ""
253
- end
254
-
255
- it "- incomplete number of bytes (2/3)" do
256
- string = "🌫".b[0..-2].force_encoding("UTF-32LE")
257
- result = Paint.unpaint(Unibits.visualize(string))
258
- result.must_match "incompl."
259
- result.must_match ""
260
- end
261
-
262
- it "- incomplete number of bytes (3/3)" do
263
- string = "🌫".b[0..-2].force_encoding("UTF-32LE")
264
- result = Paint.unpaint(Unibits.visualize(string))
265
- result.must_match "incompl."
266
- result.must_match ""
249
+ unless RUBY_ENGINE === "truffleruby"
250
+ it "- incomplete number of bytes (1/3)" do
251
+ string = "a".b.force_encoding("UTF-32LE")
252
+ result = Paint.unpaint(Unibits.visualize(string))
253
+ result.must_match "incompl."
254
+ result.must_match "�"
255
+ end
256
+
257
+ it "- incomplete number of bytes (2/3)" do
258
+ string = "🌫".b[0..-2].force_encoding("UTF-32LE")
259
+ result = Paint.unpaint(Unibits.visualize(string))
260
+ result.must_match "incompl."
261
+ result.must_match "�"
262
+ end
263
+
264
+ it "- incomplete number of bytes (3/3)" do
265
+ string = "🌫".b[0..-2].force_encoding("UTF-32LE")
266
+ result = Paint.unpaint(Unibits.visualize(string))
267
+ result.must_match "incompl."
268
+ result.must_match "�"
269
+ end
267
270
  end
268
271
 
269
272
  it "- too large codepoint (1/2)" do
data/unibits.gemspec CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |gem|
19
19
  gem.metadata = { "rubygems_mfa_required" => "true" }
20
20
 
21
21
  gem.add_dependency 'paint', '>= 0.9', '< 3.0'
22
- gem.add_dependency 'unicode-display_width', '~> 2.5'
22
+ gem.add_dependency 'unicode-display_width', '>= 2.6', '< 4.0'
23
23
  gem.add_dependency 'symbolify', '~> 1.4'
24
- gem.add_dependency 'characteristics', '~> 1.6'
24
+ gem.add_dependency 'characteristics', '~> 1.7'
25
25
  gem.add_dependency 'rationalist', '~> 2.0', '>= 2.0.1'
26
26
 
27
27
  gem.required_ruby_version = ">= 2.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unibits
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-01 00:00:00.000000000 Z
11
+ date: 2024-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paint
@@ -34,16 +34,22 @@ dependencies:
34
34
  name: unicode-display_width
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '2.6'
40
+ - - "<"
38
41
  - !ruby/object:Gem::Version
39
- version: '2.5'
42
+ version: '4.0'
40
43
  type: :runtime
41
44
  prerelease: false
42
45
  version_requirements: !ruby/object:Gem::Requirement
43
46
  requirements:
44
- - - "~>"
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '2.6'
50
+ - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '2.5'
52
+ version: '4.0'
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: symbolify
49
55
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +70,14 @@ dependencies:
64
70
  requirements:
65
71
  - - "~>"
66
72
  - !ruby/object:Gem::Version
67
- version: '1.6'
73
+ version: '1.7'
68
74
  type: :runtime
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
78
  - - "~>"
73
79
  - !ruby/object:Gem::Version
74
- version: '1.6'
80
+ version: '1.7'
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: rationalist
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -121,7 +127,7 @@ licenses:
121
127
  - MIT
122
128
  metadata:
123
129
  rubygems_mfa_required: 'true'
124
- post_install_message:
130
+ post_install_message:
125
131
  rdoc_options: []
126
132
  require_paths:
127
133
  - lib
@@ -136,8 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
142
  - !ruby/object:Gem::Version
137
143
  version: '0'
138
144
  requirements: []
139
- rubygems_version: 3.4.4
140
- signing_key:
145
+ rubygems_version: 3.5.21
146
+ signing_key:
141
147
  specification_version: 4
142
148
  summary: Visualizes encodings
143
149
  test_files: