kana 0.1.0 → 0.2.0
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/README.rdoc +2 -2
- data/VERSION +1 -1
- data/lib/kana/converter.rb +62 -78
- data/lib/kana/converter/katahira.rb +1 -1
- data/lib/kana/converter/numeric_alphabet.rb +5 -5
- data/lib/kana/converter/zenkaku.rb +7 -7
- data/lib/kana/translator/engine/nkf.rb +10 -11
- data/spec/kana_spec.rb +15 -15
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
= kana
|
2
2
|
|
3
|
-
|
3
|
+
see http://d.hatena.ne.jp/fistfvck/20091202/1259772883
|
4
4
|
|
5
5
|
== Note on Patches/Pull Requests
|
6
|
-
|
6
|
+
|
7
7
|
* Fork the project.
|
8
8
|
* Make your feature addition or bug fix.
|
9
9
|
* Add tests for it. This is important so I don't break it in a
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/kana/converter.rb
CHANGED
@@ -7,122 +7,106 @@ module Kana
|
|
7
7
|
|
8
8
|
def convert str, opt='KV'
|
9
9
|
opt ||= 'KV'
|
10
|
-
table =
|
11
|
-
str.gsub(
|
10
|
+
regexp, table = build_convert_table opt
|
11
|
+
str.gsub(regexp) do |match|
|
12
12
|
table[match]
|
13
13
|
end
|
14
14
|
end
|
15
15
|
module_function :convert
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
})
|
17
|
+
@@cached_data = {}
|
18
|
+
|
19
|
+
def self.build_convert_table opt
|
20
|
+
opt = parse_option opt
|
21
|
+
return @@cached_data[opt] if @@cached_data[opt]
|
22
|
+
table = convert_tables opt
|
23
|
+
@@cached_data[opt] = [build_regexp(table), table].freeze
|
25
24
|
end
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
# k 「全角カタカナ」を「半角カタカナ」に変換します。
|
33
|
-
table.update ZENKAKU_KATAKANA_HANKAKU
|
34
|
-
table.update ZENKAKU_DAKUTEN_KATAKANA_HANKAKU
|
35
|
-
table.update ZENKAKU_SYMBOL
|
36
|
-
when 'K'
|
37
|
-
# K 「半角カタカナ」を「全角カタカナ」に変換します。
|
38
|
-
table.update ZENKAKU_KATAKANA_HANKAKU.invert
|
39
|
-
table.update ZENKAKU_DAKUTEN_KATAKANA_HANKAKU.invert if vsm
|
40
|
-
table.update ZENKAKU_SYMBOL.invert
|
41
|
-
table.update ZENKAKU_KATAKANA_SYMBOL.invert
|
42
|
-
when 'h'
|
43
|
-
# h 「全角ひらがな」を「半角カタカナ」に変換します。
|
44
|
-
table.update ZENKAKU_HIRAGANA_HANKAKU
|
45
|
-
table.update ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU
|
46
|
-
table.update ZENKAKU_SYMBOL
|
47
|
-
when 'H'
|
48
|
-
# H 「半角カタカナ」を「全角ひらがな」に変換します。
|
49
|
-
table.update ZENKAKU_HIRAGANA_HANKAKU.invert
|
50
|
-
table.update ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU.invert if vsm
|
51
|
-
table.update ZENKAKU_SYMBOL.invert
|
52
|
-
table.update ZENKAKU_HIRAGANA_SYMBOL.invert
|
53
|
-
when 'c'
|
54
|
-
# c 「全角カタカナ」を「全角ひらがな」に変換します。
|
55
|
-
table.update KATAHIRA
|
56
|
-
when 'C'
|
57
|
-
# C 「全角ひらがな」を「全角カタカナ」に変換します。
|
58
|
-
table.update KATAHIRA.invert
|
59
|
-
end
|
26
|
+
VALID_OPTION = ['n','N','r','R','s','S','a','A','k','K','h','H','c','C','V',].freeze
|
27
|
+
|
28
|
+
def self.parse_option opt
|
29
|
+
opt.split(//).uniq.sort.each do |c|
|
30
|
+
raise ArgumentError unless VALID_OPTION.include?(c)
|
60
31
|
end
|
61
|
-
table
|
62
32
|
end
|
63
33
|
|
64
|
-
ZENKATA_FLAG = 0x01 # Zenkaku Katakana
|
65
|
-
ZENHIRA_FLAG = 0x02 # Zenkaku Hiragana
|
66
|
-
HANKATA_FLAG = 0x04 # Hankaku Katakana
|
67
|
-
VSM_FLAG = 0x08 # Voiced Sound Mark
|
68
|
-
|
69
34
|
def self.convert_tables opt
|
70
35
|
table = {}
|
71
|
-
|
72
|
-
opt.split(//).each do |c|
|
36
|
+
opt.each do |c|
|
73
37
|
case c
|
74
38
|
when 'n'
|
39
|
+
# 全角数字 -> 半角数字
|
75
40
|
table.update NUMERIC
|
76
41
|
when 'N'
|
42
|
+
# 半角数字 -> 全角数字
|
77
43
|
table.update NUMERIC.invert
|
78
44
|
when 'r'
|
45
|
+
# 全角英字 -> 半角英字
|
79
46
|
table.update ALPHABET
|
80
47
|
when 'R'
|
48
|
+
# 半角英字 -> 全角英字
|
81
49
|
table.update ALPHABET.invert
|
82
50
|
when 's'
|
51
|
+
# 全角スペース -> 半角スペース
|
83
52
|
table.update SPACE
|
84
53
|
when 'S'
|
54
|
+
# 半角スペース -> 全角スペース
|
85
55
|
table.update SPACE.invert
|
86
56
|
when 'a'
|
87
|
-
|
57
|
+
# 全角英数字 -> 半角英数字
|
58
|
+
table.update convert_tables(['n','r',])
|
88
59
|
table.update SYMBOL
|
89
60
|
when 'A'
|
90
|
-
|
61
|
+
# 半角英数字 -> 全角英数字
|
62
|
+
table.update convert_tables(['N','R',])
|
91
63
|
table.update SYMBOL.invert
|
92
64
|
table.update SYMBOL_INVERT
|
93
|
-
|
94
65
|
when 'k'
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
raise ArgumentError if (kh_option[:input] & ZENKATA_FLAG) != 0
|
100
|
-
kh_option[:input] |= ZENKATA_FLAG
|
101
|
-
kh_option[:flag] += 'c'
|
102
|
-
when 'h'
|
103
|
-
raise ArgumentError if (kh_option[:input] & ZENHIRA_FLAG) != 0
|
104
|
-
kh_option[:input] |= ZENHIRA_FLAG
|
105
|
-
kh_option[:flag] += 'h'
|
106
|
-
when 'C'
|
107
|
-
raise ArgumentError if (kh_option[:input] & ZENHIRA_FLAG) != 0
|
108
|
-
kh_option[:input] |= ZENHIRA_FLAG
|
109
|
-
kh_option[:flag] += 'C'
|
66
|
+
# 全角カタカナ -> 半角カタカナ
|
67
|
+
table.update ZENKAKU_KATAKANA_HANKAKU
|
68
|
+
table.update ZENKAKU_DAKUTEN_KATAKANA_HANKAKU
|
69
|
+
table.update ZENKAKU_SYMBOL
|
110
70
|
when 'K'
|
111
|
-
|
112
|
-
|
113
|
-
|
71
|
+
# 全角カタカナ -> 半角カタカナ
|
72
|
+
table.update ZENKAKU_KATAKANA_HANKAKU.invert
|
73
|
+
table.update ZENKAKU_DAKUTEN_KATAKANA_HANKAKU.invert if opt.find{ |o| o == 'V' }
|
74
|
+
table.update ZENKAKU_SYMBOL.invert
|
75
|
+
table.update ZENKAKU_KATAKANA_SYMBOL.invert
|
76
|
+
when 'h'
|
77
|
+
# 全角ひらがな -> 半角カタカナ
|
78
|
+
table.update ZENKAKU_HIRAGANA_HANKAKU
|
79
|
+
table.update ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU
|
80
|
+
table.update ZENKAKU_SYMBOL
|
114
81
|
when 'H'
|
115
|
-
|
116
|
-
|
117
|
-
|
82
|
+
# 半角カタカナ -> 全角ひらがな
|
83
|
+
table.update ZENKAKU_HIRAGANA_HANKAKU.invert
|
84
|
+
table.update ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU.invert if opt.find{ |o| o == 'V' }
|
85
|
+
table.update ZENKAKU_SYMBOL.invert
|
86
|
+
table.update ZENKAKU_HIRAGANA_SYMBOL.invert
|
87
|
+
when 'c'
|
88
|
+
# 全角カタカナ -> 全角ひらがな
|
89
|
+
table.update KATAHIRA
|
90
|
+
when 'C'
|
91
|
+
# 全角ひらがな -> 全角カタカナ
|
92
|
+
table.update KATAHIRA.invert
|
118
93
|
when 'V'
|
119
|
-
|
120
|
-
kh_option[:vsm] = true
|
94
|
+
# do nothing
|
121
95
|
else
|
122
96
|
raise ArgumentError
|
123
97
|
end
|
124
98
|
end
|
125
|
-
table.
|
99
|
+
table.freeze
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.build_regexp table
|
103
|
+
Regexp.union(*table.keys.sort_by{ |k| -table[k].size }.map{ |v|
|
104
|
+
if RUBY_VERSION >= '1.9.1'
|
105
|
+
Regexp.new(Regexp.escape(v))
|
106
|
+
else
|
107
|
+
Regexp.new(Regexp.escape(v,'u'),nil,'u')
|
108
|
+
end
|
109
|
+
}).freeze
|
126
110
|
end
|
127
111
|
end
|
128
112
|
end
|
@@ -83,4 +83,4 @@ Kana::Converter::KATAHIRA = Hash[*{0x30A1 => 0x3041, # KATAKANA LETTER SMALL A
|
|
83
83
|
0x30F1 => 0x3091, # KATAKANA LETTER WE
|
84
84
|
0x30F2 => 0x3092, # KATAKANA LETTER WO
|
85
85
|
0x30F3 => 0x3093, # KATAKANA LETTER N
|
86
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
86
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
@@ -9,7 +9,7 @@ Kana::Converter::NUMERIC = Hash[*{0xFF10 => 0x30, # Fullwidth Digit Zero
|
|
9
9
|
0xFF17 => 0x37, # Fullwidth Digit Seven
|
10
10
|
0xFF18 => 0x38, # Fullwidth Digit Eight
|
11
11
|
0xFF19 => 0x39, # Fullwidth Digit Nine
|
12
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
12
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
13
13
|
|
14
14
|
Kana::Converter::ALPHABET = Hash[*{0xFF21 => 0x41, # Fullwidth Latin Capital Letter A
|
15
15
|
0xFF22 => 0x42, # Fullwidth Latin Capital Letter B
|
@@ -63,7 +63,7 @@ Kana::Converter::ALPHABET = Hash[*{0xFF21 => 0x41, # Fullwidth Latin Capital Let
|
|
63
63
|
0xFF58 => 0x78, # Fullwidth Latin Small Letter X
|
64
64
|
0xFF59 => 0x79, # Fullwidth Latin Small Letter Y
|
65
65
|
0xFF5A => 0x7A, # Fullwidth Latin Small Letter Z
|
66
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
66
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
67
67
|
|
68
68
|
Kana::Converter::SYMBOL = Hash[*{0xFF01 => 0x21, # Fullwidth Exclamation Mark
|
69
69
|
0xFF03 => 0x23, # Fullwidth Number Sign
|
@@ -156,10 +156,10 @@ Kana::Converter::SYMBOL = Hash[*{0xFF01 => 0x21, # Fullwidth Exclamation Mark
|
|
156
156
|
0xFF5B => 0x7B, # Fullwidth Left Curly Bracket
|
157
157
|
0xFF5C => 0x7C, # Fullwidth Vertical Line
|
158
158
|
0xFF5D => 0x7D, # Fullwidth Right Curly Bracket
|
159
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
159
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
160
160
|
|
161
161
|
Kana::Converter::SYMBOL_INVERT = Hash[*{0x2D => 0xFF0D
|
162
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
162
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
163
163
|
|
164
164
|
Kana::Converter::SPACE = Hash[*{0x3000 => 0x20, # IDEOGRAPHIC SPACE
|
165
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
165
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
@@ -59,7 +59,7 @@ Kana::Converter::ZENKAKU_KATAKANA_HANKAKU = Hash[*{
|
|
59
59
|
0x30F1 => 0xFF74,
|
60
60
|
0x30F2 => 0xFF66,
|
61
61
|
0x30F3 => 0xFF9D,
|
62
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
62
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
63
63
|
|
64
64
|
# 全角カタカナ -> 半角カタカナ(濁音・半濁音)
|
65
65
|
Kana::Converter::ZENKAKU_DAKUTEN_KATAKANA_HANKAKU = Hash[*{
|
@@ -89,7 +89,7 @@ Kana::Converter::ZENKAKU_DAKUTEN_KATAKANA_HANKAKU = Hash[*{
|
|
89
89
|
0x30DC => [0xFF8E,0xFF9E],
|
90
90
|
0x30DD => [0xFF8E,0xFF9F],
|
91
91
|
0x30F4 => [0xFF73,0xFF9E],
|
92
|
-
}.map{ |k,v| [[k].pack('U'), v.map{ |e| [e].pack('U') }.join ] }.flatten]
|
92
|
+
}.map{ |k,v| [[k].pack('U'), v.map{ |e| [e].pack('U') }.join ] }.flatten].freeze
|
93
93
|
|
94
94
|
# 全角ひらがな -> 半角カタカナ(清音のみ)
|
95
95
|
Kana::Converter::ZENKAKU_HIRAGANA_HANKAKU = Hash[*{
|
@@ -151,7 +151,7 @@ Kana::Converter::ZENKAKU_HIRAGANA_HANKAKU = Hash[*{
|
|
151
151
|
0x3091 => 0xFF74,
|
152
152
|
0x3092 => 0xFF66,
|
153
153
|
0x3093 => 0xFF9D,
|
154
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
154
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
155
155
|
|
156
156
|
# 全角ひらがな -> 半角カタカナ(濁音・半濁音)
|
157
157
|
Kana::Converter::ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU = Hash[*{
|
@@ -180,7 +180,7 @@ Kana::Converter::ZENKAKU_DAKUTEN_HIRAGANA_HANKAKU = Hash[*{
|
|
180
180
|
0x307A => [0xFF8D,0xFF9F],
|
181
181
|
0x307C => [0xFF8E,0xFF9E],
|
182
182
|
0x307D => [0xFF8E,0xFF9F],
|
183
|
-
}.map{ |k,v| [[k].pack('U'), v.map{ |e| [e].pack('U') }.join ] }.flatten]
|
183
|
+
}.map{ |k,v| [[k].pack('U'), v.map{ |e| [e].pack('U') }.join ] }.flatten].freeze
|
184
184
|
# 全角記号 -> 半角記号
|
185
185
|
Kana::Converter::ZENKAKU_SYMBOL = Hash[*{
|
186
186
|
0x3001 => 0xFF64,
|
@@ -191,7 +191,7 @@ Kana::Converter::ZENKAKU_SYMBOL = Hash[*{
|
|
191
191
|
0x309C => 0xFF9F,
|
192
192
|
0x30FC => 0xFF70,
|
193
193
|
0x30FB => 0xFF65,
|
194
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
194
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
195
195
|
|
196
196
|
# 全角記号 -> 半角記号
|
197
197
|
Kana::Converter::ZENKAKU_KATAKANA_SYMBOL = Hash[*{
|
@@ -250,7 +250,7 @@ Kana::Converter::ZENKAKU_KATAKANA_SYMBOL = Hash[*{
|
|
250
250
|
0x30ED => 0xFF9B,
|
251
251
|
0x30EF => 0xFF9C,
|
252
252
|
0x30F3 => 0xFF9D,
|
253
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
253
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
254
254
|
|
255
255
|
# 全角記号 -> 半角記号
|
256
256
|
Kana::Converter::ZENKAKU_HIRAGANA_SYMBOL = Hash[*{
|
@@ -309,4 +309,4 @@ Kana::Converter::ZENKAKU_HIRAGANA_SYMBOL = Hash[*{
|
|
309
309
|
0x308D => 0xFF9B,
|
310
310
|
0x308F => 0xFF9C,
|
311
311
|
0x3093 => 0xFF9D,
|
312
|
-
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten]
|
312
|
+
}.map{ |k,v| [[k].pack('U'), [v].pack('U')] }.flatten].freeze
|
@@ -7,24 +7,25 @@ module Kana::Translator::Engine
|
|
7
7
|
:eucjp => NKF::EUC,
|
8
8
|
:utf8 => NKF::UTF8,
|
9
9
|
:utf16 => NKF::UTF16,
|
10
|
-
|
10
|
+
:jis => NKF::JIS,
|
11
|
+
}.freeze
|
11
12
|
ENC_OPT = {
|
12
13
|
NKF::SJIS => '-S',
|
13
14
|
NKF::EUC => '-E',
|
14
15
|
NKF::UTF8 => '-W',
|
15
16
|
NKF::UTF16 => '-W16',
|
16
|
-
|
17
|
+
NKF::JIS => '-J',
|
18
|
+
}.freeze
|
17
19
|
DEC_OPT = {
|
18
20
|
NKF::SJIS => '-s',
|
19
21
|
NKF::EUC => '-e',
|
20
|
-
NKF::UTF8 => '-w',
|
21
22
|
NKF::UTF16 => '-w16',
|
22
|
-
|
23
|
+
NKF::JIS => '-j',
|
24
|
+
}.freeze
|
23
25
|
|
24
26
|
def to_utf8(str, original_encoding=nil)
|
25
|
-
original_encoding = SYM_ENC[original_encoding] || original_encoding
|
26
|
-
original_encoding
|
27
|
-
if original_encoding != NKF::UTF8
|
27
|
+
original_encoding = SYM_ENC[original_encoding] || original_encoding || NKF.guess(str)
|
28
|
+
if original_encoding != NKF::UTF8 && original_encoding != NKF::ASCII
|
28
29
|
opt = ['-m0', '-x', '-w']
|
29
30
|
opt << ENC_OPT[original_encoding]
|
30
31
|
str = NKF.nkf(opt.join(' '), str)
|
@@ -33,16 +34,14 @@ module Kana::Translator::Engine
|
|
33
34
|
end
|
34
35
|
|
35
36
|
def to_encode(str, original_encoding)
|
36
|
-
return str if original_encoding == NKF::UTF8
|
37
|
+
return str if original_encoding == NKF::UTF8 || original_encoding == NKF::ASCII
|
37
38
|
enc = DEC_OPT[original_encoding]
|
38
|
-
raise ArgumentError unless enc
|
39
39
|
opt = ['-m0', '-x', '-W', enc]
|
40
40
|
NKF.nkf(opt.join(' '), str)
|
41
41
|
end
|
42
42
|
|
43
43
|
def support?(str, enc)
|
44
|
-
([
|
45
|
-
[NKF::SJIS, NKF::EUC, NKF::UTF8, NKF::UTF16].include?(NKF.guess(str)))
|
44
|
+
(SYM_ENC[enc] || ([NKF::BINARY, NKF::UNKNOWN].include?(NKF.guess(str)) == false))
|
46
45
|
end
|
47
46
|
end
|
48
47
|
end
|
data/spec/kana_spec.rb
CHANGED
@@ -53,7 +53,7 @@ describe "Kana" do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it "mb_convert_kana(a)と同じ変換をすること" do
|
56
|
-
$KCODE = 'u'
|
56
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
57
57
|
raw = File.read('spec/data/raw.txt')
|
58
58
|
Kana.kana(raw, 'a').split(//).zip(File.read('spec/data/a.txt').split(//)).each do |got,except|
|
59
59
|
got.should == except
|
@@ -61,7 +61,7 @@ describe "Kana" do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
it "mb_convert_kana(A)と同じ変換をすること" do
|
64
|
-
$KCODE = 'u'
|
64
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
65
65
|
raw = File.read('spec/data/raw.txt')
|
66
66
|
Kana.kana(raw, 'A').split(//).zip(File.read('spec/data/l-a.txt').split(//)).each do |got,except|
|
67
67
|
got.should == except
|
@@ -69,7 +69,7 @@ describe "Kana" do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it "mb_convert_kana(c)と同じ変換をすること" do
|
72
|
-
$KCODE = 'u'
|
72
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
73
73
|
raw = File.read('spec/data/raw.txt')
|
74
74
|
Kana.kana(raw, 'c').split(//).zip(File.read('spec/data/c.txt').split(//)).each do |got,except|
|
75
75
|
got.should == except
|
@@ -77,7 +77,7 @@ describe "Kana" do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it "mb_convert_kana(C)と同じ変換をすること" do
|
80
|
-
$KCODE = 'u'
|
80
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
81
81
|
raw = File.read('spec/data/raw.txt')
|
82
82
|
Kana.kana(raw, 'C').split(//).zip(File.read('spec/data/l-c.txt').split(//)).each do |got,except|
|
83
83
|
got.should == except
|
@@ -85,7 +85,7 @@ describe "Kana" do
|
|
85
85
|
end
|
86
86
|
|
87
87
|
it "mb_convert_kana(h)と同じ変換をすること" do
|
88
|
-
$KCODE = 'u'
|
88
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
89
89
|
raw = File.read('spec/data/raw.txt')
|
90
90
|
Kana.kana(raw, 'h').split(//).zip(File.read('spec/data/h.txt').split(//)).each do |got,except|
|
91
91
|
got.should == except
|
@@ -93,7 +93,7 @@ describe "Kana" do
|
|
93
93
|
end
|
94
94
|
|
95
95
|
it "mb_convert_kana(H)と同じ変換をすること" do
|
96
|
-
$KCODE = 'u'
|
96
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
97
97
|
raw = File.read('spec/data/raw.txt')
|
98
98
|
Kana.kana(raw, 'H').split(//).zip(File.read('spec/data/l-h.txt').split(//)).each do |got,except|
|
99
99
|
got.should == except
|
@@ -101,7 +101,7 @@ describe "Kana" do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
it "mb_convert_kana(HV)と同じ変換をすること" do
|
104
|
-
$KCODE = 'u'
|
104
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
105
105
|
raw = File.read('spec/data/raw.txt')
|
106
106
|
Kana.kana(raw, 'HV').split(//).zip(File.read('spec/data/l-hv.txt').split(//)).each do |got,except|
|
107
107
|
got.should == except
|
@@ -109,7 +109,7 @@ describe "Kana" do
|
|
109
109
|
end
|
110
110
|
|
111
111
|
it "mb_convert_kana(k)と同じ変換をすること" do
|
112
|
-
$KCODE = 'u'
|
112
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
113
113
|
raw = File.read('spec/data/raw.txt')
|
114
114
|
Kana.kana(raw, 'k').split(//).zip(File.read('spec/data/k.txt').split(//)).each do |got,except|
|
115
115
|
got.should == except
|
@@ -117,7 +117,7 @@ describe "Kana" do
|
|
117
117
|
end
|
118
118
|
|
119
119
|
it "mb_convert_kana(K)と同じ変換をすること" do
|
120
|
-
$KCODE = 'u'
|
120
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
121
121
|
raw = File.read('spec/data/raw.txt')
|
122
122
|
Kana.kana(raw, 'K').split(//).zip(File.read('spec/data/l-k.txt').split(//)).each do |got,except|
|
123
123
|
got.should == except
|
@@ -125,7 +125,7 @@ describe "Kana" do
|
|
125
125
|
end
|
126
126
|
|
127
127
|
it "mb_convert_kana(KV)と同じ変換をすること" do
|
128
|
-
$KCODE = 'u'
|
128
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
129
129
|
raw = File.read('spec/data/raw.txt')
|
130
130
|
Kana.kana(raw, 'KV').split(//).zip(File.read('spec/data/l-kv.txt').split(//)).each do |got,except|
|
131
131
|
got.should == except
|
@@ -133,7 +133,7 @@ describe "Kana" do
|
|
133
133
|
end
|
134
134
|
|
135
135
|
it "mb_convert_kana(ask)と同じ変換をすること" do
|
136
|
-
$KCODE = 'u'
|
136
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
137
137
|
raw = File.read('spec/data/raw.txt')
|
138
138
|
Kana.kana(raw, 'ask').split(//).zip(File.read('spec/data/ask.txt').split(//)).each do |got,except|
|
139
139
|
got.should == except
|
@@ -141,7 +141,7 @@ describe "Kana" do
|
|
141
141
|
end
|
142
142
|
|
143
143
|
it "mb_convert_kana(ASK)と同じ変換をすること" do
|
144
|
-
$KCODE = 'u'
|
144
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
145
145
|
raw = File.read('spec/data/raw.txt')
|
146
146
|
Kana.kana(raw, 'ASK').split(//).zip(File.read('spec/data/l-ask.txt').split(//)).each do |got,except|
|
147
147
|
got.should == except
|
@@ -149,7 +149,7 @@ describe "Kana" do
|
|
149
149
|
end
|
150
150
|
|
151
151
|
it "mb_convert_kana(ASKV)と同じ変換をすること" do
|
152
|
-
$KCODE = 'u'
|
152
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
153
153
|
raw = File.read('spec/data/raw.txt')
|
154
154
|
Kana.kana(raw, 'ASKV').split(//).zip(File.read('spec/data/l-askv.txt').split(//)).each do |got,except|
|
155
155
|
got.should == except
|
@@ -157,7 +157,7 @@ describe "Kana" do
|
|
157
157
|
end
|
158
158
|
|
159
159
|
it "mb_convert_kana(rns)と同じ変換をすること" do
|
160
|
-
$KCODE = 'u'
|
160
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
161
161
|
raw = File.read('spec/data/raw.txt')
|
162
162
|
Kana.kana(raw, 'rns').split(//).zip(File.read('spec/data/rns.txt').split(//)).each do |got,except|
|
163
163
|
got.should == except
|
@@ -165,7 +165,7 @@ describe "Kana" do
|
|
165
165
|
end
|
166
166
|
|
167
167
|
it "mb_convert_kana(RNS)と同じ変換をすること" do
|
168
|
-
$KCODE = 'u'
|
168
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
169
169
|
raw = File.read('spec/data/raw.txt')
|
170
170
|
Kana.kana(raw, 'RNS').split(//).zip(File.read('spec/data/l-rns.txt').split(//)).each do |got,except|
|
171
171
|
got.should == except
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fistfvck
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-04 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|