unicode-display_width 1.4.0 → 1.4.1

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: 840ae42ecadddf7525926243ffd0872a39c6a89c773b8a406750fc59258bf4ad
4
- data.tar.gz: ca8af98922171d4c28f6eb5ccd2f499efdb9bf80e2813c651b3c18d824a48bb7
3
+ metadata.gz: 68348f39116ee4b33d3c1e4f58a52649b14d35f3e4d6354dbe7e6116751bae00
4
+ data.tar.gz: 6a2fac12e942244ac2602f06e2e7088de561e6d230302ca1a875a14690085d4a
5
5
  SHA512:
6
- metadata.gz: d58ef100d3173ed6a360cde55dd18631443e5e917529fc6b245e29e0f2b06c46f4b71138400e5e12cb9ea33923f238ed28b02fb437c13eb8a8b698f5121a11dd
7
- data.tar.gz: 0c6f8be05c7a23a21208c3a3f395626aca12a558d23c64fdaaaadc2ad474513a4f4954af77a5f903b7cf2039b6971e6188ef8e613c9c89e99df90fac5fb1d6eb
6
+ metadata.gz: a85fce734fb9aa0642ee232d2242cc9172c8da2af8c10f4a09b9fd101bd876d7185321d8cfcfffa5f4ca903f07e5075c570806e73c31bef4a625ac6c584824a6
7
+ data.tar.gz: 86104acc4f9ee32b98b243a373bdad9c6b82da9b363125b819281861ae1fac73ce9b4a4baaef2c53c2ad2859e5cd56085bdf46b5b5601635a85da568e874c362
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.4.1
4
+
5
+ - Only bundle required lib/* and data/* files in actual rubygem, patch by @tas50
6
+
3
7
  ## 1.4.0
4
8
 
5
9
  - Unicode 11
@@ -1,6 +1,6 @@
1
1
  module Unicode
2
2
  module DisplayWidth
3
- VERSION = '1.4.0'
3
+ VERSION = '1.4.1'
4
4
  UNICODE_VERSION = "11.0.0".freeze
5
5
  DATA_DIRECTORY = File.expand_path(File.dirname(__FILE__) + '/../../../data/').freeze
6
6
  INDEX_FILENAME = (DATA_DIRECTORY + '/display_width.marshal.gz').freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unicode-display_width
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-05 00:00:00.000000000 Z
11
+ date: 2018-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -51,16 +51,13 @@ files:
51
51
  - CHANGELOG.md
52
52
  - MIT-LICENSE.txt
53
53
  - README.md
54
- - Rakefile
55
54
  - data/display_width.marshal.gz
56
55
  - lib/unicode/display_width.rb
57
56
  - lib/unicode/display_width/constants.rb
58
57
  - lib/unicode/display_width/index.rb
59
58
  - lib/unicode/display_width/no_string_ext.rb
60
59
  - lib/unicode/display_width/string_ext.rb
61
- - spec/display_width_spec.rb
62
- - unicode-display_width.gemspec
63
- homepage: http://github.com/janlelis/unicode-display_width
60
+ homepage: https://github.com/janlelis/unicode-display_width
64
61
  licenses:
65
62
  - MIT
66
63
  metadata: {}
@@ -80,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
77
  version: '0'
81
78
  requirements: []
82
79
  rubyforge_project:
83
- rubygems_version: 2.7.6
80
+ rubygems_version: 2.7.7
84
81
  signing_key:
85
82
  specification_version: 4
86
83
  summary: Determines the monospace display width of a string in Ruby.
data/Rakefile DELETED
@@ -1,64 +0,0 @@
1
- # # #
2
- # Get gemspec info
3
-
4
- gemspec_file = Dir['*.gemspec'].first
5
- gemspec = eval File.read(gemspec_file), binding, gemspec_file
6
- info = "#{gemspec.name} | #{gemspec.version} | " \
7
- "#{gemspec.runtime_dependencies.size} dependencies | " \
8
- "#{gemspec.files.size} files"
9
-
10
-
11
- # # #
12
- # Gem build and install task
13
-
14
- desc info
15
- task :gem do
16
- puts info + "\n\n"
17
- print " "; sh "gem build #{gemspec_file}"
18
- FileUtils.mkdir_p 'pkg'
19
- FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", 'pkg'
20
- puts; sh %{gem install --no-document pkg/#{gemspec.name}-#{gemspec.version}.gem}
21
- end
22
-
23
-
24
- # # #
25
- # Start an IRB session with the gem loaded
26
-
27
- desc "#{gemspec.name} | IRB"
28
- task :irb do
29
- sh "irb -I ./lib -r #{gemspec.name.gsub '-','/'}"
30
- end
31
-
32
- # # #
33
- # Run all specs
34
-
35
-
36
- desc "#{gemspec.name} | Test"
37
- task :test do
38
- sh "rspec spec"
39
- end
40
- task :spec => :test
41
- task :default => :test
42
-
43
- # # #
44
- # Update index table
45
-
46
- namespace :update do
47
- desc "#{gemspec.name} | Update index"
48
- task :index do
49
- require File.dirname(__FILE__) + '/lib/unicode/display_width/index_builder'
50
- Unicode::DisplayWidth::IndexBuilder.build!
51
- end
52
- end
53
-
54
- # # #
55
- # Update data file
56
-
57
- namespace :update do
58
- desc "#{gemspec.name} | Update unicode data"
59
- task :data do
60
- require File.dirname(__FILE__) + '/lib/unicode/display_width/index_builder'
61
- Unicode::DisplayWidth::IndexBuilder.fetch!
62
- end
63
- end
64
-
@@ -1,156 +0,0 @@
1
- require_relative '../lib/unicode/display_width'
2
-
3
- describe 'Unicode::DisplayWidth.of' do
4
- describe '[east asian width]' do
5
- it 'returns 2 for F' do
6
- expect( '!'.display_width ).to eq 2
7
- end
8
-
9
- it 'returns 2 for W' do
10
- expect( '一'.display_width ).to eq 2
11
- end
12
-
13
- it 'returns 2 for W (which are currently unassigned)' do
14
- expect( "\u{3FFFD}".display_width ).to eq 2
15
- end
16
-
17
- it 'returns 1 for N' do
18
- expect( 'À'.display_width ).to eq 1
19
- end
20
-
21
- it 'returns 1 for Na' do
22
- expect( 'A'.display_width ).to eq 1
23
- end
24
-
25
- it 'returns 1 for H' do
26
- expect( '。'.display_width ).to eq 1
27
- end
28
-
29
- it 'returns first argument of display_width for A' do
30
- expect( '·'.display_width(1) ).to eq 1
31
- end
32
-
33
- it 'returns first argument of display_width for A' do
34
- expect( '·'.display_width(2) ).to eq 2
35
- end
36
-
37
- it 'returns 1 for A if no argument given' do
38
- expect( '·'.display_width ).to eq 1
39
- end
40
- end
41
-
42
- describe '[zero width]' do
43
- it 'returns 0 for Mn chars' do
44
- expect( 'ֿ'.display_width ).to eq 0
45
- end
46
-
47
- it 'returns 0 for Me chars' do
48
- expect( '҈'.display_width ).to eq 0
49
- end
50
-
51
- it 'returns 0 for Cf chars' do
52
- expect( '​'.display_width ).to eq 0
53
- end
54
-
55
- it 'returns 0 for HANGUL JUNGSEONG chars' do
56
- expect( 'ᅠ'.display_width ).to eq 0
57
- end
58
-
59
- it 'returns 0 for U+2060..U+206F' do
60
- expect( "\u{2060}".display_width ).to eq 0
61
- end
62
-
63
- it 'returns 0 for U+FFF0..U+FFF8' do
64
- expect( "\u{FFF0}".display_width ).to eq 0
65
- end
66
-
67
- it 'returns 0 for U+E0000..U+E0FFF' do
68
- expect( "\u{E0000}".display_width ).to eq 0
69
- end
70
- end
71
-
72
- describe '[special characters]' do
73
- it 'returns 0 for ␀' do
74
- expect( "\0".display_width ).to eq 0
75
- end
76
-
77
- it 'returns 0 for ␅' do
78
- expect( "\x05".display_width ).to eq 0
79
- end
80
-
81
- it 'returns 0 for ␇' do
82
- expect( "\a".display_width ).to eq 0
83
- end
84
-
85
- it 'returns -1 for ␈' do
86
- expect( "aaaa\b".display_width ).to eq 3
87
- end
88
-
89
- it 'returns -1 for ␈, but at least 0' do
90
- expect( "\b".display_width ).to eq 0
91
- end
92
-
93
- it 'returns 0 for ␊' do
94
- expect( "\n".display_width ).to eq 0
95
- end
96
-
97
- it 'returns 0 for ␋' do
98
- expect( "\v".display_width ).to eq 0
99
- end
100
-
101
- it 'returns 0 for ␌' do
102
- expect( "\f".display_width ).to eq 0
103
- end
104
-
105
- it 'returns 0 for ␍' do
106
- expect( "\r".display_width ).to eq 0
107
- end
108
-
109
- it 'returns 0 for ␎' do
110
- expect( "\x0E".display_width ).to eq 0
111
- end
112
-
113
- it 'returns 0 for ␏' do
114
- expect( "\x0F".display_width ).to eq 0
115
- end
116
-
117
- it 'returns 1 for other C0 characters' do
118
- expect( "\x10".display_width ).to eq 1
119
- end
120
-
121
- it 'returns 1 for SOFT HYPHEN' do
122
- expect( "­".display_width ).to eq 1
123
- end
124
-
125
- it 'returns 2 for THREE-EM DASH' do
126
- expect( "⸺".display_width ).to eq 2
127
- end
128
-
129
- it 'returns 3 for THREE-EM DASH' do
130
- expect( "⸻".display_width ).to eq 3
131
- end
132
- end
133
-
134
-
135
- describe '[overwrite]' do
136
- it 'can be passed a 3rd parameter with overwrites' do
137
- expect( "\t".display_width(1, 0x09 => 12) ).to eq 12
138
- end
139
- end
140
-
141
- describe '[encoding]' do
142
- it 'works with non-utf8 Unicode encodings' do
143
- expect( 'À'.encode("UTF-16LE").display_width ).to eq 1
144
- end
145
- end
146
-
147
- describe '[emoji]' do
148
- it 'does not count modifiers and zjw sequences for valid emoji' do
149
- expect( "🤾🏽‍♀️".display_width(1, {}, emoji: true) ).to eq 2
150
- end
151
-
152
- it 'works with flags' do
153
- expect( "🇵🇹".display_width(1, {}, emoji: true) ).to eq 2
154
- end
155
- end
156
- end
@@ -1,18 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.dirname(__FILE__) + "/lib/unicode/display_width"
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "unicode-display_width"
6
- s.version = Unicode::DisplayWidth::VERSION
7
- s.authors = ["Jan Lelis"]
8
- s.email = "mail@janlelis.de"
9
- s.homepage = "http://github.com/janlelis/unicode-display_width"
10
- s.summary = "Determines the monospace display width of a string in Ruby."
11
- s.description = "[Unicode #{Unicode::DisplayWidth::UNICODE_VERSION}] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, and other data."
12
- s.files = Dir.glob(%w[{lib,spec}/**/*.rb [A-Z]*.{txt,rdoc} data/display_width.marshal.gz]) + %w{Rakefile unicode-display_width.gemspec}
13
- s.extra_rdoc_files = ["README.md", "MIT-LICENSE.txt", "CHANGELOG.md"]
14
- s.license = 'MIT'
15
- s.required_ruby_version = '>= 1.9.3'
16
- s.add_development_dependency 'rspec', '~> 3.4'
17
- s.add_development_dependency 'rake', '~> 10.4'
18
- end