#!/usr/bin/perl use strict; use warnings; use Test::XML tests => 13; use File::Spec; use XML::Grammar::ProductsSyndication; sub get_files_list { return ( "001-empty-cat", # TEST "002-nested-cat", # TEST "0030-with-one-product", # TEST "0031-with-products", # TEST "004-products-with-creators", # TEST "005-refs", # TEST "006-xhtml", # TEST "007-xhtml-2", # TEST "008-xhtml-3", # TEST "009-set", # TEST "010-disabled-isbn", # TEST "011-appendtoc", # TEST "012-with-rellinks", # TEST ); } my @xml_files = get_files_list(); foreach my $xml_file (@xml_files) { my $p = XML::Grammar::ProductsSyndication->new( { 'source' => { 'file' => File::Spec->catfile( File::Spec->curdir(), "t", "data", "valid-xmls", "$xml_file.xml" ), }, 'data_dir' => File::Spec->catdir( File::Spec->curdir(), "extradata" ), } ); my $got_xml = $p->transform_into_html({ 'output' => "string" }); is_xml ($got_xml, load_xml($xml_file), "Testing for XML Equivalency of file '$xml_file'"); } sub load_xml { my $xml_file = shift; my $path = File::Spec->catfile( File::Spec->curdir(), "t", "data", "output-htmls", "$xml_file.html" ); open my $in, "<", $path; my $contents; { local $/; $contents = <$in>; } close($in); return $contents; } sub get_expected_fn { my $file = shift; if ($file =~ m{^(?:\./)?valid-xmls/(.*)\.xml$}) { return "./outputs/$1.html"; } else { die "Unknown filename"; } }