#!/usr/bin/perl -T
our
$tests
;
BEGIN { ++
$INC
{
'tests.pm'
} }
sub
tests'VERSION {
$tests
+=
pop
};
plan
tests
=>
$tests
;
use_ok
'CSS::DOM'
;
isa_ok
my
$ss
= new CSS::DOM,
'CSS::DOM'
;
is
$ss
->type,
'text/css'
,
'type'
;
ok!
$ss
->disabled ,
'get disabled'
;
ok!
$ss
->disabled(1), ,
'set/get disabled'
;
ok
$ss
->disabled ,
'get disabled again'
;
$ss
->disabled(0);
{
is +()=ownerNode
$ss
, 0,
'null ownerNode in list context'
;
my
$foo
= [];
$ss
->set_ownerNode(
$foo
);
is
$ss
->ownerNode,
$foo
,
'ownerNode'
;
undef
$foo
;
is
$ss
->ownerNode,
undef
,
'ownerNode is a weak refeerenc'
;
(
my
$ss
= CSS::DOM::parse(
'@import "'
,
url_fetcher
=>
sub
{
''
}))
->set_ownerNode(
my
$thing
= []);
is +()=
$ss
->cssRules->[0]->styleSheet->ownerNode, 0,
'ownerNode of @import\' style sheet'
;
}
{
is +()=
$ss
->parentStyleSheet, 0,
'parentStyleSheet'
;
my
$ss
= CSS::DOM::parse(
'@import "'
,
url_fetcher
=>
sub
{
''
});
is
$ss
->cssRules->[0]->styleSheet->parentStyleSheet,
$ss
,
'parentStyleSheet of @import rule\'s sheet'
;
}
{
$ss
->set_href(
'eouvoenth'
);
is
$ss
->href,
'eouvoenth'
,
'href'
;
}
{
sub
foo'attr {
return
shift
->{+
shift
} }
$ss
->set_ownerNode(
my
$foo
=
bless
{
title
=>
'tilde'
},
'foo'
);
is
$ss
->title,
'tilde'
,
'title'
;
}
{
isa_ok
$ss
->media,
'CSS::DOM::MediaList'
;
$ss
->media->mediaText(
'screen, printer'
);
is_deeply [
$ss
->media], [
screen
=>
printer
=>],
'media in list context'
;
}