diacritics 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZTc3ODBjZWYxZjA5M2JmOWRjOTg0NDMyZjMzYzRjN2E1MTc4YTUwZA==
5
- data.tar.gz: !binary |-
6
- N2ZhOTkwNTE1YWVlMjY4ODI0NjQxOTUzNzZhYzU5OGQ5NzBlNzc2ZQ==
7
- !binary "U0hBNTEy":
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
@@ -1,6 +1,6 @@
1
1
  AllCops:
2
2
  Excludes:
3
- - diacritics.gemspec
3
+ # - diacritics.gemspec
4
4
  LineLength:
5
5
  Enabled: true
6
6
  Max: 79
data/CHANGELOG.md CHANGED
@@ -9,3 +9,7 @@
9
9
  ## v0.0.3
10
10
 
11
11
  * benchmark
12
+
13
+ ## v0.0.4
14
+
15
+ Nothing new. Updated rspec tests v3.0.
data/Gemfile CHANGED
@@ -5,10 +5,12 @@ gemspec
5
5
 
6
6
  group :development, :test do
7
7
  gem 'coveralls', require: false
8
- gem 'rspec'
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
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
  # Gem version
3
3
  module Diacritics
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.4'
5
5
  end
@@ -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
- subject { "Will will Will will Will's will to Will?" }
9
- its(:downcase) { should eq "will will will will will's will to will?" }
10
- its(:upcase) { should eq "WILL WILL WILL WILL WILL'S WILL TO WILL?" }
11
- its(:permanent) { should eq "will-will-will-will-will's-will-to-will" }
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
- subject { 'Acht alte Ameisen aßen am Abend Ananas.' }
16
- its(:downcase) { should eq 'acht alte ameisen aßen am abend ananas.' }
17
- its(:upcase) { should eq 'ACHT ALTE AMEISEN AẞEN AM ABEND ANANAS.' }
18
- its(:permanent) { should eq 'acht-alte-ameisen-assen-am-abend-ananas' }
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
- subject { 'Hämmer Hämmer? Hämmer hämmer.' }
23
- its(:downcase) { should eq 'hämmer hämmer? hämmer hämmer.' }
24
- its(:upcase) { should eq 'HÄMMER HÄMMER? HÄMMER HÄMMER.' }
25
- its(:permanent) { should eq 'haemmer-haemmer-haemmer-haemmer' }
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
- subject { 'Fünf Ferkel fressen frisches Futter.' }
30
- its(:downcase) { should eq 'fünf ferkel fressen frisches futter.' }
31
- its(:upcase) { should eq 'FÜNF FERKEL FRESSEN FRISCHES FUTTER.' }
32
- its(:permanent) { should eq 'fuenf-ferkel-fressen-frisches-futter' }
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
- subject { 'Ödögidöggi' }
37
- its(:downcase) { should eq 'ödögidöggi' }
38
- its(:upcase) { should eq 'ÖDÖGIDÖGGI' }
39
- its(:permanent) { should eq 'oedoegidoeggi' }
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
- subject { 'Ćma ćmę ćmi.' }
44
- its(:downcase) { should eq 'ćma ćmę ćmi.' }
45
- its(:upcase) { should eq 'ĆMA ĆMĘ ĆMI.' }
46
- its(:permanent) { should eq 'cma-cme-cmi' }
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
- subject { 'Żubr żuł żuchwą żurawinę.' }
51
- its(:downcase) { should eq 'żubr żuł żuchwą żurawinę.' }
52
- its(:upcase) { should eq 'ŻUBR ŻUŁ ŻUCHWĄ ŻURAWINĘ.' }
53
- its(:permanent) { should eq 'zubr-zul-zuchwa-zurawine' }
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
- subject { 'Pchnąć w tę łódź jeża lub ośm skrzyń fig.' }
58
- its(:downcase) { should eq 'pchnąć w tę łódź jeża lub ośm skrzyń fig.' }
59
- its(:upcase) { should eq 'PCHNĄĆ W TĘ ŁÓDŹ JEŻA LUB OŚM SKRZYŃ FIG.' }
60
- its(:permanent) { should eq 'pchnac-w-te-lodz-jeza-lub-osm-skrzyn-fig' }
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
- subject { 'Čistý s Čistou čistili činčilový čepec.' }
65
- its(:downcase) { should eq 'čistý s čistou čistili činčilový čepec.' }
66
- its(:upcase) { should eq 'ČISTÝ S ČISTOU ČISTILI ČINČILOVÝ ČEPEC.' }
67
- its(:permanent) { should eq 'cisty-s-cistou-cistili-cincilovy-cepec' }
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
- subject { 'Řekni řeřicha.' }
72
- its(:downcase) { should eq 'řekni řeřicha.' }
73
- its(:upcase) { should eq 'ŘEKNI ŘEŘICHA.' }
74
- its(:permanent) { should eq 'rekni-rericha' }
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
- subject { 'Zażółć gęślą jaźń' }
79
- its(:downcase) { should eq 'zażółć gęślą jaźń' }
80
- its(:upcase) { should eq 'ZAŻÓŁĆ GĘŚLĄ JAŹŃ' }
81
- its(:permanent) { should eq 'zazolc-gesla-jazn' }
82
- end
83
-
84
- context do
85
- subject { 'À l’époque de la conquête de la Gaule par les armées' }
86
- its(:downcase) do
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
- subject { 'Zalyžařivší si lyžař potkal nezalyžařivšího si lyžaře.' }
99
- its(:downcase) do
100
- should eq 'zalyžařivší si lyžař potkal nezalyžařivšího si lyžaře.'
101
- end
102
- its(:upcase) do
103
- should eq 'ZALYŽAŘIVŠÍ SI LYŽAŘ POTKAL NEZALYŽAŘIVŠÍHO SI LYŽAŘE.'
104
- end
105
- its(:permanent) do
106
- should eq 'zalyzarivsi-si-lyzar-potkal-nezalyzarivsiho-si-lyzare'
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
- subject { 'Náš pan kaplan v kapli plakal.' }
112
- its(:downcase) { should eq 'náš pan kaplan v kapli plakal.' }
113
- its(:upcase) { should eq 'NÁŠ PAN KAPLAN V KAPLI PLAKAL.' }
114
- its(:permanent) { should eq 'nas-pan-kaplan-v-kapli-plakal' }
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
- subject { '¿Quién lo desenladrillará?' }
119
- its(:downcase) { should eq '¿quién lo desenladrillará?' }
120
- its(:upcase) { should eq '¿QUIÉN LO DESENLADRILLARÁ?' }
121
- its(:permanent) { should eq 'quien-lo-desenladrillara' }
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
- subject { 'clavó un clavito Pablito.' }
126
- its(:downcase) { should eq 'clavó un clavito pablito.' }
127
- its(:upcase) { should eq 'CLAVÓ UN CLAVITO PABLITO.' }
128
- its(:permanent) { should eq 'clavo-un-clavito-pablito' }
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
- subject { 'In Perù però perì.' }
133
- its(:downcase) { should eq 'in perù però perì.' }
134
- its(:upcase) { should eq 'IN PERÙ PERÒ PERÌ.' }
135
- its(:permanent) { should eq 'in-peru-pero-peri' }
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
- subject { 'Ĉu ŝi ĉiam ĉe ĉio ruĝiĝas?' }
140
- its(:downcase) { should eq 'ĉu ŝi ĉiam ĉe ĉio ruĝiĝas?' }
141
- its(:upcase) { should eq 'ĈU ŜI ĈIAM ĈE ĈIO RUĜIĜAS?' }
142
- its(:permanent) { should eq 'cu-si-ciam-ce-cio-rugigas' }
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
- subject { 'Eĥoŝanĝo ĉiu-ĵaŭde.' }
147
- its(:downcase) { should eq 'eĥoŝanĝo ĉiu-ĵaŭde.' }
148
- its(:upcase) { should eq 'EĤOŜANĜO ĈIU-ĴAŬDE.' }
149
- its(:permanent) { should eq 'ehosango-ciu-jaude' }
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
- subject { 'Árni á Á á á á beit (við á).' }
154
- its(:downcase) { should eq 'árni á á á á á beit (við á).' }
155
- its(:upcase) { should eq 'ÁRNI Á Á Á Á Á BEIT (VIÐ Á).' }
156
- its(:permanent) { should eq 'arni-a-a-a-a-a-beit-(vid-a)' }
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
- subject { 'Það fer að verða verra ferðaveðrið' }
161
- its(:downcase) { should eq 'það fer verða verra ferðaveðrið' }
162
- its(:upcase) { should eq 'ÞAÐ FER AÐ VERÐA VERRA FERÐAVEÐRIÐ' }
163
- its(:permanent) { should eq 'pad-fer-ad-verda-verra-ferdavedrid' }
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
- subject { 'Четыре чёрненьких чумазеньких чертёнка' }
168
- its(:downcase) { should eq 'четыре чёрненьких чумазеньких чертёнка' }
169
- its(:upcase) { should eq 'ЧЕТЫРЕ ЧЁРНЕНЬКИХ ЧУМАЗЕНЬКИХ ЧЕРТЁНКА' }
170
- its(:permanent) { should eq 'четыре-чёрненьких-чумазеньких-чертёнка' }
282
+ it_behaves_like 'word processing' do
283
+ subject { 'Það fer 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
- subject { 'чертили чёрными чернилами чертёж.' }
175
- its(:downcase) { should eq 'чертили чёрными чернилами чертёж.' }
176
- its(:upcase) { should eq 'ЧЕРТИЛИ ЧЁРНЫМИ ЧЕРНИЛАМИ ЧЕРТЁЖ.' }
177
- its(:permanent) { should eq 'чертили-чёрными-чернилами-чертёж' }
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
- subject { 'Чайные чашки в печали, скучая, бренча закричали.' }
182
- its(:downcase) do
183
- should eq 'чайные чашки в печали, скучая, бренча закричали.'
184
- end
185
- its(:upcase) do
186
- should eq 'ЧАЙНЫЕ ЧАШКИ В ПЕЧАЛИ, СКУЧАЯ, БРЕНЧА ЗАКРИЧАЛИ.'
187
- end
188
- its(:permanent) do
189
- should eq 'чайные-чашки-в-печали-скучая-бренча-закричали'
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
- subject { 'Недопереквалифицировавшийся.' }
195
- its(:downcase) { should eq 'недопереквалифицировавшийся.' }
196
- its(:upcase) { should eq 'НЕДОПЕРЕКВАЛИФИЦИРОВАВШИЙСЯ.' }
197
- its(:permanent) { should eq 'недопереквалифицировавшийся' }
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
- subject { 'Как в капюшоне он смешон' }
202
- its(:downcase) { should eq 'как в капюшоне он смешон' }
203
- its(:upcase) { should eq 'КАК В КАПЮШОНЕ ОН СМЕШОН' }
204
- its(:permanent) { should eq 'как-в-капюшоне-он-смешон' }
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
- subject { 'Стоит гора посреди двора.' }
209
- its(:downcase) { should eq 'стоит гора посреди двора.' }
210
- its(:upcase) { should eq 'СТОИТ ГОРА ПОСРЕДИ ДВОРА.' }
211
- its(:permanent) { should eq 'стоит-гора-посреди-двора' }
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
- subject { 'Μια τίγρη με τρία τιγράκια.' }
216
- its(:downcase) { should eq 'μια τίγρη με τρία τιγράκια.' }
217
- its(:upcase) { should eq 'ΜΙΑ ΤΊΓΡΗ ΜΕ ΤΡΊΑ ΤΙΓΡΆΚΙΑ.' }
218
- its(:permanent) { should eq 'mia-tigre-me-tria-tigrakia' }
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
- subject { 'Μια τίγρη με τρία τιγράκια.' }
223
- its(:downcase) { should eq 'μια τίγρη με τρία τιγράκια.' }
224
- its(:upcase) { should eq 'ΜΙΑ ΤΊΓΡΗ ΜΕ ΤΡΊΑ ΤΙΓΡΆΚΙΑ.' }
225
- its(:permanent) { should eq 'mia-tigre-me-tria-tigrakia' }
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
- subject { 'Το ξίδι του Ξέρξη ξίδιασε' }
230
- its(:downcase) { should eq 'το ξίδι του ξέρξη ξίδιασε' }
231
- its(:upcase) { should eq 'ΤΟ ΞΊΔΙ ΤΟΥ ΞΈΡΞΗ ΞΊΔΙΑΣΕ' }
232
- its(:permanent) { should eq 'to-xidi-toy-xerxe-xidiase' }
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
- context do
398
+ it_behaves_like 'word processing' do
236
399
  subject { 'Πίτα σπανακόπιτα σπανακολαδοφραγκοσυκοπαντζαροκολοκυθόπιτα.' }
237
- its(:downcase) do
238
- should eq 'πίτα σπανακόπιτα σπανακολαδοφραγκοσυκοπαντζαροκολοκυθόπιτα.'
239
- end
240
- its(:upcase) do
241
- should eq 'ΠΊΤΑ ΣΠΑΝΑΚΌΠΙΤΑ ΣΠΑΝΑΚΟΛΑΔΟΦΡΑΓΚΟΣΥΚΟΠΑΝΤΖΑΡΟΚΟΛΟΚΥΘΌΠΙΤΑ.'
242
- end
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
- subject { 'Κοράλι ψιλοκόραλο και ψιλοκοραλάκι.' }
250
- its(:downcase) { should eq 'κοράλι ψιλοκόραλο και ψιλοκοραλάκι.' }
251
- its(:upcase) { should eq 'ΚΟΡΆΛΙ ΨΙΛΟΚΌΡΑΛΟ ΚΑΙ ΨΙΛΟΚΟΡΑΛΆΚΙ.' }
252
- its(:permanent) { should eq 'korali-psilokoralo-kai-psilokoralaki' }
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
- subject { 'É muito socó para um socó só coçar.' }
257
- its(:downcase) { should eq 'é muito socó para um socó só coçar.' }
258
- its(:upcase) { should eq 'É MUITO SOCÓ PARA UM SOCÓ SÓ COÇAR.' }
259
- its(:permanent) { should eq 'e-muito-soco-para-um-soco-so-cocar' }
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
- subject { 'Mon père est maire, mon frère est masseur.' }
264
- its(:downcase) { should eq 'mon père est maire, mon frère est masseur.' }
265
- its(:upcase) { should eq 'MON PÈRE EST MAIRE, MON FRÈRE EST MASSEUR.' }
266
- its(:permanent) { should eq 'mon-pere-est-maire-mon-frere-est-masseur' }
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
- subject { 'Se não percebeste,' }
271
- its(:downcase) { should eq 'se não percebeste,' }
272
- its(:upcase) { should eq 'SE NÃO PERCEBESTE,' }
273
- its(:permanent) { should eq 'se-nao-percebeste' }
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
- subject { 'rôt tenta chat' }
278
- its(:downcase) { should eq 'rôt tenta chat' }
279
- its(:upcase) { should eq 'RÔT TENTA CHAT' }
280
- its(:permanent) { should eq 'rot-tenta-chat' }
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
- subject { 'Nyelvtörők' }
285
- its(:downcase) { should eq 'nyelvtörők' }
286
- its(:upcase) { should eq 'NYELVTÖRŐK' }
287
- its(:permanent) { should eq 'nyelvtoeroek' }
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
- subject { 'Ein hælv kælv låg i elva og flaut på ein sælapinne.' }
292
- its(:downcase) do
293
- should eq 'ein hælv kælv låg i elva og flaut på ein sælapinne.'
294
- end
295
- its(:upcase) do
296
- should eq 'EIN HÆLV KÆLV LÅG I ELVA OG FLAUT PÅ EIN SÆLAPINNE.'
297
- end
298
- its(:permanent) do
299
- should eq 'ein-haelv-kaelv-lag-i-elva-og-flaut-pa-ein-saelapinne'
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.3
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-08-22 00:00:00.000000000 Z
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
94
- MA==
90
+ version: '0'
95
91
  requirements: []
96
92
  rubyforge_project:
97
- rubygems_version: 2.0.6
93
+ rubygems_version: 2.0.7
98
94
  signing_key:
99
95
  specification_version: 4
100
96
  summary: Support diacritics