diacritics 0.0.3 → 0.0.4
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 +6 -14
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile +3 -1
- data/lib/diacritics/version.rb +1 -1
- data/spec/diacritics/string_spec.rb +377 -180
- data/spec/spec_helper.rb +2 -1
- metadata +15 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YmU3ZmY4YjAxNWFjYWViY2I5ZDA2ZmM0NTFkODhkNWY5OTY4NTEzMzBkNzQx
|
10
|
-
NGQ0YTU5OTM3ZWU2NTM4OTQ3YjE4ZmUwZjE5OTg1ZGE1NTg3NWFmN2QxNmE4
|
11
|
-
ZTBjZTc1ODE2NGZkMDEwYmE3NjgyMWY2Yjk0M2U3MzhhYzA2NmI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MGJiNjQ2MDI3NGYwN2IwMzhkM2E5ZGMzNzEzZDFjYzU0MDRlMmEzOGQxNmMx
|
14
|
-
NmNjNGRmMzQ2MjdiMDVkZjZkMGU5MWQ5NGJkODY1MTAxNmJmYmRlYTlkYWE5
|
15
|
-
YzEyM2NlMDYzMjc3ZjUzNDgwYTM1OGRjYTQ4ZDJiYzVkYTg1MTM=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 42c761947e39ed8a644d322afb5f66616a85bbb9
|
4
|
+
data.tar.gz: 238f4ebac3386ec8bba58588077f927067fe3728
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5c3a41f6eee963ff4d60a70408d5c53312a724fb21001e037be40a0c713dae026904fb206d8d7550a431b1e99913e35379b07cf6a2c478275bea26a201d04130
|
7
|
+
data.tar.gz: fcad3df658bbd9122c6a6c66fd4300e83ecfe0adc0d2a11b39114a7bec399b84ddd16aea240dc96ff859f8655723855f3a1ef6baf77eefd34e5f94b544f1930b
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -5,10 +5,12 @@ gemspec
|
|
5
5
|
|
6
6
|
group :development, :test do
|
7
7
|
gem 'coveralls', require: false
|
8
|
-
gem '
|
8
|
+
gem 'codeclimate-test-reporter', require: false
|
9
|
+
gem 'rspec', '~> 3.0.0.beta1'
|
9
10
|
gem 'reek'
|
10
11
|
gem 'guard'
|
11
12
|
gem 'guard-bundler'
|
12
13
|
gem 'guard-rspec'
|
14
|
+
gem 'rb-readline', '~> 0.5.0', require: false
|
13
15
|
gem 'simplecov', require: false
|
14
16
|
end
|
data/lib/diacritics/version.rb
CHANGED
@@ -4,299 +4,496 @@ require 'spec_helper'
|
|
4
4
|
describe Diacritics::String do
|
5
5
|
String.send(:include, Diacritics::String)
|
6
6
|
|
7
|
+
shared_examples_for 'word processing' do
|
8
|
+
describe '#downcase' do
|
9
|
+
it { expect(subject.downcase).to eq result[0] }
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#upcase' do
|
13
|
+
it { expect(subject.upcase).to eq result[1] }
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#permanent' do
|
17
|
+
it { expect(subject.permanent).to eq result[2] }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
7
21
|
context 'English' do
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
22
|
+
it_behaves_like 'word processing' do
|
23
|
+
subject { "Will will Will will Will's will to Will?" }
|
24
|
+
let(:result) do
|
25
|
+
[
|
26
|
+
"will will will will will's will to will?",
|
27
|
+
"WILL WILL WILL WILL WILL'S WILL TO WILL?",
|
28
|
+
"will-will-will-will-will's-will-to-will"
|
29
|
+
]
|
30
|
+
end
|
31
|
+
end
|
12
32
|
end
|
13
33
|
|
14
34
|
context 'German' do
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
35
|
+
it_behaves_like 'word processing' do
|
36
|
+
subject { 'Acht alte Ameisen aßen am Abend Ananas.' }
|
37
|
+
let(:result) do
|
38
|
+
[
|
39
|
+
'acht alte ameisen aßen am abend ananas.',
|
40
|
+
'ACHT ALTE AMEISEN AẞEN AM ABEND ANANAS.',
|
41
|
+
'acht-alte-ameisen-assen-am-abend-ananas'
|
42
|
+
]
|
43
|
+
end
|
44
|
+
end
|
19
45
|
end
|
20
46
|
|
21
47
|
context 'German' do
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
48
|
+
it_behaves_like 'word processing' do
|
49
|
+
subject { 'Hämmer Hämmer? Hämmer hämmer.' }
|
50
|
+
let(:result) do
|
51
|
+
[
|
52
|
+
'hämmer hämmer? hämmer hämmer.',
|
53
|
+
'HÄMMER HÄMMER? HÄMMER HÄMMER.',
|
54
|
+
'haemmer-haemmer-haemmer-haemmer'
|
55
|
+
]
|
56
|
+
end
|
57
|
+
end
|
26
58
|
end
|
27
59
|
|
28
60
|
context 'German' do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
61
|
+
it_behaves_like 'word processing' do
|
62
|
+
subject { 'Fünf Ferkel fressen frisches Futter.' }
|
63
|
+
let(:result) do
|
64
|
+
[
|
65
|
+
'fünf ferkel fressen frisches futter.',
|
66
|
+
'FÜNF FERKEL FRESSEN FRISCHES FUTTER.',
|
67
|
+
'fuenf-ferkel-fressen-frisches-futter'
|
68
|
+
]
|
69
|
+
end
|
70
|
+
end
|
33
71
|
end
|
34
72
|
|
35
73
|
context 'German' do
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
74
|
+
it_behaves_like 'word processing' do
|
75
|
+
subject { 'Ödögidöggi' }
|
76
|
+
let(:result) do
|
77
|
+
[
|
78
|
+
'ödögidöggi',
|
79
|
+
'ÖDÖGIDÖGGI',
|
80
|
+
'oedoegidoeggi'
|
81
|
+
]
|
82
|
+
end
|
83
|
+
end
|
40
84
|
end
|
41
85
|
|
42
86
|
context 'Polish' do
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
87
|
+
it_behaves_like 'word processing' do
|
88
|
+
subject { 'Ćma ćmę ćmi.' }
|
89
|
+
let(:result) do
|
90
|
+
[
|
91
|
+
'ćma ćmę ćmi.',
|
92
|
+
'ĆMA ĆMĘ ĆMI.',
|
93
|
+
'cma-cme-cmi'
|
94
|
+
]
|
95
|
+
end
|
96
|
+
end
|
47
97
|
end
|
48
98
|
|
49
99
|
context 'Polish' do
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
100
|
+
it_behaves_like 'word processing' do
|
101
|
+
subject { 'Żubr żuł żuchwą żurawinę.' }
|
102
|
+
let(:result) do
|
103
|
+
[
|
104
|
+
'żubr żuł żuchwą żurawinę.',
|
105
|
+
'ŻUBR ŻUŁ ŻUCHWĄ ŻURAWINĘ.',
|
106
|
+
'zubr-zul-zuchwa-zurawine'
|
107
|
+
]
|
108
|
+
end
|
109
|
+
end
|
54
110
|
end
|
55
111
|
|
56
112
|
context 'Polish' do
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
113
|
+
it_behaves_like 'word processing' do
|
114
|
+
subject { 'Pchnąć w tę łódź jeża lub ośm skrzyń fig.' }
|
115
|
+
let(:result) do
|
116
|
+
[
|
117
|
+
'pchnąć w tę łódź jeża lub ośm skrzyń fig.',
|
118
|
+
'PCHNĄĆ W TĘ ŁÓDŹ JEŻA LUB OŚM SKRZYŃ FIG.',
|
119
|
+
'pchnac-w-te-lodz-jeza-lub-osm-skrzyn-fig'
|
120
|
+
]
|
121
|
+
end
|
122
|
+
end
|
61
123
|
end
|
62
124
|
|
63
125
|
context 'Czech' do
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
126
|
+
it_behaves_like 'word processing' do
|
127
|
+
subject { 'Čistý s Čistou čistili činčilový čepec.' }
|
128
|
+
let(:result) do
|
129
|
+
[
|
130
|
+
'čistý s čistou čistili činčilový čepec.',
|
131
|
+
'ČISTÝ S ČISTOU ČISTILI ČINČILOVÝ ČEPEC.',
|
132
|
+
'cisty-s-cistou-cistili-cincilovy-cepec'
|
133
|
+
]
|
134
|
+
end
|
135
|
+
end
|
68
136
|
end
|
69
137
|
|
70
138
|
context 'Czech' do
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
139
|
+
it_behaves_like 'word processing' do
|
140
|
+
subject { 'Řekni řeřicha.' }
|
141
|
+
let(:result) do
|
142
|
+
[
|
143
|
+
'řekni řeřicha.',
|
144
|
+
'ŘEKNI ŘEŘICHA.',
|
145
|
+
'rekni-rericha'
|
146
|
+
]
|
147
|
+
end
|
148
|
+
end
|
75
149
|
end
|
76
150
|
|
77
151
|
context 'Polish' do
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
should eq 'à l’époque de la conquête de la gaule par les armées'
|
88
|
-
end
|
89
|
-
its(:upcase) do
|
90
|
-
should eq 'À L’ÉPOQUE DE LA CONQUÊTE DE LA GAULE PAR LES ARMÉES'
|
91
|
-
end
|
92
|
-
its(:permanent) do
|
93
|
-
should eq 'a-l’epoque-de-la-conquete-de-la-gaule-par-les-armees'
|
152
|
+
it_behaves_like 'word processing' do
|
153
|
+
subject { 'Zażółć gęślą jaźń' }
|
154
|
+
let(:result) do
|
155
|
+
[
|
156
|
+
'zażółć gęślą jaźń',
|
157
|
+
'ZAŻÓŁĆ GĘŚLĄ JAŹŃ',
|
158
|
+
'zazolc-gesla-jazn'
|
159
|
+
]
|
160
|
+
end
|
94
161
|
end
|
95
162
|
end
|
96
163
|
|
97
164
|
context do
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
165
|
+
it_behaves_like 'word processing' do
|
166
|
+
subject { 'À l’époque de la conquête de la Gaule par les armées' }
|
167
|
+
let(:result) do
|
168
|
+
[
|
169
|
+
'à l’époque de la conquête de la gaule par les armées',
|
170
|
+
'À L’ÉPOQUE DE LA CONQUÊTE DE LA GAULE PAR LES ARMÉES',
|
171
|
+
'a-l’epoque-de-la-conquete-de-la-gaule-par-les-armees'
|
172
|
+
]
|
173
|
+
end
|
107
174
|
end
|
108
175
|
end
|
109
176
|
|
110
177
|
context do
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
178
|
+
it_behaves_like 'word processing' do
|
179
|
+
subject { 'Zalyžařivší si lyžař potkal nezalyžařivšího si lyžaře.' }
|
180
|
+
let(:result) do
|
181
|
+
[
|
182
|
+
'zalyžařivší si lyžař potkal nezalyžařivšího si lyžaře.',
|
183
|
+
'ZALYŽAŘIVŠÍ SI LYŽAŘ POTKAL NEZALYŽAŘIVŠÍHO SI LYŽAŘE.',
|
184
|
+
'zalyzarivsi-si-lyzar-potkal-nezalyzarivsiho-si-lyzare'
|
185
|
+
]
|
186
|
+
end
|
187
|
+
end
|
115
188
|
end
|
116
189
|
|
117
190
|
context do
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
191
|
+
it_behaves_like 'word processing' do
|
192
|
+
subject { 'Náš pan kaplan v kapli plakal.' }
|
193
|
+
let(:result) do
|
194
|
+
[
|
195
|
+
'náš pan kaplan v kapli plakal.',
|
196
|
+
'NÁŠ PAN KAPLAN V KAPLI PLAKAL.',
|
197
|
+
'nas-pan-kaplan-v-kapli-plakal'
|
198
|
+
]
|
199
|
+
end
|
200
|
+
end
|
122
201
|
end
|
123
202
|
|
124
203
|
context do
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
204
|
+
it_behaves_like 'word processing' do
|
205
|
+
subject { '¿Quién lo desenladrillará?' }
|
206
|
+
let(:result) do
|
207
|
+
[
|
208
|
+
'¿quién lo desenladrillará?',
|
209
|
+
'¿QUIÉN LO DESENLADRILLARÁ?',
|
210
|
+
'quien-lo-desenladrillara'
|
211
|
+
]
|
212
|
+
end
|
213
|
+
end
|
129
214
|
end
|
130
215
|
|
131
216
|
context do
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
217
|
+
it_behaves_like 'word processing' do
|
218
|
+
subject { 'clavó un clavito Pablito.' }
|
219
|
+
let(:result) do
|
220
|
+
[
|
221
|
+
'clavó un clavito pablito.',
|
222
|
+
'CLAVÓ UN CLAVITO PABLITO.',
|
223
|
+
'clavo-un-clavito-pablito'
|
224
|
+
]
|
225
|
+
end
|
226
|
+
end
|
136
227
|
end
|
137
228
|
|
138
229
|
context do
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
230
|
+
it_behaves_like 'word processing' do
|
231
|
+
subject { 'In Perù però perì.' }
|
232
|
+
let(:result) do
|
233
|
+
[
|
234
|
+
'in perù però perì.',
|
235
|
+
'IN PERÙ PERÒ PERÌ.',
|
236
|
+
'in-peru-pero-peri'
|
237
|
+
]
|
238
|
+
end
|
239
|
+
end
|
143
240
|
end
|
144
241
|
|
145
242
|
context do
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
243
|
+
it_behaves_like 'word processing' do
|
244
|
+
subject { 'Ĉu ŝi ĉiam ĉe ĉio ruĝiĝas?' }
|
245
|
+
let(:result) do
|
246
|
+
[
|
247
|
+
'ĉu ŝi ĉiam ĉe ĉio ruĝiĝas?',
|
248
|
+
'ĈU ŜI ĈIAM ĈE ĈIO RUĜIĜAS?',
|
249
|
+
'cu-si-ciam-ce-cio-rugigas'
|
250
|
+
]
|
251
|
+
end
|
252
|
+
end
|
150
253
|
end
|
151
254
|
|
152
255
|
context do
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
256
|
+
it_behaves_like 'word processing' do
|
257
|
+
subject { 'Eĥoŝanĝo ĉiu-ĵaŭde.' }
|
258
|
+
let(:result) do
|
259
|
+
[
|
260
|
+
'eĥoŝanĝo ĉiu-ĵaŭde.',
|
261
|
+
'EĤOŜANĜO ĈIU-ĴAŬDE.',
|
262
|
+
'ehosango-ciu-jaude'
|
263
|
+
]
|
264
|
+
end
|
265
|
+
end
|
157
266
|
end
|
158
267
|
|
159
268
|
context do
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
269
|
+
it_behaves_like 'word processing' do
|
270
|
+
subject { 'Árni á Á á á á beit (við á).' }
|
271
|
+
let(:result) do
|
272
|
+
[
|
273
|
+
'árni á á á á á beit (við á).',
|
274
|
+
'ÁRNI Á Á Á Á Á BEIT (VIÐ Á).',
|
275
|
+
'arni-a-a-a-a-a-beit-(vid-a)'
|
276
|
+
]
|
277
|
+
end
|
278
|
+
end
|
164
279
|
end
|
165
280
|
|
166
281
|
context do
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
282
|
+
it_behaves_like 'word processing' do
|
283
|
+
subject { 'Það fer að verða verra ferðaveðrið' }
|
284
|
+
let(:result) do
|
285
|
+
[
|
286
|
+
'það fer að verða verra ferðaveðrið',
|
287
|
+
'ÞAÐ FER AÐ VERÐA VERRA FERÐAVEÐRIÐ',
|
288
|
+
'pad-fer-ad-verda-verra-ferdavedrid'
|
289
|
+
]
|
290
|
+
end
|
291
|
+
end
|
171
292
|
end
|
172
293
|
|
173
294
|
context do
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
295
|
+
it_behaves_like 'word processing' do
|
296
|
+
subject { 'Четыре чёрненьких чумазеньких чертёнка' }
|
297
|
+
let(:result) do
|
298
|
+
[
|
299
|
+
'четыре чёрненьких чумазеньких чертёнка',
|
300
|
+
'ЧЕТЫРЕ ЧЁРНЕНЬКИХ ЧУМАЗЕНЬКИХ ЧЕРТЁНКА',
|
301
|
+
'четыре-чёрненьких-чумазеньких-чертёнка'
|
302
|
+
]
|
303
|
+
end
|
304
|
+
end
|
178
305
|
end
|
179
306
|
|
180
307
|
context do
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
308
|
+
it_behaves_like 'word processing' do
|
309
|
+
subject { 'чертили чёрными чернилами чертёж.' }
|
310
|
+
let(:result) do
|
311
|
+
[
|
312
|
+
'чертили чёрными чернилами чертёж.',
|
313
|
+
'ЧЕРТИЛИ ЧЁРНЫМИ ЧЕРНИЛАМИ ЧЕРТЁЖ.',
|
314
|
+
'чертили-чёрными-чернилами-чертёж'
|
315
|
+
]
|
316
|
+
end
|
190
317
|
end
|
191
318
|
end
|
192
319
|
|
193
320
|
context do
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
321
|
+
it_behaves_like 'word processing' do
|
322
|
+
subject { 'Чайные чашки в печали, скучая, бренча закричали.' }
|
323
|
+
let(:result) do
|
324
|
+
[
|
325
|
+
'чайные чашки в печали, скучая, бренча закричали.',
|
326
|
+
'ЧАЙНЫЕ ЧАШКИ В ПЕЧАЛИ, СКУЧАЯ, БРЕНЧА ЗАКРИЧАЛИ.',
|
327
|
+
'чайные-чашки-в-печали-скучая-бренча-закричали'
|
328
|
+
]
|
329
|
+
end
|
330
|
+
end
|
198
331
|
end
|
199
332
|
|
200
333
|
context do
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
334
|
+
it_behaves_like 'word processing' do
|
335
|
+
subject { 'Недопереквалифицировавшийся.' }
|
336
|
+
let(:result) do
|
337
|
+
[
|
338
|
+
'недопереквалифицировавшийся.',
|
339
|
+
'НЕДОПЕРЕКВАЛИФИЦИРОВАВШИЙСЯ.',
|
340
|
+
'недопереквалифицировавшийся'
|
341
|
+
]
|
342
|
+
end
|
343
|
+
end
|
205
344
|
end
|
206
345
|
|
207
346
|
context do
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
347
|
+
it_behaves_like 'word processing' do
|
348
|
+
subject { 'Как в капюшоне он смешон' }
|
349
|
+
let(:result) do
|
350
|
+
[
|
351
|
+
'как в капюшоне он смешон',
|
352
|
+
'КАК В КАПЮШОНЕ ОН СМЕШОН',
|
353
|
+
'как-в-капюшоне-он-смешон'
|
354
|
+
]
|
355
|
+
end
|
356
|
+
end
|
212
357
|
end
|
213
358
|
|
214
359
|
context do
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
360
|
+
it_behaves_like 'word processing' do
|
361
|
+
subject { 'Стоит гора посреди двора.' }
|
362
|
+
let(:result) do
|
363
|
+
[
|
364
|
+
'стоит гора посреди двора.',
|
365
|
+
'СТОИТ ГОРА ПОСРЕДИ ДВОРА.',
|
366
|
+
'стоит-гора-посреди-двора'
|
367
|
+
]
|
368
|
+
end
|
369
|
+
end
|
219
370
|
end
|
220
371
|
|
221
372
|
context do
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
373
|
+
it_behaves_like 'word processing' do
|
374
|
+
subject { 'Μια τίγρη με τρία τιγράκια.' }
|
375
|
+
let(:result) do
|
376
|
+
[
|
377
|
+
'μια τίγρη με τρία τιγράκια.',
|
378
|
+
'ΜΙΑ ΤΊΓΡΗ ΜΕ ΤΡΊΑ ΤΙΓΡΆΚΙΑ.',
|
379
|
+
'mia-tigre-me-tria-tigrakia'
|
380
|
+
]
|
381
|
+
end
|
382
|
+
end
|
226
383
|
end
|
227
384
|
|
228
385
|
context do
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
386
|
+
it_behaves_like 'word processing' do
|
387
|
+
subject { 'Το ξίδι του Ξέρξη ξίδιασε' }
|
388
|
+
let(:result) do
|
389
|
+
[
|
390
|
+
'το ξίδι του ξέρξη ξίδιασε',
|
391
|
+
'ΤΟ ΞΊΔΙ ΤΟΥ ΞΈΡΞΗ ΞΊΔΙΑΣΕ',
|
392
|
+
'to-xidi-toy-xerxe-xidiase'
|
393
|
+
]
|
394
|
+
end
|
395
|
+
end
|
233
396
|
end
|
234
397
|
|
235
|
-
|
398
|
+
it_behaves_like 'word processing' do
|
236
399
|
subject { 'Πίτα σπανακόπιτα σπανακολαδοφραγκοσυκοπαντζαροκολοκυθόπιτα.' }
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
its(:permanent) do
|
244
|
-
should eq 'pita-spanakopita-spanakoladophragkosykopantzarokolokythopita'
|
400
|
+
let(:result) do
|
401
|
+
[
|
402
|
+
'πίτα σπανακόπιτα σπανακολαδοφραγκοσυκοπαντζαροκολοκυθόπιτα.',
|
403
|
+
'ΠΊΤΑ ΣΠΑΝΑΚΌΠΙΤΑ ΣΠΑΝΑΚΟΛΑΔΟΦΡΑΓΚΟΣΥΚΟΠΑΝΤΖΑΡΟΚΟΛΟΚΥΘΌΠΙΤΑ.',
|
404
|
+
'pita-spanakopita-spanakoladophragkosykopantzarokolokythopita'
|
405
|
+
]
|
245
406
|
end
|
246
407
|
end
|
247
408
|
|
248
409
|
context do
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
410
|
+
it_behaves_like 'word processing' do
|
411
|
+
subject { 'Κοράλι ψιλοκόραλο και ψιλοκοραλάκι.' }
|
412
|
+
let(:result) do
|
413
|
+
[
|
414
|
+
'κοράλι ψιλοκόραλο και ψιλοκοραλάκι.',
|
415
|
+
'ΚΟΡΆΛΙ ΨΙΛΟΚΌΡΑΛΟ ΚΑΙ ΨΙΛΟΚΟΡΑΛΆΚΙ.',
|
416
|
+
'korali-psilokoralo-kai-psilokoralaki'
|
417
|
+
]
|
418
|
+
end
|
419
|
+
end
|
253
420
|
end
|
254
421
|
|
255
422
|
context do
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
423
|
+
it_behaves_like 'word processing' do
|
424
|
+
subject { 'É muito socó para um socó só coçar.' }
|
425
|
+
let(:result) do
|
426
|
+
[
|
427
|
+
'é muito socó para um socó só coçar.',
|
428
|
+
'É MUITO SOCÓ PARA UM SOCÓ SÓ COÇAR.',
|
429
|
+
'e-muito-soco-para-um-soco-so-cocar'
|
430
|
+
]
|
431
|
+
end
|
432
|
+
end
|
260
433
|
end
|
261
434
|
|
262
435
|
context do
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
436
|
+
it_behaves_like 'word processing' do
|
437
|
+
subject { 'Mon père est maire, mon frère est masseur.' }
|
438
|
+
let(:result) do
|
439
|
+
[
|
440
|
+
'mon père est maire, mon frère est masseur.',
|
441
|
+
'MON PÈRE EST MAIRE, MON FRÈRE EST MASSEUR.',
|
442
|
+
'mon-pere-est-maire-mon-frere-est-masseur'
|
443
|
+
]
|
444
|
+
end
|
445
|
+
end
|
267
446
|
end
|
268
447
|
|
269
448
|
context do
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
449
|
+
it_behaves_like 'word processing' do
|
450
|
+
subject { 'Se não percebeste,' }
|
451
|
+
let(:result) do
|
452
|
+
[
|
453
|
+
'se não percebeste,',
|
454
|
+
'SE NÃO PERCEBESTE,',
|
455
|
+
'se-nao-percebeste'
|
456
|
+
]
|
457
|
+
end
|
458
|
+
end
|
274
459
|
end
|
275
460
|
|
276
461
|
context do
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
462
|
+
it_behaves_like 'word processing' do
|
463
|
+
subject { 'rôt tenta chat' }
|
464
|
+
let(:result) do
|
465
|
+
[
|
466
|
+
'rôt tenta chat',
|
467
|
+
'RÔT TENTA CHAT',
|
468
|
+
'rot-tenta-chat'
|
469
|
+
]
|
470
|
+
end
|
471
|
+
end
|
281
472
|
end
|
282
473
|
|
283
474
|
context do
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
475
|
+
it_behaves_like 'word processing' do
|
476
|
+
subject { 'Nyelvtörők' }
|
477
|
+
let(:result) do
|
478
|
+
[
|
479
|
+
'nyelvtörők',
|
480
|
+
'NYELVTÖRŐK',
|
481
|
+
'nyelvtoeroek'
|
482
|
+
]
|
483
|
+
end
|
484
|
+
end
|
288
485
|
end
|
289
486
|
|
290
487
|
context do
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
488
|
+
it_behaves_like 'word processing' do
|
489
|
+
subject { 'Ein hælv kælv låg i elva og flaut på ein sælapinne.' }
|
490
|
+
let(:result) do
|
491
|
+
[
|
492
|
+
'ein hælv kælv låg i elva og flaut på ein sælapinne.',
|
493
|
+
'EIN HÆLV KÆLV LÅG I ELVA OG FLAUT PÅ EIN SÆLAPINNE.',
|
494
|
+
'ein-haelv-kaelv-lag-i-elva-og-flaut-pa-ein-saelapinne'
|
495
|
+
]
|
496
|
+
end
|
300
497
|
end
|
301
498
|
end
|
302
499
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,9 +4,10 @@ require 'coveralls'
|
|
4
4
|
Coveralls.wear!
|
5
5
|
require 'simplecov'
|
6
6
|
SimpleCov.start
|
7
|
+
require 'codeclimate-test-reporter'
|
8
|
+
CodeClimate::TestReporter.start
|
7
9
|
|
8
10
|
RSpec.configure do |config|
|
9
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
10
11
|
config.run_all_when_everything_filtered = true
|
11
12
|
config.filter_run :focus
|
12
13
|
end
|
metadata
CHANGED
@@ -1,45 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diacritics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksander Malaszkiewicz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - ~>
|
17
18
|
- !ruby/object:Gem::Version
|
18
19
|
version: '1.3'
|
19
|
-
name: bundler
|
20
20
|
type: :development
|
21
|
+
prerelease: false
|
21
22
|
version_requirements: !ruby/object:Gem::Requirement
|
22
23
|
requirements:
|
23
24
|
- - ~>
|
24
25
|
- !ruby/object:Gem::Version
|
25
26
|
version: '1.3'
|
26
|
-
prerelease: false
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
28
29
|
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
MA==
|
34
|
-
name: rake
|
33
|
+
version: '0'
|
35
34
|
type: :development
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
MA==
|
42
|
-
prerelease: false
|
40
|
+
version: '0'
|
43
41
|
description:
|
44
42
|
email:
|
45
43
|
- info@fractalsoft.org
|
@@ -82,19 +80,17 @@ require_paths:
|
|
82
80
|
- lib
|
83
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
82
|
requirements:
|
85
|
-
- -
|
83
|
+
- - '>='
|
86
84
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
88
|
-
MA==
|
85
|
+
version: '0'
|
89
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
87
|
requirements:
|
91
|
-
- -
|
88
|
+
- - '>='
|
92
89
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
94
|
-
MA==
|
90
|
+
version: '0'
|
95
91
|
requirements: []
|
96
92
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.0.
|
93
|
+
rubygems_version: 2.0.7
|
98
94
|
signing_key:
|
99
95
|
specification_version: 4
|
100
96
|
summary: Support diacritics
|