jasons 2002/08/27 12:29:37 Added: perl/t XercesDOMParser.t Log: renamed DOM_Parser Revision Changes Path 1.1 xml-xerces/perl/t/XercesDOMParser.t Index: XercesDOMParser.t =================================================================== # Before `make install' is performed this script should be runnable # with `make test'. After `make install' it should work as `perl # XercesDOMParser.t' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..8\n"; } END {print "not ok 1\n" unless $loaded;} use Carp; use blib; use XML::Xerces; use lib 't'; use TestUtils qw(result $PERSONAL_FILE_NAME $PERSONAL_NO_DOCTYPE $PERSONAL $DOM); use vars qw($i $loaded); use strict; $loaded = 1; $i = 1; result($loaded); ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): my $document = q[<?xml version="1.0" encoding="UTF-8"?> <contributors> <person Role="manager"> <name>Mike Pogue</name> <email>[EMAIL PROTECTED]</email> </person> <person Role="developer"> <name>Tom Watson</name> <email>[EMAIL PROTECTED]</email> </person> <person Role="tech writer"> <name>Susan Hardenbrook</name> <email>[EMAIL PROTECTED]</email> </person> </contributors>]; my $is = eval {XML::Xerces::MemBufInputSource->new($PERSONAL_NO_DOCTYPE)}; XML::Xerces::error($@) if $@; eval {$DOM->parse($is)}; XML::Xerces::error($@) if $@; my $serialize = $DOM->getDocument->serialize; result($serialize eq $PERSONAL_NO_DOCTYPE); # now test reparsing a file $DOM->reset(); $is = eval {XML::Xerces::MemBufInputSource->new($document)}; XML::Xerces::error($@) if $@; eval {$DOM->parse($is)}; XML::Xerces::error($@) if $@; result(!$@); my $doc = $DOM->getDocument(); my @persons = $doc->getElementsByTagName('person'); result(scalar @persons == 3); result($persons[0]->getAttributes()->getLength == 1); result($persons[0]->getAttribute('Role') eq 'manager'); # now test the overloaded methods in XercesDOMParser eval { $DOM->parse($PERSONAL_FILE_NAME); }; result(!$@); XML::Xerces::error($@) if $@; $DOM = XML::Xerces::XercesDOMParser->new(); $DOM->setValidationScheme($XML::Xerces::AbstractDOMParser::Val_Always); $DOM->setIncludeIgnorableWhitespace(0); eval { $DOM->parse($PERSONAL_FILE_NAME); }; XML::Xerces::error($@) if $@; # now check that we do *not* get whitespace nodes my @nodes = $DOM->getDocument->getDocumentElement->getChildNodes(); result(scalar @nodes == 6);
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]