|
107 | 107 | end
|
108 | 108 |
|
109 | 109 | 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") } |
113 | 111 |
|
114 | 112 | it "method should exist" do
|
115 |
| - expect(@test_result).to respond_to(:fields) |
| 113 | + expect(test_result).to respond_to(:fields) |
116 | 114 | end
|
117 | 115 |
|
118 | 116 | it "should return an array of field names in proper order" do
|
|
173 | 171 | end
|
174 | 172 |
|
175 | 173 | 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 } |
179 | 175 |
|
180 | 176 | it "should return nil values for NULL and strings for everything else when :cast is false" do
|
181 | 177 | 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 | 184 | end
|
189 | 185 |
|
190 | 186 | 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) |
193 | 189 | end
|
194 | 190 |
|
195 | 191 | 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") |
198 | 194 | end
|
199 | 195 |
|
200 | 196 | 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") |
203 | 199 | end
|
204 | 200 |
|
205 | 201 | 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) |
208 | 204 | end
|
209 | 205 |
|
210 | 206 | context "cast booleans for TINYINT if :cast_booleans is enabled" do
|
|
247 | 243 | end
|
248 | 244 |
|
249 | 245 | 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) |
252 | 248 | end
|
253 | 249 |
|
254 | 250 | 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) |
257 | 253 | end
|
258 | 254 |
|
259 | 255 | 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) |
262 | 258 | end
|
263 | 259 |
|
264 | 260 | 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) |
267 | 263 | end
|
268 | 264 |
|
269 | 265 | 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) |
272 | 268 | end
|
273 | 269 |
|
274 | 270 | 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) |
277 | 273 | end
|
278 | 274 |
|
279 | 275 | 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) |
282 | 278 | end
|
283 | 279 |
|
284 | 280 | 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) |
287 | 283 | end
|
288 | 284 |
|
289 | 285 | 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') |
292 | 288 | end
|
293 | 289 |
|
294 | 290 | it "should return Time when timestamp is < 1901-12-13 20:45:52" do
|
|
302 | 298 | end
|
303 | 299 |
|
304 | 300 | 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') |
307 | 303 | end
|
308 | 304 |
|
309 | 305 | 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') |
312 | 308 | end
|
313 | 309 |
|
314 | 310 | 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') |
317 | 313 | end
|
318 | 314 |
|
319 | 315 | 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') |
322 | 318 | end
|
323 | 319 |
|
324 | 320 | it "should raise an error given an invalid DATETIME" do
|
|
352 | 348 | end
|
353 | 349 |
|
354 | 350 | 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') |
357 | 353 | end
|
358 | 354 |
|
359 | 355 | context "string encoding for SET values" do
|
|
382 | 378 | end
|
383 | 379 |
|
384 | 380 | 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}") |
387 | 383 | end
|
388 | 384 |
|
389 | 385 | context "string encoding for BINARY values" do
|
|
421 | 417 | 'long_text_test' => 'LONGTEXT',
|
422 | 418 | }.each do |field, type|
|
423 | 419 | 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") |
426 | 422 | end
|
427 | 423 |
|
428 | 424 | context "string encoding for #{type} values" do
|
|
474 | 470 | end
|
475 | 471 |
|
476 | 472 | 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") } |
480 | 474 |
|
481 | 475 | 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) |
483 | 477 | end
|
484 | 478 | 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) |
486 | 480 | end
|
487 | 481 | 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) |
489 | 483 | end
|
490 | 484 | end
|
491 | 485 | end
|
0 commit comments