/[suikacvs]/markup/html/whatpm/t/XML-Parser.t
Suika

Diff of /markup/html/whatpm/t/XML-Parser.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by wakaba, Fri Oct 17 07:14:29 2008 UTC revision 1.16 by wakaba, Sun Oct 19 09:25:21 2008 UTC
# Line 74  sub test ($) { Line 74  sub test ($) {
74      #return Whatpm::Charset::UnicodeChecker->new_handle ($_[0], 'html5');      #return Whatpm::Charset::UnicodeChecker->new_handle ($_[0], 'html5');
75    }; # $chk    }; # $chk
76    
77      my $p = Whatpm::XML::Parser->new;
78    my $result;    my $result;
79    unless (defined $test->{element}) {    unless (defined $test->{element}) {
80      Whatpm::XML::Parser->parse_char_string      $p->parse_char_string ($test->{data}->[0] => $doc, $onerror, $chk);
         ($test->{data}->[0] => $doc, $onerror, $chk);  
81      $result = dumptree ($doc);      $result = dumptree ($doc);
82    } else {    } else {
83      ## TODO: ...      ## TODO: ...
# Line 115  sub test ($) { Line 115  sub test ($) {
115          $test->{'xml-standalone'}->[1]->[0] eq 'true' ? 1 : 0,          $test->{'xml-standalone'}->[1]->[0] eq 'true' ? 1 : 0,
116          'XML standalone: ' . Data::Dumper::qquote ($test->{data}->[0]);          'XML standalone: ' . Data::Dumper::qquote ($test->{data}->[0]);
117    }    }
118    
119      if ($test->{entities}) {
120        my @e;
121        for (keys %{$p->{ge}}) {
122          my $ent = $p->{ge}->{$_};
123          my $v = '<!ENTITY ' . $ent->{name} . ' "';
124          $v .= $ent->{value} if defined $ent->{value};
125          $v .= '" "';
126          $v .= $ent->{pubid} if defined $ent->{pubid};
127          $v .= '" "';
128          $v .= $ent->{sysid} if defined $ent->{sysid};
129          $v .= '" ';
130          $v .= $ent->{notation} if defined $ent->{notation};
131          $v .= '>';
132          push @e, $v;
133        }
134        for (keys %{$p->{pe}}) {
135          my $ent = $p->{pe}->{$_};
136          my $v = '<!ENTITY % ' . $ent->{name} . ' "';
137          $v .= $ent->{value} if defined $ent->{value};
138          $v .= '" "';
139          $v .= $ent->{pubid} if defined $ent->{pubid};
140          $v .= '" "';
141          $v .= $ent->{sysid} if defined $ent->{sysid};
142          $v .= '" ';
143          $v .= $ent->{notation} if defined $ent->{notation};
144          $v .= '>';
145          push @e, $v;
146        }
147        ok join ("\x0A", @e), $test->{entities}->[0],
148            'Entities: ' . Data::Dumper::qquote ($test->{data}->[0]);
149      }
150        
151    $test->{document}->[0] .= "\x0A" if length $test->{document}->[0];    $test->{document}->[0] .= "\x0A" if length $test->{document}->[0];
152    ok $result, $test->{document}->[0],    ok $result, $test->{document}->[0],
# Line 136  my @FILES = grep {$_} split /\s+/, qq[ Line 168  my @FILES = grep {$_} split /\s+/, qq[
168    ${test_dir_name}ns-attrs-1.dat    ${test_dir_name}ns-attrs-1.dat
169    ${test_dir_name}doctypes-1.dat    ${test_dir_name}doctypes-1.dat
170    ${test_dir_name}doctypes-2.dat    ${test_dir_name}doctypes-2.dat
171      ${test_dir_name}eldecls-1.dat
172    ${test_dir_name}attlists-1.dat    ${test_dir_name}attlists-1.dat
173      ${test_dir_name}entities-1.dat
174      ${test_dir_name}entities-2.dat
175      ${test_dir_name}notations-1.dat
176      ${test_dir_name}entrefs-1.dat
177  ];  ];
178    
179  require 't/testfiles.pl';  require 't/testfiles.pl';
# Line 144  execute_test ($_, { Line 181  execute_test ($_, {
181    errors => {is_list => 1},    errors => {is_list => 1},
182    document => {is_prefixed => 1},    document => {is_prefixed => 1},
183    'document-fragment' => {is_prefixed => 1},    'document-fragment' => {is_prefixed => 1},
184      entities => {is_prefixed => 1},
185  }, \&test) for @FILES;  }, \&test) for @FILES;
186    
187  ## License: Public Domain.  ## License: Public Domain.

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.16

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24