#!/usr/bin/perl -T
our
$tests
;
BEGIN { ++
$INC
{
'tests.pm'
} }
sub
tests'VERSION {
$tests
+=
pop
};
plan
tests
=>
$tests
;
use_ok
'CSS::DOM::MediaList'
;
isa_ok +(
my
$ml
= new CSS::DOM::MediaList
'print'
,
'screen'
),
'CSS::DOM::MediaList'
;
is_deeply [
@$ml
], [
'print'
,
'screen'
],
'constructor args'
;
is mediaText
$ml
,
'print, screen'
,
'initial value of mediaText'
;
is +(mediaText
$ml
" \nscReen (big one),\xa0hologram-101 "
),
'print, screen'
,
'ret val of mediaText with args'
;
is_deeply [
@$ml
], [
'scReen'
,
'hologram-101'
],
'result of setting mediaText'
;
is
$ml
->
length
, 2,
'length'
;
is +(item
$ml
1),
'hologram-101'
,
'item'
;
is +()=
$ml
->deleteMedium(
'hologram-101'
), 0,
'ret val of deleteMedium'
;
is_deeply [
@$ml
], [
'scReen'
],
'effect of deleteMedium'
;
eval
{ deleteMedium
$ml
'foo'
};
isa_ok $@,
'CSS::DOM::Exception'
,
'$@ (after deleteMedium)'
;
cmp_ok $@,
'=='
,
&CSS::DOM::Exception::NOT_FOUND_ERR
,
'deleteMedium throws a "not found" error'
;
@$ml
=
qw[ foo bar baz ]
;
is +()=
$ml
->appendMedium(
'bop'
), 0,
'ret val of appendMedium'
;
is_deeply [
@$ml
], [
qw [
foo bar baz bop ]],
'effect thereof'
;
$ml
->appendMedium(
'bar'
);
is_deeply [
@$ml
], [
qw[ foo baz bop bar ]
],
'appendMedium deletes the item first'
;