turkish_support 1.1.3 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,44 +5,29 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
5
5
  describe String do
6
6
  let(:downcased_turkish_alphabet) { 'abcçdefgğhıijklmnoöprsştuüvyz' }
7
7
  let(:upcased_turkish_alphabet) { 'ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ' }
8
- let(:downcased_english_alphabet) { [*'a'..'z'].join }
9
- let(:upcased_english_alphabet) { [*'A'..'Z'].join }
8
+ let(:downcased_english_alphabet) { ('a'..'z').to_a.join }
9
+ let(:upcased_english_alphabet) { ('A'..'Z').to_a.join }
10
10
  let(:turkish_words) { %w[çamur ıhlamur insan ördek şahika ümraniye] }
11
11
 
12
12
  describe '#[]' do
13
13
  context 'with non-destructive version' do
14
14
  it 'does not change the original value of the string' do
15
15
  word = turkish_words.sample
16
-
17
- expect { word[/\w+/] }
18
- .to_not change { word }
16
+ expect { word[/\w+/] }.to_not(change { word })
19
17
  end
20
18
 
21
19
  it 'is able to capture Turkish characters' do
22
- expect(turkish_words
23
- .all? { |w| w[/\w+/] == w }
24
- ).to eq(true)
25
-
26
- expect(turkish_words
27
- .all? { |w| w[/[a-z]+/] == w }
28
- ).to eq(true)
29
-
30
- expect(turkish_words
31
- .map(&:upcase)
32
- .all? { |w| w[/[a-z]+/i] == w }
33
- ).to eq(true)
20
+ expect(turkish_words.all? { |w| w[/\w+/] == w }).to eq(true)
21
+ expect(turkish_words.all? { |w| w[/[a-z]+/] == w }).to eq(true)
22
+ expect(turkish_words.map(&:upcase).all? { |w| w[/[a-z]+/i] == w }).to eq(true)
34
23
  end
35
24
  end
36
25
 
37
26
  context 'with destructive version' do
38
27
  it 'changes the original value of the string' do
39
28
  word = turkish_words.sample
40
-
41
- expect { word[/\w+/] = 'new value' }
42
- .to change { word }
43
-
44
- expect(word)
45
- .to eq('new value')
29
+ expect { word[/\w+/] = 'new value' }.to(change { word })
30
+ expect(word).to eq('new value')
46
31
  end
47
32
  end
48
33
  end
@@ -50,24 +35,13 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
50
35
  describe '#index' do
51
36
  it 'does not change the original value of the string' do
52
37
  word = turkish_words.sample
53
-
54
- expect { word.index(/\w+/) }
55
- .to_not change { word }
38
+ expect { word.index(/\w+/) }.to_not(change { word })
56
39
  end
57
40
 
58
41
  it 'is able to capture Turkish characters' do
59
- expect(turkish_words
60
- .all? { |w| w.index(/\w+/).zero? }
61
- ).to eq(true)
62
-
63
- expect(turkish_words
64
- .all? { |w| w.index(/[a-z]+/).zero? }
65
- ).to eq(true)
66
-
67
- expect(turkish_words
68
- .map(&:upcase)
69
- .all? { |w| w.index(/[a-z]+/i).zero? }
70
- ).to eq(true)
42
+ expect(turkish_words.all? { |w| w.index(/\w+/).zero? }).to(eq(true))
43
+ expect(turkish_words.all? { |w| w.index(/[a-z]+/).zero? }).to eq(true)
44
+ expect(turkish_words.map(&:upcase).all? { |w| w.index(/[a-z]+/i).zero? }).to eq(true)
71
45
  end
72
46
 
73
47
  it 'begins to search from the right position' do
@@ -78,25 +52,13 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
78
52
  describe '#rindex' do
79
53
  it 'does not change the original value of the string' do
80
54
  word = turkish_words.sample
81
- expect { word.rindex(/\w+/) }.to_not change { word }
55
+ expect { word.rindex(/\w+/) }.to_not(change { word })
82
56
  end
83
57
 
84
58
  it 'is able to capture Turkish characters' do
85
- expect(turkish_words
86
- .map(&:reverse)
87
- .all? { |w| w.rindex(/\w+/) == w.size - 1 }
88
- ).to eq(true)
89
-
90
- expect(turkish_words
91
- .map(&:reverse)
92
- .all? { |w| w.rindex(/[a-z]+/) == w.size - 1 }
93
- ).to eq(true)
94
-
95
- expect(turkish_words
96
- .map(&:upcase)
97
- .map(&:reverse)
98
- .all? { |w| w.rindex(/[a-z]+/i) == w.size - 1 }
99
- ).to eq(true)
59
+ expect(turkish_words.map(&:reverse).all? { |w| w.rindex(/\w+/) == w.size - 1 }).to(eq(true))
60
+ expect(turkish_words.map(&:reverse).all? { |w| w.rindex(/[a-z]+/) == w.size - 1 }).to eq(true)
61
+ expect(turkish_words.map { |w| w.upcase.reverse }.all? { |w| w.rindex(/[a-z]+/i) == w.size - 1 }).to(eq(true))
100
62
  end
101
63
 
102
64
  it 'finishes the searching to the right position' do
@@ -110,11 +72,11 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
110
72
  let(:two_words) { "#{word1} #{word2}" }
111
73
 
112
74
  it 'does not change the original value of the string' do
113
- expect { two_words.partition(/\W+/) }.to_not change { two_words }
75
+ expect { two_words.partition(/\W+/) }.to_not(change { two_words })
114
76
  end
115
77
 
116
78
  it 'is able to capture Turkish characters' do
117
- expect(two_words.partition(/\W+/)).to eq([word1, ' ', word2])
79
+ expect(two_words.partition(/\W+/)).to(eq([word1, ' ', word2]))
118
80
  end
119
81
  end
120
82
 
@@ -125,12 +87,11 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
125
87
  let(:three_words) { "#{word1} #{word2} #{word3}" }
126
88
 
127
89
  it 'does not change the original value of the string' do
128
- expect { three_words.rpartition(/\W+/) }.to_not change { three_words }
90
+ expect { three_words.rpartition(/\W+/) }.to_not(change { three_words })
129
91
  end
130
92
 
131
93
  it 'is able to capture Turkish characters' do
132
- expect(three_words.rpartition(/\W+/))
133
- .to eq(["#{word1} #{word2}", ' ', word3])
94
+ expect(three_words.rpartition(/\W+/)).to(eq(["#{word1} #{word2}", ' ', word3]))
134
95
  end
135
96
  end
136
97
 
@@ -138,90 +99,54 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
138
99
  context 'with non-destructive version' do
139
100
  it 'does not change the original value of the string' do
140
101
  sentence = turkish_words * ' '
141
- expect { sentence.slice(/\w+/) }.to_not change { sentence }
102
+ expect { sentence.slice(/\w+/) }.to_not(change { sentence })
142
103
  end
143
104
 
144
105
  it 'is able to capture Turkish characters' do
145
- expect(turkish_words
146
- .all? { |w| w.slice(/\w+/) == w }
147
- ).to eq(true)
148
-
149
- expect(turkish_words
150
- .all? { |w| w.slice(/[a-z]+/) == w }
151
- ).to eq(true)
152
-
153
- expect(turkish_words
154
- .map(&:upcase)
155
- .all? { |w| w.slice(/[a-z]+/i) == w }
156
- ).to eq(true)
106
+ expect(turkish_words.all? { |w| w.slice(/\w+/) == w }).to(eq(true))
107
+ expect(turkish_words.all? { |w| w.slice(/[a-z]+/) == w }).to eq(true)
108
+ expect(turkish_words.map(&:upcase).all? { |w| w.slice(/[a-z]+/i) == w }).to eq(true)
157
109
  end
158
110
  end
159
111
 
160
112
  context 'with destructive version' do
161
113
  it 'changes the original value of the string' do
162
114
  sentence = turkish_words * ' '
163
-
164
- expect { sentence.slice!(/\w+/) }.to change { sentence }
165
- expect(sentence).to eq(' ' + turkish_words[1..-1] * ' ')
115
+ expect { sentence.slice!(/\w+/) }.to(change { sentence })
116
+ expect(sentence).to eq(" #{turkish_words[1..] * ' '}")
166
117
  end
167
118
  end
168
119
  end
169
120
 
170
121
  describe '#split' do
171
122
  it 'is able to capture Turkish characters' do
172
- expect(turkish_words
173
- .join(' ')
174
- .split(/\w+/)
175
- .join
176
- .strip
177
- .empty?
178
- ).to eq(true)
179
-
180
- expect(turkish_words
181
- .join(' ')
182
- .split(/[a-z]+/)
183
- .join
184
- .strip
185
- .empty?
186
- ).to eq(true)
187
-
188
- expect(turkish_words
189
- .join(' ')
190
- .upcase
191
- .split(/[a-z]+/i)
192
- .join
193
- .strip
194
- .empty?
195
- ).to eq(true)
123
+ expect(turkish_words.join(' ').split(/\w+/).join.strip.empty?).to(eq(true))
124
+ expect(turkish_words.join(' ').split(/[a-z]+/).join.strip.empty?).to(eq(true))
125
+ expect(turkish_words.join(' ').upcase.split(/[a-z]+/i).join.strip.empty?).to(eq(true))
196
126
  end
197
127
  end
198
128
 
199
129
  describe '#upcase' do
200
130
  context 'with non-destructive version' do
201
131
  it 'does not change the original value of the string' do
202
- expect { downcased_turkish_alphabet.upcase }
203
- .to_not change { downcased_turkish_alphabet }
132
+ expect { downcased_turkish_alphabet.upcase }.to_not(change { downcased_turkish_alphabet })
204
133
  end
205
134
 
206
135
  it 'upcases all of Turkish characters' do
207
136
  upcased_string = downcased_turkish_alphabet.upcase
208
-
209
- expect(upcased_string).to eq(upcased_turkish_alphabet)
137
+ expect(upcased_string).to(eq(upcased_turkish_alphabet))
210
138
  end
211
139
 
212
140
  it 'upcases English characters except i as I' do
213
141
  upcased_string = downcased_english_alphabet.upcase
214
-
215
- expect(upcased_string).to eq(upcased_english_alphabet.tr('I', 'İ'))
142
+ expect(upcased_string).to(eq(upcased_english_alphabet.tr('I', 'İ')))
216
143
  end
217
144
  end
218
145
 
219
146
  context 'with destructive version' do
220
147
  it 'changes the original value of the string' do
221
- expect { downcased_turkish_alphabet.upcase! }
222
- .to change { downcased_turkish_alphabet }
223
-
224
- expect(downcased_turkish_alphabet).to eq(upcased_turkish_alphabet)
148
+ expect { downcased_turkish_alphabet.upcase! }.to(change { downcased_turkish_alphabet })
149
+ expect(downcased_turkish_alphabet).to(eq(upcased_turkish_alphabet))
225
150
  end
226
151
  end
227
152
  end
@@ -229,30 +154,24 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
229
154
  describe '#downcase' do
230
155
  context 'with non-destructive version' do
231
156
  it 'does not change the original value of the string' do
232
- expect { upcased_turkish_alphabet.downcase }
233
- .to_not change { upcased_turkish_alphabet }
157
+ expect { upcased_turkish_alphabet.downcase }.to_not(change { upcased_turkish_alphabet })
234
158
  end
235
159
 
236
160
  it 'downcases all of Turkish characters' do
237
161
  downcased_string = upcased_turkish_alphabet.downcase
238
-
239
- expect(downcased_string)
240
- .to eq(downcased_turkish_alphabet)
162
+ expect(downcased_string).to(eq(downcased_turkish_alphabet))
241
163
  end
242
164
 
243
165
  it 'downcases English characters except I as ı' do
244
166
  downcased_string = upcased_english_alphabet.downcase
245
- expect(downcased_string)
246
- .to eq(downcased_english_alphabet.tr('i', 'ı'))
167
+ expect(downcased_string).to(eq(downcased_english_alphabet.tr('i', 'ı')))
247
168
  end
248
169
  end
249
170
 
250
171
  context 'with destructive version' do
251
172
  it 'changes the original value of the string' do
252
- expect { upcased_turkish_alphabet.downcase! }
253
- .to change { upcased_turkish_alphabet }
254
- expect(upcased_turkish_alphabet)
255
- .to eq(downcased_turkish_alphabet)
173
+ expect { upcased_turkish_alphabet.downcase! }.to(change { upcased_turkish_alphabet })
174
+ expect(upcased_turkish_alphabet).to(eq(downcased_turkish_alphabet))
256
175
  end
257
176
  end
258
177
  end
@@ -261,41 +180,29 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
261
180
  context 'with non-destructive version' do
262
181
  it 'does not change the original value of the string' do
263
182
  turkish_word = turkish_words.sample
264
-
265
- expect { turkish_word.capitalize }.to_not change { turkish_word }
183
+ expect { turkish_word.capitalize }.to_not(change { turkish_word })
266
184
  end
267
185
 
268
186
  it 'capitalizes the leading first Turkish character' do
269
- # rubocop:disable Style/SymbolProc
270
- capitalized_words = turkish_words.map { |w| w.capitalize }
271
-
272
- expect(capitalized_words)
273
- .to eq(%w[Çamur Ihlamur İnsan Ördek Şahika Ümraniye])
187
+ capitalized_words = turkish_words.map(&:capitalize)
188
+ expect(capitalized_words).to(eq(%w[Çamur Ihlamur İnsan Ördek Şahika Ümraniye]))
274
189
  end
275
190
 
276
191
  it 'capitalizes the first character of a string and downcase others' do
277
- expect('türkÇE desteĞİ'.capitalize)
278
- .to eq('Türkçe desteği')
192
+ expect('türkÇE desteĞİ'.capitalize).to(eq('Türkçe desteği'))
279
193
  end
280
194
 
281
195
  it 'capitalizes the first character of an English string' do
282
196
  english_word = 'spy'
283
- capitalized_string = english_word.capitalize
284
-
285
- expect(capitalized_string)
286
- .to eq('Spy')
197
+ expect(english_word.capitalize).to(eq('Spy'))
287
198
  end
288
199
  end
289
200
 
290
201
  context 'with destructive version' do
291
202
  it 'changes the original value of the string' do
292
203
  turkish_word = 'çamur'
293
-
294
- expect { turkish_word.capitalize! }
295
- .to change { turkish_word }
296
-
297
- expect(turkish_word)
298
- .to eq('Çamur')
204
+ expect { turkish_word.capitalize! }.to(change { turkish_word })
205
+ expect(turkish_word).to eq('Çamur')
299
206
  end
300
207
  end
301
208
  end
@@ -304,13 +211,11 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
304
211
  it 'compares Turkish characters correctly' do
305
212
  result = downcased_turkish_alphabet.casecmp(upcased_turkish_alphabet)
306
213
 
307
- expect(result.zero?)
308
- .to eq(true)
214
+ expect(result.zero?).to(eq(true))
309
215
  end
310
216
 
311
217
  it 'compares Turkish characters correctly' do
312
- expect('sıtkı'.casecmp('SıTKI').zero?)
313
- .to eq(true)
218
+ expect('sıtkı'.casecmp('SıTKI')&.zero?).to(eq(true))
314
219
  end
315
220
  end
316
221
 
@@ -318,56 +223,41 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
318
223
  context 'with non-destructive version' do
319
224
  it 'does not change the original value of the string' do
320
225
  word = 'mERHABA çAMUR iSMETOĞULLARI'
321
-
322
- expect { word.titleize }
323
- .to_not change { word }
226
+ expect { word.titleize }.to_not(change { word })
324
227
  end
325
228
 
326
229
  it 'upcases first character of all words' do
327
230
  titleized = 'merhaba çamur ismet'.titleize
328
-
329
- expect(titleized)
330
- .to eq('Merhaba Çamur İsmet')
231
+ expect(titleized).to(eq('Merhaba Çamur İsmet'))
331
232
  end
332
233
 
333
234
  it 'no problem with words that consist of special chars only' do
334
235
  titleized = '(( merhaba çamur ismet'.titleize
335
-
336
- expect(titleized)
337
- .to eq('(( Merhaba Çamur İsmet')
236
+ expect(titleized).to(eq('(( Merhaba Çamur İsmet'))
338
237
  end
339
238
 
340
239
  it 'downcases characters other than first characters of all words' do
341
240
  titleized = 'mERHABA çAMUR iSMETOĞULLARI'.titleize
342
-
343
- expect(titleized)
344
- .to eq('Merhaba Çamur İsmetoğulları')
241
+ expect(titleized).to(eq('Merhaba Çamur İsmetoğulları'))
345
242
  end
346
243
 
347
244
  it 'support strings that include paranthesis, quotes, etc.' do
348
245
  titleized = "rUBY roCkS... (really! 'tRUSt' ME)".titleize
349
-
350
- expect(titleized)
351
- .to eq("Ruby Rocks... (Really! 'Trust' Me)")
246
+ expect(titleized).to(eq("Ruby Rocks... (Really! 'Trust' Me)"))
352
247
  end
353
248
 
354
249
  it 'does not capitalize conjuctions when false passed' do
355
- titleized = 'kerem VE aslı VeYa leyla İlE mecnun'.titleize(false)
356
-
357
- expect(titleized)
358
- .to eq('Kerem ve Aslı veya Leyla ile Mecnun')
250
+ titleized = 'kerem VE aslı VeYa leyla İlE mecnun'.titleize(conjuction: false)
251
+ expect(titleized).to eq('Kerem ve Aslı veya Leyla ile Mecnun')
359
252
  end
360
253
  end
361
254
 
362
255
  context 'with destructive version' do
363
256
  it 'changes the original value of the string' do
364
257
  word = 'mERHABA çAMUR iSMETOĞULLARI'
258
+ expect { word.titleize! }.to(change { word })
365
259
 
366
- expect { word.titleize! }
367
- .to change { word }
368
-
369
- expect(word)
370
- .to eq('Merhaba Çamur İsmetoğulları')
260
+ expect(word).to(eq('Merhaba Çamur İsmetoğulları'))
371
261
  end
372
262
  end
373
263
  end
@@ -376,52 +266,40 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
376
266
  context 'with non-destructive version' do
377
267
  it 'does not change the original value of the string' do
378
268
  word = 'mErHaba çamur ismetoğullarI'
379
-
380
- expect { word.swapcase }
381
- .to_not change { word }
269
+ expect { word.swapcase }.to_not(change { word })
382
270
  end
383
271
 
384
272
  it 'swaps characters correctly' do
385
273
  word = 'mErHaba çamur ismetoğullarI'.swapcase
386
-
387
- expect(word)
388
- .to eq('MeRhABA ÇAMUR İSMETOĞULLARı')
274
+ expect(word).to(eq('MeRhABA ÇAMUR İSMETOĞULLARı'))
389
275
  end
390
276
  end
391
277
 
392
278
  context 'with destructive version' do
393
279
  it 'changes the original value of the string' do
394
280
  word = 'mErHaba çamur ismetoğullarI'
395
-
396
- expect { word.swapcase! }
397
- .to change { word }
398
- expect(word)
399
- .to eq('MeRhABA ÇAMUR İSMETOĞULLARı')
281
+ expect { word.swapcase! }.to(change { word })
282
+ expect(word).to(eq('MeRhABA ÇAMUR İSMETOĞULLARı'))
400
283
  end
401
284
  end
402
285
  end
403
286
 
404
287
  describe '#match' do
405
288
  it "matches Turkish characters when regex include '\\w'" do
406
- expect('Aşağı'.match(/\w+/).to_s)
407
- .to eq('Aşağı')
408
-
409
- expect('Aşağı Ayrancı'.match(/^\w+\s\w+$/).to_s)
410
- .to eq('Aşağı Ayrancı')
289
+ expect('Aşağı'.match(/\w+/).to_s).to(eq('Aşağı'))
290
+ expect('Aşağı Ayrancı'.match(/^\w+\s\w+$/).to_s).to(eq('Aşağı Ayrancı'))
411
291
  end
412
292
 
413
293
  it 'matches Turkish characters when regex include lowercase range' do
414
- expect('aüvvağğ öövvaağ'.match(/^[a-z]+\s[a-z]+$/).to_s)
415
- .to eq('aüvvağğ öövvaağ')
294
+ expect('aüvvağğ öövvaağ'.match(/^[a-z]+\s[a-z]+$/).to_s).to(eq('aüvvağğ öövvaağ'))
416
295
  end
417
296
 
418
297
  it 'matches Turkish characters when regex include uppercase range' do
419
- expect('BAĞCIlar'.match(/[A-Z]+/).to_s)
420
- .to eq('BAĞCI')
298
+ expect('BAĞCIlar'.match(/[A-Z]+/).to_s).to(eq('BAĞCI'))
421
299
  end
422
300
 
423
301
  it "doesn't match Turkish characters when regex include '\\W'" do
424
- expect('Aşağı Ayrancı'.match(/\W+/).to_s).to eq(' ')
302
+ expect('Aşağı Ayrancı'.match(/\W+/).to_s).to(eq(' '))
425
303
  end
426
304
  end
427
305
 
@@ -431,59 +309,15 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
431
309
  end
432
310
 
433
311
  it 'matches Turkish characters when regex include lowercase range' do
434
- expect(turkish_words
435
- .join(' ')
436
- .scan(/^[a-z\s]+$/)
437
- ).to eq([turkish_words.join(' ')])
312
+ expect(turkish_words.join(' ').scan(/^[a-z\s]+$/)).to(eq([turkish_words.join(' ')]))
438
313
  end
439
314
 
440
315
  it 'matches Turkish characters when regex include uppercase range' do
441
- expect(turkish_words
442
- .join(' ')
443
- .upcase
444
- .scan(/^[A-Z\s]+$/)
445
- ).to eq([turkish_words.join(' ').upcase])
316
+ expect(turkish_words.join(' ').upcase.scan(/^[A-Z\s]+$/)).to(eq([turkish_words.join(' ').upcase]))
446
317
  end
447
318
 
448
319
  it "matches Turkish characters when regex include '\\w'" do
449
- expect(turkish_words
450
- .join(' ')
451
- .scan(/\W+/)
452
- .map(&:strip)
453
- .all?(&:empty?)
454
- ).to eq(true)
455
- end
456
- end
457
-
458
- describe '#=~' do
459
- tr_chars = ALPHA[:tr_lower] + ALPHA[:tr_upper]
460
-
461
- it "matches Turkish characters when regex include '\\w'" do
462
- expect(tr_chars
463
- .split(//)
464
- .all? { |ch| (ch =~ /\w/).zero? }
465
- ).to eq(true)
466
- end
467
-
468
- it 'matches Turkish characters when regex include lowercase range' do
469
- expect(ALPHA[:tr_lower]
470
- .split(//)
471
- .all? { |ch| (ch =~ /[a-z]/).zero? }
472
- ).to eq(true)
473
- end
474
-
475
- it 'matches Turkish characters when regex include uppercase range' do
476
- expect(ALPHA[:tr_upper]
477
- .split(//)
478
- .all? { |ch| (ch =~ /[A-Z]/).zero? }
479
- ).to eq(true)
480
- end
481
-
482
- it "doesn't match Turkish characters when regex include '\\W'" do
483
- expect(tr_chars
484
- .split(//)
485
- .all? { |ch| (ch =~ /\W/).nil? }
486
- ).to eq(true)
320
+ expect(turkish_words.join(' ').scan(/\W+/).map(&:strip).all?(&:empty?)).to(eq(true))
487
321
  end
488
322
  end
489
323
 
@@ -491,28 +325,20 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
491
325
  context 'non-destructive version' do
492
326
  it 'does not affect the object' do
493
327
  word = 'ağapaşa ağa'
494
-
495
- expect { word.sub(/\w+/, 'bey') }.to_not change { word }
328
+ expect { word.sub(/\w+/, 'bey') }.to_not(change { word })
496
329
  end
497
330
 
498
331
  it 'matches Turkish characters, and replaces them' do
499
- expect('ağapaşa ağa'.sub(/\w+/, 'bey')).to eq('bey ağa')
500
-
501
- expect('ağapaşa ağa şapka'.sub(/\W+/, 'bey'))
502
- .to eq('ağapaşabeyağa şapka')
503
-
504
- expect('ağapaşaağa'.sub(/[a-h]+/, 'bey')).to eq('beypaşaağa')
332
+ expect('ağapaşa ağa'.sub(/\w+/, 'bey')).to(eq('bey ağa'))
333
+ expect('ağapaşa ağa şapka'.sub(/\W+/, 'bey')).to(eq('ağapaşabeyağa şapka'))
334
+ expect('ağapaşaağa'.sub(/[a-h]+/, 'bey')).to(eq('beypaşaağa'))
505
335
  end
506
336
  end
507
337
 
508
338
  context 'destructive version' do
509
339
  it 'affects the object' do
510
340
  word = 'ağapaşa ağa'
511
-
512
- expect { word.sub!(/\w+/, 'bey') }
513
- .to change { word }
514
- .from('ağapaşa ağa')
515
- .to('bey ağa')
341
+ expect { word.sub!(/\w+/, 'bey') }.to(change { word }.from('ağapaşa ağa').to('bey ağa'))
516
342
  end
517
343
  end
518
344
  end
@@ -521,74 +347,67 @@ module TurkishSupport # rubocop:disable Metrics/ModuleLength
521
347
  context 'non-destructive version' do
522
348
  it 'does not affect the object' do
523
349
  word = 'ağapaşa ağa'
524
-
525
- expect { word.gsub(/\w+/, 'bey') }.to_not change { word }
350
+ expect { word.gsub(/\w+/, 'bey') }.to_not(change { word })
526
351
  end
527
352
 
528
353
  it 'matches Turkish characters, and replaces them' do
529
- expect('ağapaşa ağa'.gsub(/\w+/, 'bey')).to eq('bey bey')
530
-
531
- expect('ağapaşa ağa şapka'.gsub(/\W+/, 'bey'))
532
- .to eq('ağapaşabeyağabeyşapka')
533
-
534
- expect('ağapaşaağa'.gsub(/[a-h]+/, 'bey')).to eq('beypbeyşbey')
354
+ expect('ağapaşa ağa'.gsub(/\w+/, 'bey')).to(eq('bey bey'))
355
+ expect('ağapaşa ağa şapka'.gsub(/\W+/, 'bey')).to(eq('ağapaşabeyağabeyşapka'))
356
+ expect('ağapaşaağa'.gsub(/[a-h]+/, 'bey')).to(eq('beypbeyşbey'))
535
357
  end
536
358
  end
537
359
 
538
360
  context 'destructive version' do
539
361
  it 'affects the object' do
540
362
  word = 'ağapaşa ağa'
541
- expect { word.gsub!(/\w+/, 'bey') }
542
- .to change { word }
543
- .from('ağapaşa ağa')
544
- .to('bey bey')
363
+ expect { word.gsub!(/\w+/, 'bey') }.to(change { word }.from('ağapaşa ağa').to('bey bey'))
545
364
  end
546
365
  end
547
366
  end
548
367
 
549
- describe "#<=>" do
368
+ describe '#<=>' do
550
369
  let(:sorted_equal_length_strings) { %w[Cahit Çağla Ömer Sıtkı Şakir] }
551
370
  let(:sorted_different_length_strings) { %w[c ca falan om saki sıt] }
552
- context "with equal length strings" do
553
- it "works for smaller test" do
371
+ context 'with equal length strings' do
372
+ it 'works for smaller test' do
554
373
  0.upto(sorted_equal_length_strings.length - 2) do |i|
555
- expect(sorted_equal_length_strings[i] <=> sorted_equal_length_strings[i+1]).to eq(-1)
374
+ expect(sorted_equal_length_strings[i] <=> sorted_equal_length_strings[i + 1]).to(eq(-1))
556
375
  end
557
376
  end
558
377
 
559
- it "works for bigger test" do
560
- (sorted_equal_length_strings.length-1).downto(1) do |i|
561
- expect(sorted_equal_length_strings[i] <=> sorted_equal_length_strings[i-1]).to eq(1)
378
+ it 'works for bigger test' do
379
+ (sorted_equal_length_strings.length - 1).downto(1) do |i|
380
+ expect(sorted_equal_length_strings[i] <=> sorted_equal_length_strings[i - 1]).to(eq(1))
562
381
  end
563
382
  end
564
383
 
565
- it "works for equals test" do
566
- sorted_equal_length_strings.each do |str|
567
- expect(str <=> str).to eq(0)
384
+ it 'works for equals test' do
385
+ sorted_equal_length_strings.each do |str|
386
+ expect(str <=> str).to eq(0) # rubocop:disable Lint/BinaryOperatorWithIdenticalOperands
568
387
  end
569
388
  end
570
389
  end
571
390
 
572
- context "with different length strings" do
573
- it "works for smaller test" do
391
+ context 'with different length strings' do
392
+ it 'works for smaller test' do
574
393
  0.upto(sorted_different_length_strings.length - 2) do |i|
575
- expect(sorted_different_length_strings[i] <=> sorted_different_length_strings[i+1]).to eq(-1)
394
+ expect(sorted_different_length_strings[i] <=> sorted_different_length_strings[i + 1]).to eq(-1)
576
395
  end
577
396
  end
578
397
 
579
- it "works for bigger test" do
580
- (sorted_different_length_strings.length-1).downto(1) do |i|
581
- expect(sorted_different_length_strings[i] <=> sorted_different_length_strings[i-1]).to eq(1)
398
+ it 'works for bigger test' do
399
+ (sorted_different_length_strings.length - 1).downto(1) do |i|
400
+ expect(sorted_different_length_strings[i] <=> sorted_different_length_strings[i - 1]).to eq(1)
582
401
  end
583
402
  end
584
403
  end
585
404
 
586
- context "invalid comparisons" do
587
- it "returns nil" do
588
- expect("a" <=> 3.5).to eq(nil)
589
- expect("a" <=> true).to eq(nil)
590
- expect("a" <=> Object.new).to eq(nil)
591
- expect("a" <=> 1).to eq(nil)
405
+ context 'invalid comparisons' do
406
+ it 'returns nil' do
407
+ expect('a' <=> 3.5).to eq(nil)
408
+ expect('a' <=> true).to eq(nil)
409
+ expect('a' <=> Object.new).to eq(nil)
410
+ expect('a' <=> 1).to eq(nil)
592
411
  end
593
412
  end
594
413
  end