~ubuntu-branches/ubuntu/oneiric/libxml-tokeparser-perl/oneiric

« back to all changes in this revision

Viewing changes to t/1.normal.t

  • Committer: Bazaar Package Importer
  • Author(s): Nathan Scott
  • Date: 2010-10-03 11:00:36 UTC
  • Revision ID: james.westby@ubuntu.com-20101003110036-s82cygco63wsfqp9
Tags: upstream-0.05
ImportĀ upstreamĀ versionĀ 0.05

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Before `make install' is performed this script should be runnable with
 
2
# `make test'. After `make install' it should work as `perl test.pl'
 
3
#print "#",q[],"\n";
 
4
#print "#",q[],"\n";
 
5
#print "#",q[],"\n";
 
6
 
 
7
use Test;
 
8
BEGIN { plan tests => 34, todo => [] }
 
9
 
 
10
use XML::TokeParser;
 
11
 
 
12
ok(1);
 
13
 
 
14
#parse from file
 
15
my $p = XML::TokeParser->new('TokeParser.xml');
 
16
 
 
17
ok($p);
 
18
 
 
19
my @tokens = (
 
20
          [
 
21
            'S',
 
22
            qq[\Q<pod xmlns="http://axkit.org/ns/2000/pod2xml">]
 
23
          ],
 
24
          [
 
25
            'T',
 
26
            '\s+'
 
27
          ],
 
28
          [
 
29
            'S',
 
30
            qq[\Q<head>]
 
31
          ],
 
32
          [
 
33
            'T',
 
34
            '\s+'
 
35
          ],
 
36
          [
 
37
            'S',
 
38
            qq[\Q<title>]
 
39
          ],
 
40
          [
 
41
            'T',
 
42
            qq[\QXML::TokeParser - Simplified interface to XML::Parser]
 
43
          ],
 
44
          [
 
45
            'E',
 
46
            qq[\Q</title>]
 
47
          ],
 
48
          [
 
49
            'T',
 
50
            '\s+'
 
51
          ],
 
52
          [
 
53
            'E',
 
54
            qq[\Q</head>]
 
55
          ],
 
56
          [
 
57
            'T',
 
58
            '\s+'
 
59
          ],
 
60
          [
 
61
            'S',
 
62
            qq[\Q<sect1>]
 
63
          ],
 
64
          [
 
65
            'T',
 
66
            '\s+'
 
67
          ],
 
68
          [
 
69
            'S',
 
70
            qq[\Q<title>]
 
71
          ],
 
72
          [
 
73
            'T',
 
74
            qq[\QSYNOPSIS]
 
75
          ],
 
76
          [
 
77
            'E',
 
78
            qq[\Q</title>]
 
79
          ],
 
80
          [
 
81
            'T',
 
82
            '\s+'
 
83
          ],
 
84
          [
 
85
            'S',
 
86
            qq[\Q<verbatim>]
 
87
          ],
 
88
          [
 
89
            'T',
 
90
            qq[\Quse XML::TokeParser;]
 
91
          ],
 
92
          [
 
93
            'E',
 
94
            qq[\Q</verbatim>]
 
95
          ],
 
96
          [
 
97
            'T',
 
98
            '\s+'
 
99
          ]
 
100
);
 
101
 
 
102
 
 
103
for( 0.. $#tokens ) {
 
104
    my $token = $p->get_token();
 
105
    ok(2+$_) if $tokens[$_][0] eq $token->[0] and $token->[-1] =~ m{$tokens[$_][1]};
 
106
}
 
107
 
 
108
print "#",q[],"\n";
 
109
print "#",q[ Now testing get_tag, get_trimmed_text],"\n";
 
110
ok( $p->get_tag('title') );
 
111
print "#",q[$p->get_tag('title')],"\n";
 
112
 
 
113
ok( $p->get_trimmed_text('/title') eq 'DESCRIPTION' );
 
114
print "#",q[$p->get_trimmed_text('/title')],"\n";
 
115
 
 
116
ok( $p->get_tag('item') );
 
117
print "#",q[$p->get_tag('item')],"\n";
 
118
 
 
119
ok( $p->get_tag('itemtext') );
 
120
print "#",q[$p->get_tag('itemtext')],"\n";
 
121
 
 
122
ok( $p->get_trimmed_text('/itemtext') eq 'Start tag' );
 
123
print "#",q[$p->get_trimmed_text('/itemtext')],"\n";
 
124
 
 
125
print "#",q[],"\n";
 
126
print "#",q[ Now testing saving tokens so you can go return to this point in the stream],"\n";
 
127
ok( not $p->begin_saving() );
 
128
print "#",q[$p->begin_saving() ],"\n";
 
129
 
 
130
ok( $p->get_tag('para') );
 
131
print "#",q[$p->get_tag('para') 1],"\n";
 
132
 
 
133
ok( $p->get_tag('para') );
 
134
print "#",q[$p->get_tag('para') 2],"\n";
 
135
 
 
136
ok( $p->restore_saved() );
 
137
print "#",q[$p->restore_saved()],"\n";
 
138
 
 
139
print "#",q[],"\n";
 
140
print "#",q[ Now to see if we've backed up correctly (i think so)],"\n";
 
141
ok( $p->get_tag('para') );
 
142
print "#",q[$p->get_tag('para') 1],"\n";
 
143
ok( $p->get_tag('para') );
 
144
print "#",q[$p->get_tag('para') 2],"\n";
 
145
 
 
146
ok( $p->get_trimmed_text('/para') eq "The token has three elements: 'E', the element's name, and the literal text." );
 
147
 
 
148
#use Data::Dumper;die Dumper(  );
 
149
#push @tokens, $p->get_token() for 1..10;use Data::Dumper;die Dumper\@tokens;