sawarineko 1.1.0 → 1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +5 -4
- data/lib/sawarineko.rb +4 -3
- data/lib/sawarineko/cli.rb +2 -2
- data/lib/sawarineko/converter.rb +44 -4
- data/lib/sawarineko/option.rb +17 -4
- data/lib/sawarineko/version.rb +1 -1
- data/spec/sawarineko/cli_spec.rb +16 -0
- data/spec/sawarineko/converter_spec.rb +102 -38
- data/spec/sawarineko/option_spec.rb +1 -0
- data/spec/sawarineko_spec.rb +1 -1
- data/spec/support/converter_helper.rb +15 -0
- data/spec/support/shared_converter_supports_hangul.rb +27 -0
- data/spec/support/shared_converter_supports_japanese.rb +39 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9557a8ea93741177f356bdc4ca74b19074ed759b
|
4
|
+
data.tar.gz: 1209522799b9aa7a0e00602491eb88898775bf2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbd6e46d892abadc48d28f03440ec7c781ddca89768aa7336a4adc585be71b5791a482489eeab34f1e1bee9f83598ecafe5ba2ba33f2d8fa81f7e9633560b0d9
|
7
|
+
data.tar.gz: cdad60808e1ee4b80663882874e1d51a35fb3534b50900ba806983718a313307f57452457387e6f18b77ac89ca11d9d48507085f64022b77a19f9c7af4cb6b08
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.2.0 (2014-10-29)
|
4
|
+
|
5
|
+
- [#2](https://github.com/yous/sawarineko/issues/2): Add encoding support to Converter (UTF-8, UTF-16BE, UTF-16LE, EUC-JP, Shift_JIS, EUC-KR, CP949)
|
6
|
+
- [#2](https://github.com/yous/sawarineko/issues/2): Add `-e/--encoding` option to CLI
|
7
|
+
|
3
8
|
## 1.1.0 (2014-10-28)
|
4
9
|
|
5
|
-
- Add `Sawarineko
|
10
|
+
- Add `Sawarineko.nya`
|
6
11
|
- Make `Converter#convert` to get the source as argument
|
7
12
|
|
8
13
|
## 1.0.0 (2014-10-27)
|
data/README.md
CHANGED
@@ -57,10 +57,11 @@ For additional command-line options:
|
|
57
57
|
sawarineko -h
|
58
58
|
```
|
59
59
|
|
60
|
-
Command flag
|
61
|
-
|
62
|
-
`-
|
63
|
-
`-
|
60
|
+
Command flag | Description
|
61
|
+
--------------------------|-------------------------------
|
62
|
+
`-e, --encoding ENCODING` | Specify the encoding of input.
|
63
|
+
`-h, --help` | Print this message.
|
64
|
+
`-v, --version` | Print version.
|
64
65
|
|
65
66
|
## Contributing
|
66
67
|
|
data/lib/sawarineko.rb
CHANGED
@@ -9,10 +9,11 @@ require 'sawarineko/cli'
|
|
9
9
|
module Sawarineko
|
10
10
|
# Make the source to Sawarineko. See Converter.
|
11
11
|
#
|
12
|
-
# source
|
12
|
+
# source - The String source to convert.
|
13
|
+
# encoding - The Encoding of the source (default: Encoding::UTF_8).
|
13
14
|
#
|
14
15
|
# Returns the String converted to Sawarineko.
|
15
|
-
def self.nya(source)
|
16
|
-
Converter.new.convert(source)
|
16
|
+
def self.nya(source, encoding = Encoding::UTF_8)
|
17
|
+
Converter.new(encoding).convert(source)
|
17
18
|
end
|
18
19
|
end
|
data/lib/sawarineko/cli.rb
CHANGED
@@ -19,9 +19,9 @@ module Sawarineko
|
|
19
19
|
source = if paths.empty?
|
20
20
|
$stdin.read
|
21
21
|
else
|
22
|
-
IO.read(paths[0])
|
22
|
+
IO.read(paths[0], encoding: @options[:encoding])
|
23
23
|
end
|
24
|
-
converter = Converter.new
|
24
|
+
converter = Converter.new(@options[:encoding])
|
25
25
|
puts converter.convert(source)
|
26
26
|
0
|
27
27
|
end
|
data/lib/sawarineko/converter.rb
CHANGED
@@ -3,16 +3,56 @@
|
|
3
3
|
module Sawarineko
|
4
4
|
# Convert plain text to Sawarineko text.
|
5
5
|
class Converter
|
6
|
+
# Array of convertible character code on EUC-KR encoding.
|
7
|
+
CONVERTIBLE_EUC_KR =
|
8
|
+
%w(나 낙 난 날 남 낭).map { |ch| ch.encode(Encoding::EUC_KR).ord }.freeze
|
9
|
+
private_constant :CONVERTIBLE_EUC_KR
|
10
|
+
|
11
|
+
# Initialize a Converter. Get the encoding of source. Initialize Regexps for
|
12
|
+
# conversion.
|
13
|
+
#
|
14
|
+
# encoding - The Encoding of source (default: Encoding::UTF_8).
|
15
|
+
def initialize(encoding = Encoding::UTF_8)
|
16
|
+
@encoding = Encoding.find(encoding)
|
17
|
+
@hiragana_regex = Regexp.new('な'.encode(@encoding)).freeze
|
18
|
+
@katakana_regex = Regexp.new('ナ'.encode(@encoding)).freeze
|
19
|
+
@hangul_regex = case @encoding
|
20
|
+
when Encoding::UTF_8, Encoding::UTF_16BE,
|
21
|
+
Encoding::UTF_16LE, Encoding::EUC_KR
|
22
|
+
Regexp.new('[나-낳]'.encode(@encoding)).freeze
|
23
|
+
when Encoding::CP949
|
24
|
+
Regexp.new('[나-낳낛-낤낥-낲]'.encode(@encoding)).freeze
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
6
28
|
# Convert the source.
|
7
29
|
#
|
8
30
|
# source - The String source to convert.
|
9
31
|
#
|
10
32
|
# Returns the String converted to Sawarineko.
|
11
33
|
def convert(source)
|
12
|
-
source
|
13
|
-
|
14
|
-
|
15
|
-
.gsub(
|
34
|
+
new_source = source.gsub(@hiragana_regex, 'にゃ'.encode(@encoding).freeze)
|
35
|
+
.gsub(@katakana_regex, 'ニャ'.encode(@encoding).freeze)
|
36
|
+
if @hangul_regex
|
37
|
+
new_source.gsub(@hangul_regex) { |ch| convert_hangul(ch) }
|
38
|
+
else
|
39
|
+
new_source
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
# Convert a hangul character to Sawarineko.
|
46
|
+
#
|
47
|
+
# ch - A hangul character to convert.
|
48
|
+
#
|
49
|
+
# Returns the converted character.
|
50
|
+
def convert_hangul(ch)
|
51
|
+
if @encoding == Encoding::EUC_KR && !CONVERTIBLE_EUC_KR.include?(ch.ord)
|
52
|
+
return ch
|
53
|
+
end
|
54
|
+
(ch.encode(Encoding::UTF_8).ord + 56).chr(Encoding::UTF_8)
|
55
|
+
.encode(@encoding)
|
16
56
|
end
|
17
57
|
end
|
18
58
|
end
|
data/lib/sawarineko/option.rb
CHANGED
@@ -7,7 +7,7 @@ module Sawarineko
|
|
7
7
|
class Option
|
8
8
|
# Initialize a Option.
|
9
9
|
def initialize
|
10
|
-
@options = {}
|
10
|
+
@options = { encoding: Encoding::UTF_8 }
|
11
11
|
end
|
12
12
|
|
13
13
|
# Parse the passed arguments to a Hash.
|
@@ -21,24 +21,37 @@ module Sawarineko
|
|
21
21
|
opts.banner = 'Usage: sawarineko [options] [source]'
|
22
22
|
|
23
23
|
add_options(opts)
|
24
|
+
add_options_on_tail(opts)
|
24
25
|
end.parse!(args)
|
25
26
|
[@options, args]
|
26
27
|
end
|
27
28
|
|
28
29
|
private
|
29
30
|
|
30
|
-
# Add command line options
|
31
|
+
# Add command line options.
|
31
32
|
#
|
32
33
|
# opts - An OptionParser object to add options.
|
33
34
|
#
|
34
35
|
# Returns nothing.
|
35
36
|
def add_options(opts)
|
36
|
-
opts.on('-
|
37
|
+
opts.on('-e', '--encoding ENCODING',
|
38
|
+
'Specify the encoding of input.') do |encoding|
|
39
|
+
@options[:encoding] = encoding
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Add command line options printed at tail.
|
44
|
+
#
|
45
|
+
# opts - An OptionParser object to add options.
|
46
|
+
#
|
47
|
+
# Returns nothing.
|
48
|
+
def add_options_on_tail(opts)
|
49
|
+
opts.on_tail('-h', '--help', 'Print this message.') do
|
37
50
|
puts opts
|
38
51
|
exit 0
|
39
52
|
end
|
40
53
|
|
41
|
-
opts.
|
54
|
+
opts.on_tail('-v', '--version', 'Print version.') do
|
42
55
|
puts Version::STRING
|
43
56
|
exit 0
|
44
57
|
end
|
data/lib/sawarineko/version.rb
CHANGED
data/spec/sawarineko/cli_spec.rb
CHANGED
@@ -36,4 +36,20 @@ RSpec.describe Sawarineko::CLI do
|
|
36
36
|
'にゃにゃはんにゃにゃだいにゃんにゃく' \
|
37
37
|
"にゃらべてにゃがにゃがめ\n")
|
38
38
|
end
|
39
|
+
|
40
|
+
describe '-e/--encoding' do
|
41
|
+
it 'converts text file with given encoding' do
|
42
|
+
create_file('sawarineko.txt',
|
43
|
+
['ななめななじゅうななどの' \
|
44
|
+
'ならびでなくなくいななく' \
|
45
|
+
'ななはんななだいなんなく' \
|
46
|
+
'ならべてながながめ'.encode(Encoding::CP949)])
|
47
|
+
expect(cli.run(['--encoding', 'cp949',
|
48
|
+
'sawarineko.txt'])).to be(0)
|
49
|
+
expect($stdout.string).to eq('にゃにゃめにゃにゃじゅうにゃにゃどの' \
|
50
|
+
'にゃらびでにゃくにゃくいにゃにゃく' \
|
51
|
+
'にゃにゃはんにゃにゃだいにゃんにゃく' \
|
52
|
+
"にゃらべてにゃがにゃがめ\n")
|
53
|
+
end
|
54
|
+
end
|
39
55
|
end
|
@@ -3,44 +3,108 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe Sawarineko::Converter do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
.to
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
6
|
+
include ConverterHelper
|
7
|
+
|
8
|
+
describe '#initialize' do
|
9
|
+
subject(:converter) { described_class.new }
|
10
|
+
|
11
|
+
it 'stores default encoding' do
|
12
|
+
encoding = converter.instance_variable_get(:@encoding)
|
13
|
+
expect(encoding).to be(Encoding::UTF_8)
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with Encoding object' do
|
17
|
+
subject(:converter) { described_class.new(encoding) }
|
18
|
+
let(:encoding) { Encoding::UTF_16LE }
|
19
|
+
|
20
|
+
it 'stores given encoding' do
|
21
|
+
encoding = converter.instance_variable_get(:@encoding)
|
22
|
+
expect(encoding).to be(Encoding::UTF_16LE)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'with string encoding name' do
|
27
|
+
subject(:converter) { described_class.new(encoding) }
|
28
|
+
let(:encoding) { 'utf-16le' }
|
29
|
+
|
30
|
+
it 'converts given name to Encoding object and stores' do
|
31
|
+
encoding = converter.instance_variable_get(:@encoding)
|
32
|
+
expect(encoding).to be(Encoding::UTF_16LE)
|
33
|
+
end
|
31
34
|
end
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
35
|
+
|
36
|
+
context 'with string encoding alias name' do
|
37
|
+
subject(:converter) { described_class.new(encoding) }
|
38
|
+
let(:encoding) { 'eucKR' }
|
39
|
+
|
40
|
+
it 'converts given name to Encoding object and stores' do
|
41
|
+
encoding = converter.instance_variable_get(:@encoding)
|
42
|
+
expect(encoding).to be(Encoding::EUC_KR)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'with UTF-8 encoding' do
|
48
|
+
subject(:converter) { described_class.new(encoding) }
|
49
|
+
let(:encoding) { Encoding::UTF_8 }
|
50
|
+
it_behaves_like 'a converter supports japanese', Encoding::UTF_8
|
51
|
+
it_behaves_like 'a converter supports hangul', Encoding::UTF_8
|
52
|
+
|
53
|
+
it 'converts all languages at once' do
|
54
|
+
new_source = convert_source(converter, encoding, %w(な ナ 나).join("\n"))
|
55
|
+
expect(new_source).to eq(%w(にゃ ニャ 냐).join("\n").encode(encoding))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context 'with UTF-16BE encoding' do
|
60
|
+
it_behaves_like 'a converter supports japanese', Encoding::UTF_16BE
|
61
|
+
it_behaves_like 'a converter supports hangul', Encoding::UTF_16BE
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'with UTF-16LE encoding' do
|
65
|
+
it_behaves_like 'a converter supports japanese', Encoding::UTF_16LE
|
66
|
+
it_behaves_like 'a converter supports hangul', Encoding::UTF_16LE
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'with EUC-JP encoding' do
|
70
|
+
it_behaves_like 'a converter supports japanese', Encoding::EUC_JP
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'with Shift_JIS encoding' do
|
74
|
+
it_behaves_like 'a converter supports japanese', Encoding::Shift_JIS
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'with EUC-KR encoding' do
|
78
|
+
subject(:converter) { described_class.new(encoding) }
|
79
|
+
let(:encoding) { Encoding::EUC_KR }
|
80
|
+
it_behaves_like 'a converter supports japanese', Encoding::EUC_KR
|
81
|
+
|
82
|
+
it 'converts hangul 나, 낙, 난, 날, 남, 낭 to 냐, 냑, 냔, 냘, 냠, 냥' do
|
83
|
+
%w(나 낙 난 날 남 낭).zip(%w(냐 냑 냔 냘 냠 냥)).each do |na, nya|
|
84
|
+
new_source = convert_source(converter, encoding, na)
|
85
|
+
expect(new_source).to eq(nya.encode(encoding))
|
86
|
+
end
|
87
|
+
new_source = convert_source(converter, encoding,
|
88
|
+
'나랑 너랑 봄나들이 배낭 매고 봄나들이 ' \
|
89
|
+
'버드나무 낭창낭창 남실바람 남실남실 ' \
|
90
|
+
'개나리 꽃에 나비가 하나 ' \
|
91
|
+
'배낭 속에 바나나가 하나')
|
92
|
+
expect(new_source).to eq('냐랑 너랑 봄냐들이 배냥 매고 봄냐들이 ' \
|
93
|
+
'버드냐무 냥창냥창 냠실바람 냠실냠실 ' \
|
94
|
+
'개냐리 꽃에 냐비가 하냐 ' \
|
95
|
+
'배냥 속에 바냐냐가 하냐'.encode(encoding))
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'preserves other hangul in range 나-낳' do
|
99
|
+
%w(낚 낟 낡 낢 납 낫 났 낮 낯 낱 낳).each do |ch|
|
100
|
+
new_source = convert_source(converter, encoding, ch)
|
101
|
+
expect(new_source).to eq(ch.encode(encoding))
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context 'with CP949 encoding' do
|
107
|
+
it_behaves_like 'a converter supports japanese', Encoding::CP949
|
108
|
+
it_behaves_like 'a converter supports hangul', Encoding::CP949
|
45
109
|
end
|
46
110
|
end
|
data/spec/sawarineko_spec.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# Helper methods for testing Converter.
|
4
|
+
module ConverterHelper
|
5
|
+
# Convert the source with given encoding.
|
6
|
+
#
|
7
|
+
# converter - The Converter instance to process.
|
8
|
+
# encoding - The Encoding used in converter.
|
9
|
+
# source - The String source with UTF-8 encoding.
|
10
|
+
#
|
11
|
+
# Returns the converted source String.
|
12
|
+
def convert_source(converter, encoding, source)
|
13
|
+
converter.convert(source.encode(encoding))
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
shared_examples 'a converter supports hangul' do |encoding|
|
6
|
+
include ConverterHelper
|
7
|
+
|
8
|
+
subject(:converter) { described_class.new(encoding) }
|
9
|
+
|
10
|
+
describe '#convert' do
|
11
|
+
it 'converts hangul 나-낳 to 냐-냫' do
|
12
|
+
('나'..'낳').zip('냐'..'냫').each do |na, nya|
|
13
|
+
new_source = convert_source(converter, encoding, na)
|
14
|
+
expect(new_source).to eq(nya.encode(encoding))
|
15
|
+
end
|
16
|
+
new_source = convert_source(converter, encoding,
|
17
|
+
'나랑 너랑 봄나들이 배낭 매고 봄나들이 ' \
|
18
|
+
'버드나무 낭창낭창 남실바람 남실남실 ' \
|
19
|
+
'개나리 꽃에 나비가 하나 ' \
|
20
|
+
'배낭 속에 바나나가 하나')
|
21
|
+
expect(new_source).to eq('냐랑 너랑 봄냐들이 배냥 매고 봄냐들이 ' \
|
22
|
+
'버드냐무 냥창냥창 냠실바람 냠실냠실 ' \
|
23
|
+
'개냐리 꽃에 냐비가 하냐 ' \
|
24
|
+
'배냥 속에 바냐냐가 하냐'.encode(encoding))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
shared_examples 'a converter supports japanese' do |encoding|
|
6
|
+
include ConverterHelper
|
7
|
+
|
8
|
+
subject(:converter) { described_class.new(encoding) }
|
9
|
+
|
10
|
+
describe '#convert' do
|
11
|
+
it 'converts hiragana な to にゃ' do
|
12
|
+
new_source = convert_source(converter, encoding, 'な')
|
13
|
+
expect(new_source).to eq('にゃ'.encode(encoding))
|
14
|
+
new_source = convert_source(converter, encoding,
|
15
|
+
'ななめななじゅうななどの' \
|
16
|
+
'ならびでなくなくいななく' \
|
17
|
+
'ななはんななだいなんなく' \
|
18
|
+
'ならべてながながめ')
|
19
|
+
expect(new_source).to eq('にゃにゃめにゃにゃじゅうにゃにゃどの' \
|
20
|
+
'にゃらびでにゃくにゃくいにゃにゃく' \
|
21
|
+
'にゃにゃはんにゃにゃだいにゃんにゃく' \
|
22
|
+
'にゃらべてにゃがにゃがめ'.encode(encoding))
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'converts katakana ナ to ニャ' do
|
26
|
+
new_source = convert_source(converter, encoding, 'ナ')
|
27
|
+
expect(new_source).to eq('ニャ'.encode(encoding))
|
28
|
+
new_source = convert_source(converter, encoding,
|
29
|
+
'ナナメナナジュウナナドノ' \
|
30
|
+
'ナラビデナクナクイナナク' \
|
31
|
+
'ナナハンナナダイナンナク' \
|
32
|
+
'ナラベテナガナガメ')
|
33
|
+
expect(new_source).to eq('ニャニャメニャニャジュウニャニャドノ' \
|
34
|
+
'ニャラビデニャクニャクイニャニャク' \
|
35
|
+
'ニャニャハンニャニャダイニャンニャク' \
|
36
|
+
'ニャラベテニャガニャガメ'.encode(encoding))
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sawarineko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ChaYoung You
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -111,9 +111,12 @@ files:
|
|
111
111
|
- spec/sawarineko/version_spec.rb
|
112
112
|
- spec/sawarineko_spec.rb
|
113
113
|
- spec/spec_helper.rb
|
114
|
+
- spec/support/converter_helper.rb
|
114
115
|
- spec/support/exit_code_matchers.rb
|
115
116
|
- spec/support/file_helper.rb
|
116
117
|
- spec/support/isolated_environment.rb
|
118
|
+
- spec/support/shared_converter_supports_hangul.rb
|
119
|
+
- spec/support/shared_converter_supports_japanese.rb
|
117
120
|
homepage: ''
|
118
121
|
licenses:
|
119
122
|
- MIT
|
@@ -145,6 +148,9 @@ test_files:
|
|
145
148
|
- spec/sawarineko/version_spec.rb
|
146
149
|
- spec/sawarineko_spec.rb
|
147
150
|
- spec/spec_helper.rb
|
151
|
+
- spec/support/converter_helper.rb
|
148
152
|
- spec/support/exit_code_matchers.rb
|
149
153
|
- spec/support/file_helper.rb
|
150
154
|
- spec/support/isolated_environment.rb
|
155
|
+
- spec/support/shared_converter_supports_hangul.rb
|
156
|
+
- spec/support/shared_converter_supports_japanese.rb
|