File: 06passthru.t

package info (click to toggle)
libxml-validator-schema-perl 1.10-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 572 kB
  • ctags: 232
  • sloc: perl: 3,682; makefile: 16; xml: 16
file content (34 lines) | stat: -rw-r--r-- 970 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/perl
use strict;
use warnings;
use XML::Validator::Schema;
use XML::SAX::ParserFactory;

BEGIN {
    unless (eval "use XML::SAX::Writer; 1;") {
        eval "use Test::More skip_all => 'Test requires XML::SAX::Writer'";
    } else {
        eval "use Test::More qw(no_plan);";
    }
}


# run test.xml through the writer with no validator
my $output = "";
my $writer = XML::SAX::Writer->new(Output => \$output);
my $parser = XML::SAX::ParserFactory->parser(Handler => $writer);
$parser->parse_uri('t/test.xml');
ok($output);

# run test.xml through writer, validating against test.xsd
my $output2 = "";
my $writer2 = XML::SAX::Writer->new(Output => \$output2);
my $validator = XML::Validator::Schema->new(file => 't/test.xsd', 
                                            Handler => $writer2);
my $parser2 = XML::SAX::ParserFactory->parser(Handler => $validator);
$parser2->parse_uri('t/test.xml');
ok($output2);

# should be the same
is($output, $output2);