comparison _test/Test/DOM/Navigator.pm @ 11:75980091813b

DOM и навигация
author Sergey
date Wed, 02 Sep 2009 17:47:44 +0400
parents
children 7f00786f8210
comparison
equal deleted inserted replaced
10:63f6653b094e 11:75980091813b
1 package Test::DOM::Navigator;
2 use base qw(IMPL::Test::Unit);
3
4 __PACKAGE__->PassThroughArgs;
5
6 use IMPL::Test qw(test failed);
7 use IMPL::DOM::Navigator;
8 use IMPL::DOM::Node;
9
10 test Creation => sub {
11 my ($this) = @_;
12
13 my $doc = new IMPL::DOM::Node(nodeName => 'root');
14
15 my $obj = new IMPL::DOM::Navigator($doc) or failed "Failed to create instance" ;
16 };
17
18 test Navigate => sub {
19 my $doc = new IMPL::DOM::Node(nodeName => 'root');
20 my $child = $doc->insertNode(
21 new IMPL::DOM::Node(
22 nodeName => 'Child'
23 )
24 );
25
26 my $navi = new IMPL::DOM::Navigator($doc);
27 my $navresult = $navi->Navigate("Child");
28
29 failed ("Navigate retuned unexpected result", "Recieved: $navresult", "Expected: $child") if $child != $navresult;
30 my $curr = $navi->Current;
31 failed ("Current node has a wrong value","Current: $curr","Expected: $child") if $child != $curr;
32 };
33
34 test PathToString => sub {
35 my $doc = new IMPL::DOM::Node(nodeName => 'root');
36 my $child = $doc->insertNode(
37 new IMPL::DOM::Node(
38 nodeName => 'Child'
39 )
40 );
41
42 my $navi = new IMPL::DOM::Navigator($doc);
43 $navi->Navigate("Child");
44
45 my $expected = "root/Child";
46 my $res = $navi->PathToString;
47 failed("Unexpected PathToString result","Recieved: $res","Expected: $expected") if $res ne $expected;
48 };
49
50 test Back => sub {
51 my $doc = new IMPL::DOM::Node(nodeName => 'root');
52 my $child = $doc->insertNode(
53 new IMPL::DOM::Node(
54 nodeName => 'Child'
55 )
56 );
57
58 my $navi = new IMPL::DOM::Navigator($doc);
59 $navi->Navigate("Child");
60 my $navresult = $navi->Back;
61
62 failed ("Back() retuned unexpected result", "Recieved: $navresult", "Expected: $doc") if $doc != $navresult;
63 my $curr = $navi->Current;
64 failed ("Current node has a wrong value","Current: $curr","Expected: $doc") if $doc != $curr;
65 };
66
67
68
69
70
71 1;