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 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