File: 11.dev.t

package info (click to toggle)
libdevice-cdio-perl 0.3.0-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,248 kB
  • ctags: 2,564
  • sloc: ansic: 11,536; perl: 4,027; makefile: 69; sh: 3
file content (63 lines) | stat: -rw-r--r-- 2,202 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env perl
# Test device operations
# No assumption about the CD-ROM drives is made, so
# we're just going to run operations and see that they
# don't crash.

use strict;
use warnings;
use lib '../lib';
use blib;

use Device::Cdio;
use Device::Cdio::Device;
use Test::More;

#should be imported from Build.PL or ...
my $device = '/dev/cdrom';

plan skip_all => "No device '$device' found" unless -e $device;

note 'Test running audio device operations';

my $dev = Device::Cdio::Device->new(-driver_id=>$perlcdio::DRIVER_DEVICE);
ok ( defined $dev , 'Device::Cdio::Device->new(-driver_id=>$perlcdio::DRIVER_DEVICE)');
my $drive_name = $dev->get_device();
note('Device->new(DRIVER_DEVICE)((i.e.:',$perlcdio::DRIVER_DEVICE,')) found: ',$drive_name);

#my @drives = Device::Cdio::get_devices_with_cap(
#       -capabilities => $perlcdio::FS_AUDIO,
#       -any=>0);
my @drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
SKIP : {
    my @hwinfo = $dev->get_hwinfo;
    ok ( $hwinfo[3] , 'Device::Cdio::Device->get_hwinfo');
    note("Testing ", $device, ' ', $hwinfo[0],' ',$hwinfo[1]);

    my ($vols,$rcv) =$dev->audio_get_volume;
    ok ( $rcv == 0 , 'Device::Cdio::Device->audio_get_volume');
    note('Volume was set to ',join(', ',@$vols));

    $dev->audio_set_volume(-1,-1,-1,-1);
    my ($nvols, $mvols);
    ($nvols,$rcv) =$dev->audio_get_volume;
    is_deeply($vols, $nvols, "audio_set_volume keep values");
    $dev->audio_set_volume(255,255);
    ($mvols,$rcv) =$dev->audio_get_volume;
    @$nvols[0] = 255; @$nvols[1] = 255;
    is_deeply($mvols, $nvols, "audio_set_volume 2 channels");

    $dev->audio_set_volume(100,100,-1,255);
    ($mvols,$rcv) =$dev->audio_get_volume;
    @$nvols[0] = 100; @$nvols[1] = 100; @$nvols[3] = 255;
    my $c4 = eq_array ($mvols, $nvols) || note('4 channels are not supported: ',join(', ',@$mvols));
    $dev->audio_set_volume(@$vols[0], @$vols[1], @$vols[2], @$vols[3]);
    ($mvols,$rcv) =$dev->audio_get_volume;
    is_deeply($mvols, $vols, "audio_set_volume reset");

  SKIP2: {
      skip '4 volume channels are not supported', 1, unless $c4 ;
      is_deeply($mvols, $nvols, "audio_set_volume 4 channels");
    }
}
done_testing();