ffi-icu 0.2.0 → 0.4.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.
data/spec/time_spec.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'spec_helper'
4
-
5
3
  module ICU
6
4
  describe TimeFormatting do
7
5
  describe 'the TimeFormatting ' do
@@ -17,21 +15,21 @@ module ICU
17
15
 
18
16
  f1 = TimeFormatting.create(:locale => 'cs_CZ', :zone => 'Europe/Prague', :date => :long , :time => :long, :tz_style => :localized_long)
19
17
  it 'check date_format for lang=cs_CZ' do
20
- f1.date_format(true).should eql "d. MMMM y H:mm:ss ZZZZ"
21
- f1.date_format(false).should eql "d. MMMM y H:mm:ss ZZZZ"
18
+ expect(f1.date_format(true)).to eq("d. MMMM y H:mm:ss ZZZZ")
19
+ expect(f1.date_format(false)).to eq("d. MMMM y H:mm:ss ZZZZ")
22
20
  end
23
21
 
24
22
  it "for lang=cs_CZ zone=Europe/Prague" do
25
- f1.should be_an_instance_of TimeFormatting::DateTimeFormatter
26
- f1.format(t0).should eql "12. listopadu 2008 15:21:16 GMT+01:00"
27
- f1.format(t1).should eql "25. října 2008 1:15:17 GMT+02:00"
28
- f1.format(t2).should eql "25. října 2008 2:16:18 GMT+02:00"
29
- f1.format(t3).should eql "25. října 2008 3:17:19 GMT+02:00"
30
- f1.format(t4).should eql "25. října 2008 4:18:20 GMT+02:00"
31
- f1.format(t5).should eql "29. března 2008 1:35:21 GMT+01:00"
32
- f1.format(t6).should eql "29. března 2008 2:36:22 GMT+01:00"
33
- f1.format(t7).should eql "29. března 2008 3:37:23 GMT+01:00"
34
- f1.format(t8).should eql "29. března 2008 4:38:24 GMT+01:00"
23
+ expect(f1).to be_an_instance_of TimeFormatting::DateTimeFormatter
24
+ expect(f1.format(t0)).to eq("12. listopadu 2008 15:21:16 GMT+01:00")
25
+ expect(f1.format(t1)).to eq("25. října 2008 1:15:17 GMT+02:00")
26
+ expect(f1.format(t2)).to eq("25. října 2008 2:16:18 GMT+02:00")
27
+ expect(f1.format(t3)).to eq("25. října 2008 3:17:19 GMT+02:00")
28
+ expect(f1.format(t4)).to eq("25. října 2008 4:18:20 GMT+02:00")
29
+ expect(f1.format(t5)).to eq("29. března 2008 1:35:21 GMT+01:00")
30
+ expect(f1.format(t6)).to eq("29. března 2008 2:36:22 GMT+01:00")
31
+ expect(f1.format(t7)).to eq("29. března 2008 3:37:23 GMT+01:00")
32
+ expect(f1.format(t8)).to eq("29. března 2008 4:38:24 GMT+01:00")
35
33
  end
36
34
 
37
35
  f2 = TimeFormatting.create(:locale => 'en_US', :zone => 'Europe/Moscow', :date => :short , :time => :long, :tz_style => :generic_location)
@@ -45,23 +43,23 @@ module ICU
45
43
 
46
44
  en_exp = "M/d/yy#{en_sep} h:mm:ss a VVVV"
47
45
  it 'check date_format for lang=en_US' do
48
- f2.date_format(true).should eql en_exp
49
- f2.date_format(false).should eql en_exp
46
+ expect(f2.date_format(true)).to eq(en_exp)
47
+ expect(f2.date_format(false)).to eq(en_exp)
50
48
  end
51
49
 
52
50
  it "lang=en_US zone=Europe/Moscow" do
53
- f2.format(t0).should eql "11/12/08#{en_sep} 5:21:16 PM #{en_tz}"
54
- f2.format(t1).should eql "10/25/08#{en_sep} 3:15:17 AM #{en_tz}"
55
- f2.format(t2).should eql "10/25/08#{en_sep} 4:16:18 AM #{en_tz}"
56
- f2.format(t3).should eql "10/25/08#{en_sep} 5:17:19 AM #{en_tz}"
57
- f2.format(t4).should eql "10/25/08#{en_sep} 6:18:20 AM #{en_tz}"
58
- f2.format(t5).should eql "3/29/08#{en_sep} 3:35:21 AM #{en_tz}"
59
- f2.format(t6).should eql "3/29/08#{en_sep} 4:36:22 AM #{en_tz}"
60
- f2.format(t7).should eql "3/29/08#{en_sep} 5:37:23 AM #{en_tz}"
61
- f2.format(t8).should eql "3/29/08#{en_sep} 6:38:24 AM #{en_tz}"
51
+ expect(f2.format(t0)).to eq("11/12/08#{en_sep} 5:21:16 PM #{en_tz}")
52
+ expect(f2.format(t1)).to eq("10/25/08#{en_sep} 3:15:17 AM #{en_tz}")
53
+ expect(f2.format(t2)).to eq("10/25/08#{en_sep} 4:16:18 AM #{en_tz}")
54
+ expect(f2.format(t3)).to eq("10/25/08#{en_sep} 5:17:19 AM #{en_tz}")
55
+ expect(f2.format(t4)).to eq("10/25/08#{en_sep} 6:18:20 AM #{en_tz}")
56
+ expect(f2.format(t5)).to eq("3/29/08#{en_sep} 3:35:21 AM #{en_tz}")
57
+ expect(f2.format(t6)).to eq("3/29/08#{en_sep} 4:36:22 AM #{en_tz}")
58
+ expect(f2.format(t7)).to eq("3/29/08#{en_sep} 5:37:23 AM #{en_tz}")
59
+ expect(f2.format(t8)).to eq("3/29/08#{en_sep} 6:38:24 AM #{en_tz}")
62
60
  end
63
61
 
64
- f3 = TimeFormatting.create(:locale => 'de_DE', :zone => 'Africa/Dakar ', :date => :short , :time => :long)
62
+ f3 = TimeFormatting.create(:locale => 'de_DE', :zone => 'Africa/Dakar', :date => :short , :time => :long)
65
63
  ge_sep = ""
66
64
  if cldr_version >= "27.0.1"
67
65
  ge_sep = ","
@@ -69,22 +67,34 @@ module ICU
69
67
 
70
68
  ge_exp = "dd.MM.yy#{ge_sep} HH:mm:ss z"
71
69
  it 'check date_format for lang=de_DE' do
72
- f3.date_format(true).should eql ge_exp
73
- f3.date_format(false).should eql ge_exp
70
+ expect(f3.date_format(true)).to eq(ge_exp)
71
+ expect(f3.date_format(false)).to eq(ge_exp)
74
72
  end
75
73
 
76
74
  it "lang=de_DE zone=Africa/Dakar" do
77
- f3.format(t0).should eql "12.11.08#{ge_sep} 14:21:16 GMT"
78
- f3.format(t1).should eql "24.10.08#{ge_sep} 23:15:17 GMT"
79
- f3.format(t2).should eql "25.10.08#{ge_sep} 00:16:18 GMT"
80
- f3.format(t3).should eql "25.10.08#{ge_sep} 01:17:19 GMT"
81
- f3.format(t4).should eql "25.10.08#{ge_sep} 02:18:20 GMT"
82
- f3.format(t5).should eql "29.03.08#{ge_sep} 00:35:21 GMT"
83
- f3.format(t6).should eql "29.03.08#{ge_sep} 01:36:22 GMT"
84
- f3.format(t7).should eql "29.03.08#{ge_sep} 02:37:23 GMT"
85
- f3.format(t8).should eql "29.03.08#{ge_sep} 03:38:24 GMT"
75
+ expect(f3.format(t0)).to eq("12.11.08#{ge_sep} 14:21:16 GMT")
76
+ expect(f3.format(t1)).to eq("24.10.08#{ge_sep} 23:15:17 GMT")
77
+ expect(f3.format(t2)).to eq("25.10.08#{ge_sep} 00:16:18 GMT")
78
+ expect(f3.format(t3)).to eq("25.10.08#{ge_sep} 01:17:19 GMT")
79
+ expect(f3.format(t4)).to eq("25.10.08#{ge_sep} 02:18:20 GMT")
80
+ expect(f3.format(t5)).to eq("29.03.08#{ge_sep} 00:35:21 GMT")
81
+ expect(f3.format(t6)).to eq("29.03.08#{ge_sep} 01:36:22 GMT")
82
+ expect(f3.format(t7)).to eq("29.03.08#{ge_sep} 02:37:23 GMT")
83
+ expect(f3.format(t8)).to eq("29.03.08#{ge_sep} 03:38:24 GMT")
84
+ end
85
+
86
+ context 'skeleton pattern' do
87
+ f4 = TimeFormatting.create(:locale => 'fr_FR', :date => :pattern, :time => :pattern, :skeleton => 'MMMy')
88
+
89
+ it 'check format' do
90
+ expect(f4.format(t0)).to eq("nov. 2008")
91
+ expect(f4.format(t1)).to eq("oct. 2008")
92
+ end
93
+
94
+ it 'check date_format' do
95
+ expect(f4.date_format(true)).to eq("MMM y")
96
+ end
86
97
  end
87
98
  end
88
99
  end
89
100
  end
90
-
@@ -1,7 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
- require "spec_helper"
4
-
5
3
  module ICU
6
4
  describe Transliteration::Transliterator do
7
5
  def transliterator_for(*args)
@@ -11,12 +9,12 @@ module ICU
11
9
  [
12
10
  ["Any-Hex", "abcde", "\\u0061\\u0062\\u0063\\u0064\\u0065"],
13
11
  ["Lower", "ABC", "abc"],
14
- ["en", "雙屬性集合之空間分群演算法-應用於地理資料", "shuāng shǔ xìng jí hé zhī kōng jiān fēn qún yǎn suàn fǎ-yīng yòng yú de lǐ zī liào"],
12
+ ["Han-Latin", "雙屬性集合之空間分群演算法-應用於地理資料", "shuāng shǔ xìng jí hé zhī kōng jiān fēn qún yǎn suàn fǎ-yīng yòng yú de lǐ zī liào"],
15
13
  ["Devanagari-Latin", "दौलत", "daulata"]
16
14
  ].each do |id, input, output|
17
15
  it "should transliterate #{id}" do
18
16
  tl = transliterator_for(id)
19
- tl.transliterate(input).should == output
17
+ expect(tl.transliterate(input)).to eq(output)
20
18
  end
21
19
 
22
20
  end
@@ -25,12 +23,13 @@ module ICU
25
23
  describe Transliteration do
26
24
  it "should provide a list of available ids" do
27
25
  ids = ICU::Transliteration.available_ids
28
- ids.should be_kind_of(Array)
29
- ids.should_not be_empty
26
+
27
+ expect(ids).to be_an(Array)
28
+ expect(ids).to_not be_empty
30
29
  end
31
30
 
32
31
  it "should transliterate custom rules" do
33
- ICU::Transliteration.translit("NFD; [:Nonspacing Mark:] Remove; NFC", "âêîôû").should == "aeiou"
32
+ expect(ICU::Transliteration.translit("NFD; [:Nonspacing Mark:] Remove; NFC", "âêîôû")).to eq("aeiou")
34
33
  end
35
34
 
36
35
  end # Transliteration
data/spec/uchar_spec.rb CHANGED
@@ -1,35 +1,33 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'spec_helper'
4
-
5
3
  module ICU
6
4
  describe UCharPointer do
7
5
  it 'allocates enough memory for 16-bit characters' do
8
- UCharPointer.new(5).size.should == 10
6
+ expect(UCharPointer.new(5).size).to eq(10)
9
7
  end
10
8
 
11
9
  it 'builds a buffer from a string' do
12
10
  ptr = UCharPointer.from_string('abc')
13
- ptr.should be_a UCharPointer
14
- ptr.size.should == 6
15
- ptr.read_array_of_uint16(3).should == [0x61, 0x62, 0x63]
11
+ expect(ptr).to be_a UCharPointer
12
+ expect(ptr.size).to eq(6)
13
+ expect(ptr.read_array_of_uint16(3)).to eq([0x61, 0x62, 0x63])
16
14
  end
17
15
 
18
16
  it 'takes an optional capacity' do
19
17
  ptr = UCharPointer.from_string('abc', 5)
20
- ptr.size.should == 10
18
+ expect(ptr.size).to eq(10)
21
19
  end
22
20
 
23
21
  describe 'converting to string' do
24
22
  let(:ptr) { UCharPointer.new(3).write_array_of_uint16 [0x78, 0x0, 0x79] }
25
23
 
26
24
  it 'returns the the entire buffer by default' do
27
- ptr.string.should == "x\0y"
25
+ expect(ptr.string).to eq("x\0y")
28
26
  end
29
27
 
30
28
  it 'returns strings of the specified length' do
31
- ptr.string(0).should == ""
32
- ptr.string(2).should == "x\0"
29
+ expect(ptr.string(0)).to eq("")
30
+ expect(ptr.string(2)).to eq("x\0")
33
31
  end
34
32
  end
35
33
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-icu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari Bakken
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2019-10-15 00:00:00.000000000 Z
@@ -36,34 +36,28 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '2.5'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 2.5.0
39
+ version: '3.9'
43
40
  type: :development
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
46
43
  requirements:
47
44
  - - "~>"
48
45
  - !ruby/object:Gem::Version
49
- version: '2.5'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 2.5.0
46
+ version: '3.9'
53
47
  - !ruby/object:Gem::Dependency
54
48
  name: rake
55
49
  requirement: !ruby/object:Gem::Requirement
56
50
  requirements:
57
- - - "~>"
51
+ - - ">="
58
52
  - !ruby/object:Gem::Version
59
- version: 0.9.2
53
+ version: 12.3.3
60
54
  type: :development
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
57
  requirements:
64
- - - "~>"
58
+ - - ">="
65
59
  - !ruby/object:Gem::Version
66
- version: 0.9.2
60
+ version: 12.3.3
67
61
  description: Provides charset detection, locale sensitive collation and more. Depends
68
62
  on libicu.
69
63
  email: jari.bakken@gmail.com
@@ -75,6 +69,7 @@ extra_rdoc_files:
75
69
  files:
76
70
  - ".document"
77
71
  - ".gitignore"
72
+ - ".rspec"
78
73
  - ".travis.yml"
79
74
  - Gemfile
80
75
  - LICENSE
@@ -107,7 +102,6 @@ files:
107
102
  - spec/normalization_spec.rb
108
103
  - spec/normalizer_spec.rb
109
104
  - spec/number_formatting_spec.rb
110
- - spec/spec.opts
111
105
  - spec/spec_helper.rb
112
106
  - spec/time_spec.rb
113
107
  - spec/transliteration_spec.rb
@@ -117,7 +111,7 @@ homepage: http://github.com/jarib/ffi-icu
117
111
  licenses:
118
112
  - MIT
119
113
  metadata: {}
120
- post_install_message:
114
+ post_install_message:
121
115
  rdoc_options:
122
116
  - "--charset=UTF-8"
123
117
  require_paths:
@@ -133,9 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
127
  - !ruby/object:Gem::Version
134
128
  version: '0'
135
129
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.5.2.3
138
- signing_key:
130
+ rubygems_version: 3.0.9
131
+ signing_key:
139
132
  specification_version: 4
140
133
  summary: Simple Ruby FFI wrappers for things I need from ICU.
141
134
  test_files:
@@ -148,7 +141,6 @@ test_files:
148
141
  - spec/normalization_spec.rb
149
142
  - spec/normalizer_spec.rb
150
143
  - spec/number_formatting_spec.rb
151
- - spec/spec.opts
152
144
  - spec/spec_helper.rb
153
145
  - spec/time_spec.rb
154
146
  - spec/transliteration_spec.rb
data/spec/spec.opts DELETED
@@ -1 +0,0 @@
1
- --color