#!perl -T
use Test::More;
use Device::USB;
use strict;
use warnings;
my $usb = Device::USB->new();
if(defined $usb)
{
my @devices = $usb->list_devices();
my $num_configs = 0;
$num_configs += $_->bNumConfigurations() foreach @devices;
plan tests => 1 + $num_configs*2;
}
else
{
fail( "Unable to create USB object." );
}
my $busses = $usb->list_busses();
ok( defined $busses, "USB busses found" );
foreach my $bus (@{$busses})
{
foreach my $dev (@{$bus->devices()})
{
my @configs = $dev->configurations();
my $num_configs = $dev->bNumConfigurations() - 1;
foreach my $i (0..$num_configs)
{
is( $dev->get_configuration( $i ), $configs[$i], "Positive index" );
is( $dev->get_configuration( -$i ), $configs[-$i], "Negative index" );
}
}
}