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

« back to all changes in this revision

Viewing changes to t/2.extended.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 => 42, 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
      'S',
 
21
      'T',
 
22
      'S',
 
23
      'T',
 
24
      'S',
 
25
      'T',
 
26
      'E',
 
27
      'T',
 
28
      'E',
 
29
      'T',
 
30
      'S',
 
31
      'T',
 
32
      'S',
 
33
      'T',
 
34
      'E',
 
35
      'T',
 
36
      'S',
 
37
      'T',
 
38
      'E',
 
39
      'T',
 
40
      'S',
 
41
      'T',
 
42
      'E',
 
43
      'T',
 
44
      'S',
 
45
      'T',
 
46
      'E',
 
47
      'T',
 
48
      'S',
 
49
      'T',
 
50
      'E',
 
51
      'T',
 
52
      'S',
 
53
      'T',
 
54
      'E',
 
55
      'T',
 
56
      'S',
 
57
      'T',
 
58
      'E',
 
59
      'T'
 
60
);
 
61
 
 
62
 
 
63
my %Token2Method = (
 
64
    S  => 'is_start_tag',
 
65
    E  => 'is_end_tag',
 
66
    T  => 'is_text',
 
67
    C  => 'is_comment',
 
68
    PI => 'is_pi',
 
69
);
 
70
 
 
71
 
 
72
print "#",q[],"\n";
 
73
#push @tokens, ( $p->get_token() )->[0] for 1..40;use Data::Dumper;die Dumper\@tokens;
 
74
 
 
75
for( 0.. $#tokens ) {
 
76
    my $token = $p->get_token();
 
77
 
 
78
#use Data::Dumper;print Dumper $token;
 
79
 
 
80
    my $method = $Token2Method{$token->[0]} || 'is_tag';
 
81
 
 
82
    print '#$ ', $token->$method() ,$/;
 
83
    print '#$ ', $token->is_start_tag(),$/;
 
84
 
 
85
    ok( $token->$method() );
 
86
    
 
87
}
 
88
 
 
89
#$p->get_token()->toke;
 
90
 
 
91
__END__
 
92
 
 
93
sub is_start_tag {
 
94
    if( $_[0]->[0] eq 'S' ){
 
95
        if(defined $_[1]){
 
96
            return 1 if $_[0]->[1] eq $_[1];
 
97
        } else {
 
98
            return 1;
 
99
        }
 
100
    }
 
101
}
 
102
 
 
103
sub is_end_tag {
 
104
    if( $_[0]->[0] eq 'E' ){
 
105
        if(defined $_[1]){
 
106
            return 1 if $_[0]->[1] eq $_[1];
 
107
        } else {
 
108
            return 1;
 
109
        }
 
110
    }
 
111
}
 
112
 
 
113
sub is_tag {
 
114
    if( $_[0]->[0] eq 'S' or $_[0]->[0] eq 'E' ){
 
115
        if(defined $_[1]){
 
116
            return 1 if $_[0]->[1] eq $_[1];
 
117
        } else {
 
118
            return 1;
 
119
        }
 
120
    }
 
121
}
 
122
 
 
123
 
 
124
## the old ones
 
125
sub is_start_tag           { return $_[0]->_is( S => $_[1] ); }
 
126
sub is_end_tag             { return $_[0]->_is( E => $_[1] ); }
 
127
sub is_tag                 { return $_[0]->_is( S => $_[1] )
 
128
                                 || $_[0]->_is( E => $_[1] ); }
 
129
 
 
130
sub _is {
 
131
    if($_[0]->[0] eq $_[1]){
 
132
        if(defined $_[2]){
 
133
            return 1 if $_[0]->[1] eq $_[2];
 
134
        }else{
 
135
            return 1;
 
136
        }
 
137
    }
 
138
    return 0;
 
139
}
 
 
b'\\ No newline at end of file'