File: 06passthru.t

package info (click to toggle)
libxml-validator-schema-perl 1.10-2.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 708 kB
  • sloc: perl: 3,682; xml: 16; makefile: 2
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);