if(File::exists?("../ext/rb_cdio.so")) require "../ext/rb_cdio" else require 'rubygems' require_gem "rb_cdio",">=0.2" end require 'test/unit' class Testcdda < Test::Unit::TestCase def setup @cd=CdIo.open("/dev/cdrom") end def testisaudio assert(@cd.discmode==CdIo::CDIO_DISC_MODE_CD_DA,"Please, use a Cd audio") end def testsubchannel assert(@cd.subchannel,"Can't get subchannel information") end def teststop begin @cd.stop assert(@cd.subchannel['audio_status']==CdIo::Cdda::SUB_ST_NO_STATUS,"Can get status for stop") rescue => e assert(false,"Can't stop "+e) end end def testplaypauseresume begin @cd.play assert(@cd.subchannel['audio_status']==CdIo::Cdda::SUB_ST_PLAY,"Can get status for play") rescue => e assert(false,"Can't play "+e) end begin @cd.pause assert(@cd.subchannel['audio_status']==CdIo::Cdda::SUB_ST_PAUSED,"Can get status for pause") rescue => e assert(false,"Can't pause "+e) end begin @cd.resume assert(@cd.subchannel['audio_status']==CdIo::Cdda::SUB_ST_PLAY,"Can get status for resumed reproduction") rescue => e assert(false,"Can't resume "+e) end end def testcddb_matches begin assert(@cd.cddb_matches.kind_of?(Array),"Matches aren't Array") rescue => e assert(false,"Error on retrieving matches "+e) end end def testcddb_fetch begin assert_nil(@cd.artist,"Without init, artist must be nil") assert_nil(@cd.title,"Without init, title must be nil") assert(@cd.cddb_fetch(1),"Can't fetch") assert_not_nil(@cd.artist,"Can't fetch artist") assert_not_nil(@cd.title,"Can't fetch title") assert_not_nil(@cd.year,"Can't fetch year") assert_not_nil(@cd.length,"Can't fetch length") assert_not_nil(@cd.genre,"Can't fetch genre") assert_not_nil(@cd.category,"Can't fetch category") t=@cd.tracks[1] assert_not_nil(t.artist,"Can't fetch track artist") assert_not_nil(t.title,"Can't fetch track title") rescue => e assert(false,"Error on fetch information "+e) end end end