Skip to content

Commit d771ca4

Browse files
committed
Merge pull request #666 from tamird/rspec-better-matcher
cleanup: use rspec's type matcher
2 parents 063f4b2 + cc4c63d commit d771ca4

File tree

3 files changed

+64
-64
lines changed

3 files changed

+64
-64
lines changed

spec/mysql2/client_spec.rb

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,12 @@ def connect *args
140140
results = ssl_client.query("SHOW STATUS WHERE Variable_name = \"Ssl_version\" OR Variable_name = \"Ssl_cipher\"").to_a
141141
expect(results[0]['Variable_name']).to eql('Ssl_cipher')
142142
expect(results[0]['Value']).not_to be_nil
143-
expect(results[0]['Value']).to be_kind_of(String)
143+
expect(results[0]['Value']).to be_an_instance_of(String)
144144
expect(results[0]['Value']).not_to be_empty
145145

146146
expect(results[1]['Variable_name']).to eql('Ssl_version')
147147
expect(results[1]['Value']).not_to be_nil
148-
expect(results[1]['Value']).to be_kind_of(String)
148+
expect(results[1]['Value']).to be_an_instance_of(String)
149149
expect(results[1]['Value']).not_to be_empty
150150

151151
ssl_client.close
@@ -382,16 +382,16 @@ def run_gc
382382
end
383383

384384
it "should return results as a hash by default" do
385-
expect(@client.query("SELECT 1").first.class).to eql(Hash)
385+
expect(@client.query("SELECT 1").first).to be_an_instance_of(Hash)
386386
end
387387

388388
it "should be able to return results as an array" do
389-
expect(@client.query("SELECT 1", :as => :array).first.class).to eql(Array)
389+
expect(@client.query("SELECT 1", :as => :array).first).to be_an_instance_of(Array)
390390
@client.query("SELECT 1").each(:as => :array)
391391
end
392392

393393
it "should be able to return results with symbolized keys" do
394-
expect(@client.query("SELECT 1", :symbolize_keys => true).first.keys[0].class).to eql(Symbol)
394+
expect(@client.query("SELECT 1", :symbolize_keys => true).first.keys[0]).to be_an_instance_of(Symbol)
395395
end
396396

397397
it "should require an open connection" do
@@ -454,7 +454,7 @@ def run_gc
454454
end
455455

456456
it "#socket should return a Fixnum (file descriptor from C)" do
457-
expect(@client.socket.class).to eql(Fixnum)
457+
expect(@client.socket).to be_an_instance_of(Fixnum)
458458
expect(@client.socket).not_to eql(0)
459459
end
460460

@@ -545,7 +545,7 @@ def run_gc
545545
expect(loops >= 1).to be true
546546

547547
result = @client.async_result
548-
expect(result.class).to eql(Mysql2::Result)
548+
expect(result).to be_an_instance_of(Mysql2::Result)
549549
end
550550
end
551551

@@ -727,11 +727,11 @@ def run_gc
727727

728728
it "#info should return a hash containing the client version ID and String" do
729729
info = @client.info
730-
expect(info.class).to eql(Hash)
730+
expect(info).to be_an_instance_of(Hash)
731731
expect(info).to have_key(:id)
732-
expect(info[:id].class).to eql(Fixnum)
732+
expect(info[:id]).to be_an_instance_of(Fixnum)
733733
expect(info).to have_key(:version)
734-
expect(info[:version].class).to eql(String)
734+
expect(info[:version]).to be_an_instance_of(String)
735735
end
736736

737737
context "strings returned by #info" do
@@ -758,11 +758,11 @@ def run_gc
758758

759759
it "#server_info should return a hash containing the client version ID and String" do
760760
server_info = @client.server_info
761-
expect(server_info.class).to eql(Hash)
761+
expect(server_info).to be_an_instance_of(Hash)
762762
expect(server_info).to have_key(:id)
763-
expect(server_info[:id].class).to eql(Fixnum)
763+
expect(server_info[:id]).to be_an_instance_of(Fixnum)
764764
expect(server_info).to have_key(:version)
765-
expect(server_info[:version].class).to eql(String)
765+
expect(server_info[:version]).to be_an_instance_of(String)
766766
end
767767

768768
it "#server_info should require an open connection" do
@@ -851,7 +851,7 @@ def run_gc
851851
end
852852

853853
it "#thread_id should be a Fixnum" do
854-
expect(@client.thread_id.class).to eql(Fixnum)
854+
expect(@client.thread_id).to be_an_instance_of(Fixnum)
855855
end
856856

857857
it "should respond to #ping" do

spec/mysql2/result_spec.rb

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,19 @@
5353
context "#each" do
5454
it "should yield rows as hash's" do
5555
@result.each do |row|
56-
expect(row.class).to eql(Hash)
56+
expect(row).to be_an_instance_of(Hash)
5757
end
5858
end
5959

6060
it "should yield rows as hash's with symbol keys if :symbolize_keys was set to true" do
6161
@result.each(:symbolize_keys => true) do |row|
62-
expect(row.keys.first.class).to eql(Symbol)
62+
expect(row.keys.first).to be_an_instance_of(Symbol)
6363
end
6464
end
6565

6666
it "should be able to return results as an array" do
6767
@result.each(:as => :array) do |row|
68-
expect(row.class).to eql(Array)
68+
expect(row).to be_an_instance_of(Array)
6969
end
7070
end
7171

@@ -182,17 +182,17 @@
182182
end
183183

184184
it "should return nil for a NULL value" do
185-
expect(@test_result['null_test'].class).to eql(NilClass)
185+
expect(@test_result['null_test']).to be_an_instance_of(NilClass)
186186
expect(@test_result['null_test']).to eql(nil)
187187
end
188188

189189
it "should return String for a BIT(64) value" do
190-
expect(@test_result['bit_test'].class).to eql(String)
190+
expect(@test_result['bit_test']).to be_an_instance_of(String)
191191
expect(@test_result['bit_test']).to eql("\000\000\000\000\000\000\000\005")
192192
end
193193

194194
it "should return String for a BIT(1) value" do
195-
expect(@test_result['single_bit_test'].class).to eql(String)
195+
expect(@test_result['single_bit_test']).to be_an_instance_of(String)
196196
expect(@test_result['single_bit_test']).to eql("\001")
197197
end
198198

@@ -259,22 +259,22 @@
259259
end
260260

261261
it "should return BigDecimal for a DECIMAL value" do
262-
expect(@test_result['decimal_test'].class).to eql(BigDecimal)
262+
expect(@test_result['decimal_test']).to be_an_instance_of(BigDecimal)
263263
expect(@test_result['decimal_test']).to eql(10.3)
264264
end
265265

266266
it "should return Float for a FLOAT value" do
267-
expect(@test_result['float_test'].class).to eql(Float)
267+
expect(@test_result['float_test']).to be_an_instance_of(Float)
268268
expect(@test_result['float_test']).to eql(10.3)
269269
end
270270

271271
it "should return Float for a DOUBLE value" do
272-
expect(@test_result['double_test'].class).to eql(Float)
272+
expect(@test_result['double_test']).to be_an_instance_of(Float)
273273
expect(@test_result['double_test']).to eql(10.3)
274274
end
275275

276276
it "should return Time for a DATETIME value when within the supported range" do
277-
expect(@test_result['date_time_test'].class).to eql(Time)
277+
expect(@test_result['date_time_test']).to be_an_instance_of(Time)
278278
expect(@test_result['date_time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
279279
end
280280

@@ -288,60 +288,60 @@
288288
it "should return DateTime when timestamp is < 1901-12-13 20:45:52" do
289289
# 1901-12-13T20:45:52 is the min for 32bit Ruby 1.8
290290
r = @client.query("SELECT CAST('1901-12-13 20:45:51' AS DATETIME) as test")
291-
expect(r.first['test'].class).to eql(klass)
291+
expect(r.first['test']).to be_an_instance_of(klass)
292292
end
293293

294294
it "should return DateTime when timestamp is > 2038-01-19T03:14:07" do
295295
# 2038-01-19T03:14:07 is the max for 32bit Ruby 1.8
296296
r = @client.query("SELECT CAST('2038-01-19 03:14:08' AS DATETIME) as test")
297-
expect(r.first['test'].class).to eql(klass)
297+
expect(r.first['test']).to be_an_instance_of(klass)
298298
end
299299
elsif 1.size == 8 # 64bit
300300
unless RUBY_VERSION =~ /1.8/
301301
it "should return Time when timestamp is < 1901-12-13 20:45:52" do
302302
r = @client.query("SELECT CAST('1901-12-13 20:45:51' AS DATETIME) as test")
303-
expect(r.first['test'].class).to eql(Time)
303+
expect(r.first['test']).to be_an_instance_of(Time)
304304
end
305305

306306
it "should return Time when timestamp is > 2038-01-19T03:14:07" do
307307
r = @client.query("SELECT CAST('2038-01-19 03:14:08' AS DATETIME) as test")
308-
expect(r.first['test'].class).to eql(Time)
308+
expect(r.first['test']).to be_an_instance_of(Time)
309309
end
310310
else
311311
it "should return Time when timestamp is > 0138-12-31 11:59:59" do
312312
r = @client.query("SELECT CAST('0139-1-1 00:00:00' AS DATETIME) as test")
313-
expect(r.first['test'].class).to eql(Time)
313+
expect(r.first['test']).to be_an_instance_of(Time)
314314
end
315315

316316
it "should return DateTime when timestamp is < 0139-1-1T00:00:00" do
317317
r = @client.query("SELECT CAST('0138-12-31 11:59:59' AS DATETIME) as test")
318-
expect(r.first['test'].class).to eql(DateTime)
318+
expect(r.first['test']).to be_an_instance_of(DateTime)
319319
end
320320

321321
it "should return Time when timestamp is > 2038-01-19T03:14:07" do
322322
r = @client.query("SELECT CAST('2038-01-19 03:14:08' AS DATETIME) as test")
323-
expect(r.first['test'].class).to eql(Time)
323+
expect(r.first['test']).to be_an_instance_of(Time)
324324
end
325325
end
326326
end
327327

328328
it "should return Time for a TIMESTAMP value when within the supported range" do
329-
expect(@test_result['timestamp_test'].class).to eql(Time)
329+
expect(@test_result['timestamp_test']).to be_an_instance_of(Time)
330330
expect(@test_result['timestamp_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2010-04-04 11:44:00')
331331
end
332332

333333
it "should return Time for a TIME value" do
334-
expect(@test_result['time_test'].class).to eql(Time)
334+
expect(@test_result['time_test']).to be_an_instance_of(Time)
335335
expect(@test_result['time_test'].strftime("%Y-%m-%d %H:%M:%S")).to eql('2000-01-01 11:44:00')
336336
end
337337

338338
it "should return Date for a DATE value" do
339-
expect(@test_result['date_test'].class).to eql(Date)
339+
expect(@test_result['date_test']).to be_an_instance_of(Date)
340340
expect(@test_result['date_test'].strftime("%Y-%m-%d")).to eql('2010-04-04')
341341
end
342342

343343
it "should return String for an ENUM value" do
344-
expect(@test_result['enum_test'].class).to eql(String)
344+
expect(@test_result['enum_test']).to be_an_instance_of(String)
345345
expect(@test_result['enum_test']).to eql('val1')
346346
end
347347

@@ -379,7 +379,7 @@
379379
end
380380

381381
it "should return String for a SET value" do
382-
expect(@test_result['set_test'].class).to eql(String)
382+
expect(@test_result['set_test']).to be_an_instance_of(String)
383383
expect(@test_result['set_test']).to eql('val1,val2')
384384
end
385385

@@ -412,7 +412,7 @@
412412
end
413413

414414
it "should return String for a BINARY value" do
415-
expect(@test_result['binary_test'].class).to eql(String)
415+
expect(@test_result['binary_test']).to be_an_instance_of(String)
416416
expect(@test_result['binary_test']).to eql("test#{"\000"*6}")
417417
end
418418

@@ -453,7 +453,7 @@
453453
'long_text_test' => 'LONGTEXT'
454454
}.each do |field, type|
455455
it "should return a String for #{type}" do
456-
expect(@test_result[field].class).to eql(String)
456+
expect(@test_result[field]).to be_an_instance_of(String)
457457
expect(@test_result[field]).to eql("test")
458458
end
459459

0 commit comments

Comments
 (0)