Xmms-Perl

 view release on metacpan or  search on metacpan

test.pl  view on Meta::CPAN

use strict;
use ExtUtils::testlib;
use Xmms ();
use Xmms::Remote ();
use Xmms::Config ();
use Test;
use Cwd qw(fastcwd);

my $pwd = fastcwd;

my $remote = Xmms::Remote->new;
my $config = Xmms::Config->new(Xmms::Config->file);

my $Pid = 0;
unless ($remote->is_running) {
    exec "xmms" unless $Pid = fork;
    sleep 1;
}

my $op = $config->read(xmms => 'output_plugin');

if ($op =~ /disk_writer/) {
    print <<EOF;
Your Output plugin is set to disk_writer, which is probably not what you want.
I\'ll pop up the preferences window for you to change.
Afterwards, close xmms and run 'make test' again.
EOF
    $remote->show_prefs_box;
    print "1..0\n";
    exit;
}

unless ($remote->get_version) {
    print "1..0\n";
    exit;
}

plan tests => 10;

ok $remote->is_running;
ok $remote->get_version;

my $orig_files = $remote->get_playlist_files;
my $orig_pos = $remote->get_playlist_pos;
my $orig_time = $remote->get_output_time;

if ($remote->is_playing) {
    #$remote->stop;
}

$remote->playlist_clear;
Xmms::sleep(0.25);
$remote->playlist([map { "$pwd/test$_.mp3" } (1..3)]);
Xmms::sleep(0.25);

#$remote->set_playlist_pos(0);
$remote->play;

ok $remote->get_playlist_length;
#ok $remote->get_playlist_pos;

my($vl, $vr) = $remote->get_volume;
$remote->set_main_volume(25);
ok $vl;
ok $vr;
if ($remote->is_repeat) {
    $remote->toggle_repeat;
}
if ($remote->is_shuffle) {
    $remote->toggle_shuffle;
}

sleep 1;

my($rate, $freq, $nch) = $remote->get_info;
#ok ($rate && $freq && $nch) || 1; #hmm
ok $remote->get_playlist_file(0);
ok $remote->get_playlist_time(0);

#$remote->set_volume($vl, $vr);

my $b = $remote->get_balance;

my $skin = $remote->get_skin;

for (1, 0) {
    #$remote->toggle_aot($_);
}



( run in 1.051 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )