use Test;
BEGIN { plan tests => 9 }
END { ok(0) unless $loaded }
use XML::GDOME;
$loaded = 1;
ok(1);
use strict;
my $doc = XML::GDOME->createDocument(undef, "TEST", undef);
my $root = $doc->documentElement;
ok($root->tagName, "TEST");
$root->setAttribute("PACKAGE","gdome2");
my $el = $doc->createElement("RELEASE");
my $txtnode = $doc->createTextNode("0.6.x");
$el->appendChild($txtnode);
$root->appendChild($el);
my $output = $doc->toString(GDOME_SAVE_STANDARD);
ok($output, qq{
0.6.x
});
my $output8859 = qq{
0.6.x
};
my $doc2 = XML::GDOME->createDocFromString($output);
my $output2 = $doc2->toString(GDOME_SAVE_STANDARD);
ok($output, $output2);
my $output3 = $doc2->toStringEnc("ISO-8859-1",GDOME_SAVE_STANDARD);
ok($output3, $output8859);
# test exception handing
eval {
$doc = XML::GDOME->createDocument("asdf:asdf", "TEST", undef);
};
ok($@ =~ m!NAMESPACE_ERR!);
# test we throw an error on parsing erroneous stuff
# Unknown entity
eval {
$doc = XML::GDOME->createDocFromString(qq{foo&bar;},
GDOME_LOAD_VALIDATING);
};
ok($@ =~ m!Entity 'bar' not defined!);
# Unbalanced code
eval {
$doc = XML::GDOME->createDocFromString(qq{});
};
ok($@ =~ m!Opening and ending tag mismatch: bar.*and a!);
# And from a file...
eval {
$doc = XML::GDOME->createDocFromURI("t/examplemjo.xml",
GDOME_LOAD_VALIDATING);
};
ok($@ =~ m!Entity 'bar' not defined!);