In Files

Parent

TC_MysqlRes

Public Instance Methods

setup() click to toggle source
     # File test.rb, line 213
213:   def setup()
214:     @host, @user, @pass, db, port, sock, flag = ARGV
215:     @db = db || "test"
216:     @port = port.to_i
217:     @sock = sock.nil? || sock.empty? ? nil : sock
218:     @flag = flag.to_i
219:     @m = Mysql.new(@host, @user, @pass, @db, @port, @sock, @flag)
220:     @m.query("create temporary table t (id int, str char(10), primary key (id))")
221:     @m.query("insert into t values (1, 'abc'), (2, 'defg'), (3, 'hi'), (4, null)")
222:     @res = @m.query("select * from t")
223:   end
teardown() click to toggle source
     # File test.rb, line 224
224:   def teardown()
225:     @res.free
226:     @m.close
227:   end
test_data_seek() click to toggle source
     # File test.rb, line 275
275:   def test_data_seek()
276:     assert_equal(["1","abc"], @res.fetch_row)
277:     assert_equal(["2","defg"], @res.fetch_row)
278:     assert_equal(["3","hi"], @res.fetch_row)
279:     @res.data_seek(1)
280:     assert_equal(["2","defg"], @res.fetch_row)
281:   end
test_each() click to toggle source
     # File test.rb, line 261
261:   def test_each()
262:     ary = [["1","abc"], ["2","defg"], ["3","hi"], ["4",nil]]
263:     @res.each do |a|
264:       assert_equal(ary.shift, a)
265:     end
266:   end
test_each_hash() click to toggle source
     # File test.rb, line 268
268:   def test_each_hash()
269:     hash = [{"id"=>"1","str"=>"abc"}, {"id"=>"2","str"=>"defg"}, {"id"=>"3","str"=>"hi"}, {"id"=>"4","str"=>nil}]
270:     @res.each_hash do |h|
271:       assert_equal(hash.shift, h)
272:     end
273:   end
test_fetch_field() click to toggle source
     # File test.rb, line 302
302:   def test_fetch_field()
303:     f = @res.fetch_field
304:     assert_equal("id", f.name)
305:     assert_equal("t", f.table)
306:     assert_equal(nil, f.def)
307:     assert_equal(Mysql::Field::TYPE_LONG, f.type)
308:     assert_equal(11, f.length)
309:     assert_equal(1, f.max_length)
310:     assert_equal(Mysql::Field::NUM_FLAG|Mysql::Field::PRI_KEY_FLAG|Mysql::Field::PART_KEY_FLAG|Mysql::Field::NOT_NULL_FLAG, f.flags)
311:     assert_equal(0, f.decimals)
312:     f = @res.fetch_field
313:     assert_equal("str", f.name)
314:     assert_equal("t", f.table)
315:     assert_equal(nil, f.def)
316:     assert_equal(Mysql::Field::TYPE_STRING, f.type)
317:     assert_equal(10, f.length)
318:     assert_equal(4, f.max_length)
319:     assert_equal(0, f.flags)
320:     assert_equal(0, f.decimals)
321:     f = @res.fetch_field
322:     assert_equal(nil, f)
323:   end
test_fetch_field_direct() click to toggle source
     # File test.rb, line 332
332:   def test_fetch_field_direct()
333:     f = @res.fetch_field_direct(0)
334:     assert_equal("id", f.name)
335:     f = @res.fetch_field_direct(1)
336:     assert_equal("str", f.name)
337:     assert_raises(Mysql::Error){@res.fetch_field_direct(1)}
338:     assert_raises(Mysql::Error){@res.fetch_field_direct(2)}
339:   end
test_fetch_fields() click to toggle source
     # File test.rb, line 325
325:   def test_fetch_fields()
326:     a = @res.fetch_fields
327:     assert_equal(2, a.size)
328:     assert_equal("id", a[0].name)
329:     assert_equal("str", a[1].name)
330:   end
test_fetch_hash() click to toggle source
     # File test.rb, line 245
245:   def test_fetch_hash()
246:     assert_equal({"id"=>"1", "str"=>"abc"}, @res.fetch_hash)
247:     assert_equal({"id"=>"2", "str"=>"defg"}, @res.fetch_hash)
248:     assert_equal({"id"=>"3", "str"=>"hi"}, @res.fetch_hash)
249:     assert_equal({"id"=>"4", "str"=>nil}, @res.fetch_hash)
250:     assert_equal(nil, @res.fetch_hash)
251:   end
test_fetch_hash2() click to toggle source
     # File test.rb, line 253
253:   def test_fetch_hash2()
254:     assert_equal({"t.id"=>"1", "t.str"=>"abc"}, @res.fetch_hash(true))
255:     assert_equal({"t.id"=>"2", "t.str"=>"defg"}, @res.fetch_hash(true))
256:     assert_equal({"t.id"=>"3", "t.str"=>"hi"}, @res.fetch_hash(true))
257:     assert_equal({"t.id"=>"4", "t.str"=>nil}, @res.fetch_hash(true))
258:     assert_equal(nil, @res.fetch_hash)
259:   end
test_fetch_lengths() click to toggle source
     # File test.rb, line 341
341:   def test_fetch_lengths()
342:     assert_equal(nil,  @res.fetch_lengths())
343:     @res.fetch_row
344:     assert_equal([1, 3],  @res.fetch_lengths())
345:     @res.fetch_row
346:     assert_equal([1, 4],  @res.fetch_lengths())
347:     @res.fetch_row
348:     assert_equal([1, 2],  @res.fetch_lengths())
349:     @res.fetch_row
350:     assert_equal([1, 0],  @res.fetch_lengths())
351:     @res.fetch_row
352:     assert_equal(nil,  @res.fetch_lengths())
353:   end
test_fetch_row() click to toggle source
     # File test.rb, line 237
237:   def test_fetch_row()
238:     assert_equal(["1","abc"], @res.fetch_row)
239:     assert_equal(["2","defg"], @res.fetch_row)
240:     assert_equal(["3","hi"], @res.fetch_row)
241:     assert_equal(["4",nil], @res.fetch_row)
242:     assert_equal(nil, @res.fetch_row)
243:   end
test_field_hash() click to toggle source
     # File test.rb, line 355
355:   def test_field_hash()
356:     f = @res.fetch_field
357:     h = {
358:       "name" => "id",
359:       "table" => "t",
360:       "def" => nil,
361:       "type" => Mysql::Field::TYPE_LONG,
362:       "length" => 11,
363:       "max_length" => 1,
364:       "flags" => Mysql::Field::NUM_FLAG|Mysql::Field::PRI_KEY_FLAG|Mysql::Field::PART_KEY_FLAG|Mysql::Field::NOT_NULL_FLAG,
365:       "decimals" => 0,
366:     }
367:     assert_equal(h, f.hash)
368:     f = @res.fetch_field
369:     h = {
370:       "name" => "str",
371:       "table" => "t",
372:       "def" => nil,
373:       "type" => Mysql::Field::TYPE_STRING,
374:       "length" => 10,
375:       "max_length" => 4,
376:       "flags" => 0,
377:       "decimals" => 0,
378:     }
379:     assert_equal(h, f.hash)
380:   end
test_field_inspect() click to toggle source
     # File test.rb, line 382
382:   def test_field_inspect()
383:     f = @res.fetch_field
384:     assert_equal("#<Mysql::Field:id>", f.inspect)
385:     f = @res.fetch_field
386:     assert_equal("#<Mysql::Field:str>", f.inspect)
387:   end
test_field_seek() click to toggle source
     # File test.rb, line 292
292:   def test_field_seek()
293:     assert_equal(0, @res.field_tell)
294:     @res.fetch_field
295:     assert_equal(1, @res.field_tell)
296:     @res.fetch_field
297:     assert_equal(2, @res.field_tell)
298:     @res.field_seek(1)
299:     assert_equal(1, @res.field_tell)
300:   end
test_is_not_null() click to toggle source
     # File test.rb, line 396
396:   def test_is_not_null()
397:     f = @res.fetch_field
398:     assert_equal(true, f.is_not_null?)
399:     f = @res.fetch_field
400:     assert_equal(false, f.is_not_null?)
401:   end
test_is_num() click to toggle source
     # File test.rb, line 389
389:   def test_is_num()
390:     f = @res.fetch_field
391:     assert_equal(true, f.is_num?)
392:     f = @res.fetch_field
393:     assert_equal(false, f.is_num?)
394:   end
test_is_pri_key() click to toggle source
     # File test.rb, line 403
403:   def test_is_pri_key()
404:     f = @res.fetch_field
405:     assert_equal(true, f.is_pri_key?)
406:     f = @res.fetch_field
407:     assert_equal(false, f.is_pri_key?)
408:   end
test_num_fields() click to toggle source
     # File test.rb, line 229
229:   def test_num_fields()
230:     assert_equal(2, @res.num_fields)
231:   end
test_num_rows() click to toggle source
     # File test.rb, line 233
233:   def test_num_rows()
234:     assert_equal(4, @res.num_rows)
235:   end
test_row_seek() click to toggle source
     # File test.rb, line 283
283:   def test_row_seek()
284:     assert_equal(["1","abc"], @res.fetch_row)
285:     pos = @res.row_tell
286:     assert_equal(["2","defg"], @res.fetch_row)
287:     assert_equal(["3","hi"], @res.fetch_row)
288:     @res.row_seek(pos)
289:     assert_equal(["2","defg"], @res.fetch_row)
290:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.