Skip to content

Commit 973390f

Browse files
committed
Small spec improvement for RSpec style
1 parent 79fa4d7 commit 973390f

File tree

2 files changed

+88
-97
lines changed

2 files changed

+88
-97
lines changed

spec/mysql2/result_spec.rb

Lines changed: 47 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,10 @@
107107
end
108108

109109
context "#fields" do
110-
before(:each) do
111-
@test_result = @client.query("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1")
112-
end
110+
let(:test_result) { @client.query("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1") }
113111

114112
it "method should exist" do
115-
expect(@test_result).to respond_to(:fields)
113+
expect(test_result).to respond_to(:fields)
116114
end
117115

118116
it "should return an array of field names in proper order" do
@@ -173,9 +171,7 @@
173171
end
174172

175173
context "row data type mapping" do
176-
before(:each) do
177-
@test_result = @client.query("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1").first
178-
end
174+
let(:test_result) { @client.query("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1").first }
179175

180176
it "should return nil values for NULL and strings for everything else when :cast is false" do
181177
result = @client.query('SELECT null_test, tiny_int_test, bool_cast_test, int_test, date_test, enum_test FROM mysql2_test WHERE bool_cast_test = 1 LIMIT 1', cast: false).first
@@ -188,23 +184,23 @@
188184
end
189185

190186
it "should return nil for a NULL value" do
191-
expect(@test_result['null_test']).to be_an_instance_of(NilClass)
192-
expect(@test_result['null_test']).to eql(nil)
187+
expect(test_result['null_test']).to be_an_instance_of(NilClass)
188+
expect(test_result['null_test']).to eql(nil)
193189
end
194190

195191
it "should return String for a BIT(64) value" do
196-
expect(@test_result['bit_test']).to be_an_instance_of(String)
197-
expect(@test_result['bit_test']).to eql("\000\000\000\000\000\000\000\005")
192+
expect(test_result['bit_test']).to be_an_instance_of(String)
193+
expect(test_result['bit_test']).to eql("\000\000\000\000\000\000\000\005")
198194
end
199195

200196
it "should return String for a BIT(1) value" do
201-
expect(@test_result['single_bit_test']).to be_an_instance_of(String)
202-
expect(@test_result['single_bit_test']).to eql("\001")
197+
expect(test_result['single_bit_test']).to be_an_instance_of(String)
198+
expect(test_result['single_bit_test']).to eql("\001")
203199
end
204200

205201
it "should return Fixnum for a TINYINT value" do
206-
expect(num_classes).to include(@test_result['tiny_int_test'].class)
207-
expect(@test_result['tiny_int_test']).to eql(1)
202+
expect(num_classes).to include(test_result['tiny_int_test'].class)
203+
expect(test_result['tiny_int_test']).to eql(1)
208204
end
209205

210206
context "cast booleans for TINYINT if :cast_booleans is enabled" do
@@ -247,48 +243,48 @@
247243
end
248244

249245
it "should return Fixnum for a SMALLINT value" do
250-
expect(num_classes).to include(@test_result['small_int_test'].class)
251-
expect(@test_result['small_int_test']).to eql(10)
246+
expect(num_classes).to include(test_result['small_int_test'].class)
247+
expect(test_result['small_int_test']).to eql(10)
252248
end
253249

254250
it "should return Fixnum for a MEDIUMINT value" do
255-
expect(num_classes).to include(@test_result['medium_int_test'].class)
256-
expect(@test_result['medium_int_test']).to eql(10)
251+
expect(num_classes).to include(test_result['medium_int_test'].class)
252+
expect(test_result['medium_int_test']).to eql(10)
257253
end
258254

259255
it "should return Fixnum for an INT value" do
260-
expect(num_classes).to include(@test_result['int_test'].class)
261-
expect(@test_result['int_test']).to eql(10)
256+
expect(num_classes).to include(test_result['int_test'].class)
257+
expect(test_result['int_test']).to eql(10)
262258
end
263259

264260
it "should return Fixnum for a BIGINT value" do
265-
expect(num_classes).to include(@test_result['big_int_test'].class)
266-
expect(@test_result['big_int_test']).to eql(10)
261+
expect(num_classes).to include(test_result['big_int_test'].class)
262+
expect(test_result['big_int_test']).to eql(10)
267263
end
268264

269265
it "should return Fixnum for a YEAR value" do
270-
expect(num_classes).to include(@test_result['year_test'].class)
271-
expect(@test_result['year_test']).to eql(2009)
266+
expect(num_classes).to include(test_result['year_test'].class)
267+
expect(test_result['year_test']).to eql(2009)
272268
end
273269

274270
it "should return BigDecimal for a DECIMAL value" do
275-
expect(@test_result['decimal_test']).to be_an_instance_of(BigDecimal)
276-
expect(@test_result['decimal_test']).to eql(10.3)
271+
expect(test_result['decimal_test']).to be_an_instance_of(BigDecimal)
272+
expect(test_result['decimal_test']).to eql(10.3)
277273
end
278274

279275
it "should return Float for a FLOAT value" do
280-
expect(@test_result['float_test']).to be_an_instance_of(Float)
281-
expect(@test_result['float_test']).to eql(10.3)
276+
expect(test_result['float_test']).to be_an_instance_of(Float)
277+
expect(test_result['float_test']).to eql(10.3)
282278
end
283279

284280
it "should return Float for a DOUBLE value" do
285-
expect(@test_result['double_test']).to be_an_instance_of(Float)
286-
expect(@test_result['double_test']).to eql(10.3)
281+
expect(test_result['double_test']).to be_an_instance_of(Float)
282+
expect(test_result['double_test']).to eql(10.3)
287283
end
288284

289285
it "should return Time for a DATETIME value when within the supported range" do
290-
expect(@test_result['date_time_test']).to be_an_instance_of(Time)
291-
expect(@test_result['date_time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
286+
expect(test_result['date_time_test']).to be_an_instance_of(Time)
287+
expect(test_result['date_time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
292288
end
293289

294290
it "should return Time when timestamp is < 1901-12-13 20:45:52" do
@@ -302,23 +298,23 @@
302298
end
303299

304300
it "should return Time for a TIMESTAMP value when within the supported range" do
305-
expect(@test_result['timestamp_test']).to be_an_instance_of(Time)
306-
expect(@test_result['timestamp_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
301+
expect(test_result['timestamp_test']).to be_an_instance_of(Time)
302+
expect(test_result['timestamp_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
307303
end
308304

309305
it "should return Time for a TIME value" do
310-
expect(@test_result['time_test']).to be_an_instance_of(Time)
311-
expect(@test_result['time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2000-01-01 11:44:00')
306+
expect(test_result['time_test']).to be_an_instance_of(Time)
307+
expect(test_result['time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2000-01-01 11:44:00')
312308
end
313309

314310
it "should return Date for a DATE value" do
315-
expect(@test_result['date_test']).to be_an_instance_of(Date)
316-
expect(@test_result['date_test'].strftime("%Y-%m-%d")).to eql('2010-04-04')
311+
expect(test_result['date_test']).to be_an_instance_of(Date)
312+
expect(test_result['date_test'].strftime("%Y-%m-%d")).to eql('2010-04-04')
317313
end
318314

319315
it "should return String for an ENUM value" do
320-
expect(@test_result['enum_test']).to be_an_instance_of(String)
321-
expect(@test_result['enum_test']).to eql('val1')
316+
expect(test_result['enum_test']).to be_an_instance_of(String)
317+
expect(test_result['enum_test']).to eql('val1')
322318
end
323319

324320
it "should raise an error given an invalid DATETIME" do
@@ -352,8 +348,8 @@
352348
end
353349

354350
it "should return String for a SET value" do
355-
expect(@test_result['set_test']).to be_an_instance_of(String)
356-
expect(@test_result['set_test']).to eql('val1,val2')
351+
expect(test_result['set_test']).to be_an_instance_of(String)
352+
expect(test_result['set_test']).to eql('val1,val2')
357353
end
358354

359355
context "string encoding for SET values" do
@@ -382,8 +378,8 @@
382378
end
383379

384380
it "should return String for a BINARY value" do
385-
expect(@test_result['binary_test']).to be_an_instance_of(String)
386-
expect(@test_result['binary_test']).to eql("test#{"\000" * 6}")
381+
expect(test_result['binary_test']).to be_an_instance_of(String)
382+
expect(test_result['binary_test']).to eql("test#{"\000" * 6}")
387383
end
388384

389385
context "string encoding for BINARY values" do
@@ -421,8 +417,8 @@
421417
'long_text_test' => 'LONGTEXT',
422418
}.each do |field, type|
423419
it "should return a String for #{type}" do
424-
expect(@test_result[field]).to be_an_instance_of(String)
425-
expect(@test_result[field]).to eql("test")
420+
expect(test_result[field]).to be_an_instance_of(String)
421+
expect(test_result[field]).to eql("test")
426422
end
427423

428424
context "string encoding for #{type} values" do
@@ -474,18 +470,16 @@
474470
end
475471

476472
context "server flags" do
477-
before(:each) do
478-
@test_result = @client.query("SELECT * FROM mysql2_test ORDER BY null_test DESC LIMIT 1")
479-
end
473+
let(:test_result) { @client.query("SELECT * FROM mysql2_test ORDER BY null_test DESC LIMIT 1") }
480474

481475
it "should set a definitive value for query_was_slow" do
482-
expect(@test_result.server_flags[:query_was_slow]).to eql(false)
476+
expect(test_result.server_flags[:query_was_slow]).to eql(false)
483477
end
484478
it "should set a definitive value for no_index_used" do
485-
expect(@test_result.server_flags[:no_index_used]).to eql(true)
479+
expect(test_result.server_flags[:no_index_used]).to eql(true)
486480
end
487481
it "should set a definitive value for no_good_index_used" do
488-
expect(@test_result.server_flags[:no_good_index_used]).to eql(false)
482+
expect(test_result.server_flags[:no_good_index_used]).to eql(false)
489483
end
490484
end
491485
end

spec/mysql2/statement_spec.rb

Lines changed: 41 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -332,29 +332,26 @@ def stmt_count
332332
end
333333

334334
context "row data type mapping" do
335-
before(:each) do
336-
@client.query "USE test"
337-
@test_result = @client.prepare("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1").execute.first
338-
end
335+
let(:test_result) { @client.prepare("SELECT * FROM mysql2_test ORDER BY id DESC LIMIT 1").execute.first }
339336

340337
it "should return nil for a NULL value" do
341-
expect(@test_result['null_test']).to be_an_instance_of(NilClass)
342-
expect(@test_result['null_test']).to eql(nil)
338+
expect(test_result['null_test']).to be_an_instance_of(NilClass)
339+
expect(test_result['null_test']).to eql(nil)
343340
end
344341

345342
it "should return String for a BIT(64) value" do
346-
expect(@test_result['bit_test']).to be_an_instance_of(String)
347-
expect(@test_result['bit_test']).to eql("\000\000\000\000\000\000\000\005")
343+
expect(test_result['bit_test']).to be_an_instance_of(String)
344+
expect(test_result['bit_test']).to eql("\000\000\000\000\000\000\000\005")
348345
end
349346

350347
it "should return String for a BIT(1) value" do
351-
expect(@test_result['single_bit_test']).to be_an_instance_of(String)
352-
expect(@test_result['single_bit_test']).to eql("\001")
348+
expect(test_result['single_bit_test']).to be_an_instance_of(String)
349+
expect(test_result['single_bit_test']).to eql("\001")
353350
end
354351

355352
it "should return Fixnum for a TINYINT value" do
356-
expect(num_classes).to include(@test_result['tiny_int_test'].class)
357-
expect(@test_result['tiny_int_test']).to eql(1)
353+
expect(num_classes).to include(test_result['tiny_int_test'].class)
354+
expect(test_result['tiny_int_test']).to eql(1)
358355
end
359356

360357
context "cast booleans for TINYINT if :cast_booleans is enabled" do
@@ -399,48 +396,48 @@ def stmt_count
399396
end
400397

401398
it "should return Fixnum for a SMALLINT value" do
402-
expect(num_classes).to include(@test_result['small_int_test'].class)
403-
expect(@test_result['small_int_test']).to eql(10)
399+
expect(num_classes).to include(test_result['small_int_test'].class)
400+
expect(test_result['small_int_test']).to eql(10)
404401
end
405402

406403
it "should return Fixnum for a MEDIUMINT value" do
407-
expect(num_classes).to include(@test_result['medium_int_test'].class)
408-
expect(@test_result['medium_int_test']).to eql(10)
404+
expect(num_classes).to include(test_result['medium_int_test'].class)
405+
expect(test_result['medium_int_test']).to eql(10)
409406
end
410407

411408
it "should return Fixnum for an INT value" do
412-
expect(num_classes).to include(@test_result['int_test'].class)
413-
expect(@test_result['int_test']).to eql(10)
409+
expect(num_classes).to include(test_result['int_test'].class)
410+
expect(test_result['int_test']).to eql(10)
414411
end
415412

416413
it "should return Fixnum for a BIGINT value" do
417-
expect(num_classes).to include(@test_result['big_int_test'].class)
418-
expect(@test_result['big_int_test']).to eql(10)
414+
expect(num_classes).to include(test_result['big_int_test'].class)
415+
expect(test_result['big_int_test']).to eql(10)
419416
end
420417

421418
it "should return Fixnum for a YEAR value" do
422-
expect(num_classes).to include(@test_result['year_test'].class)
423-
expect(@test_result['year_test']).to eql(2009)
419+
expect(num_classes).to include(test_result['year_test'].class)
420+
expect(test_result['year_test']).to eql(2009)
424421
end
425422

426423
it "should return BigDecimal for a DECIMAL value" do
427-
expect(@test_result['decimal_test']).to be_an_instance_of(BigDecimal)
428-
expect(@test_result['decimal_test']).to eql(10.3)
424+
expect(test_result['decimal_test']).to be_an_instance_of(BigDecimal)
425+
expect(test_result['decimal_test']).to eql(10.3)
429426
end
430427

431428
it "should return Float for a FLOAT value" do
432-
expect(@test_result['float_test']).to be_an_instance_of(Float)
433-
expect(@test_result['float_test']).to be_within(1e-5).of(10.3)
429+
expect(test_result['float_test']).to be_an_instance_of(Float)
430+
expect(test_result['float_test']).to be_within(1e-5).of(10.3)
434431
end
435432

436433
it "should return Float for a DOUBLE value" do
437-
expect(@test_result['double_test']).to be_an_instance_of(Float)
438-
expect(@test_result['double_test']).to eql(10.3)
434+
expect(test_result['double_test']).to be_an_instance_of(Float)
435+
expect(test_result['double_test']).to eql(10.3)
439436
end
440437

441438
it "should return Time for a DATETIME value when within the supported range" do
442-
expect(@test_result['date_time_test']).to be_an_instance_of(Time)
443-
expect(@test_result['date_time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
439+
expect(test_result['date_time_test']).to be_an_instance_of(Time)
440+
expect(test_result['date_time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
444441
end
445442

446443
it "should return Time when timestamp is < 1901-12-13 20:45:52" do
@@ -454,23 +451,23 @@ def stmt_count
454451
end
455452

456453
it "should return Time for a TIMESTAMP value when within the supported range" do
457-
expect(@test_result['timestamp_test']).to be_an_instance_of(Time)
458-
expect(@test_result['timestamp_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
454+
expect(test_result['timestamp_test']).to be_an_instance_of(Time)
455+
expect(test_result['timestamp_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
459456
end
460457

461458
it "should return Time for a TIME value" do
462-
expect(@test_result['time_test']).to be_an_instance_of(Time)
463-
expect(@test_result['time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2000-01-01 11:44:00')
459+
expect(test_result['time_test']).to be_an_instance_of(Time)
460+
expect(test_result['time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2000-01-01 11:44:00')
464461
end
465462

466463
it "should return Date for a DATE value" do
467-
expect(@test_result['date_test']).to be_an_instance_of(Date)
468-
expect(@test_result['date_test'].strftime("%Y-%m-%d")).to eql('2010-04-04')
464+
expect(test_result['date_test']).to be_an_instance_of(Date)
465+
expect(test_result['date_test'].strftime("%Y-%m-%d")).to eql('2010-04-04')
469466
end
470467

471468
it "should return String for an ENUM value" do
472-
expect(@test_result['enum_test']).to be_an_instance_of(String)
473-
expect(@test_result['enum_test']).to eql('val1')
469+
expect(test_result['enum_test']).to be_an_instance_of(String)
470+
expect(test_result['enum_test']).to eql('val1')
474471
end
475472

476473
it "should raise an error given an invalid DATETIME" do
@@ -504,8 +501,8 @@ def stmt_count
504501
end
505502

506503
it "should return String for a SET value" do
507-
expect(@test_result['set_test']).to be_an_instance_of(String)
508-
expect(@test_result['set_test']).to eql('val1,val2')
504+
expect(test_result['set_test']).to be_an_instance_of(String)
505+
expect(test_result['set_test']).to eql('val1,val2')
509506
end
510507

511508
context "string encoding for SET values" do
@@ -534,8 +531,8 @@ def stmt_count
534531
end
535532

536533
it "should return String for a BINARY value" do
537-
expect(@test_result['binary_test']).to be_an_instance_of(String)
538-
expect(@test_result['binary_test']).to eql("test#{"\000" * 6}")
534+
expect(test_result['binary_test']).to be_an_instance_of(String)
535+
expect(test_result['binary_test']).to eql("test#{"\000" * 6}")
539536
end
540537

541538
context "string encoding for BINARY values" do
@@ -573,8 +570,8 @@ def stmt_count
573570
'long_text_test' => 'LONGTEXT',
574571
}.each do |field, type|
575572
it "should return a String for #{type}" do
576-
expect(@test_result[field]).to be_an_instance_of(String)
577-
expect(@test_result[field]).to eql("test")
573+
expect(test_result[field]).to be_an_instance_of(String)
574+
expect(test_result[field]).to eql("test")
578575
end
579576

580577
context "string encoding for #{type} values" do

0 commit comments

Comments
 (0)