3
use strict; use warnings;
5
BEGIN { ++$INC{'tests.pm'} }
6
sub tests'VERSION { $tests += pop };
13
use tests 1; # constructor
14
isa_ok my $ss = new CSS::DOM, 'CSS::DOM';
17
is $ss->type, 'text/css', 'type';
19
use tests 3; # disabled
20
ok!$ss->disabled , 'get disabled';
21
ok!$ss->disabled(1), , 'set/get disabled';
22
ok $ss->disabled , 'get disabled again';
25
use tests 4; # (set_)ownerNode
27
is +()=ownerNode $ss, 0, 'null ownerNode in list context';
30
$ss->set_ownerNode($foo);
31
is $ss->ownerNode, $foo, 'ownerNode';
33
is $ss->ownerNode, undef, 'ownerNode is a weak refeerenc';
35
(my $ss = CSS::DOM::parse('@import "',url_fetcher=>sub{''}))
36
->set_ownerNode(my $thing = []);
37
is +()=$ss->cssRules->[0]->styleSheet->ownerNode, 0,
38
'ownerNode of @import\' style sheet';
41
use tests 2; # parentStyleSheet
43
is +()=$ss->parentStyleSheet, 0, 'parentStyleSheet';
45
my $ss = CSS::DOM::parse('@import "', url_fetcher=>sub{''});
46
is $ss->cssRules->[0]->styleSheet->parentStyleSheet, $ss,
47
'parentStyleSheet of @import rule\'s sheet';
50
use tests 1; # (set_)href
52
$ss->set_href('eouvoenth');
53
is $ss->href, 'eouvoenth', 'href';
58
sub foo'attr { return shift->{+shift} }
59
$ss->set_ownerNode(my $foo = bless {title => 'tilde'}, 'foo');
60
is $ss->title, 'tilde', 'title';
65
isa_ok $ss->media, 'CSS::DOM::MediaList';
66
$ss->media->mediaText('screen, printer');
67
is_deeply [$ss->media], [screen=>printer=>],
68
'media in list context';