You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2001/05/06 01:12:16 UTC

cvs commit: xml-xerces/perl/t SAXParser.t

jasons      01/05/05 16:12:16

  Modified:    perl/t   SAXParser.t
  Log:
  	* t/SAXParser.t (Repository):
  	uses new ErrorHandler interface
  	uses new DocumentHandler interface
  
  Revision  Changes    Path
  1.2       +24 -9     xml-xerces/perl/t/SAXParser.t
  
  Index: SAXParser.t
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/t/SAXParser.t,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SAXParser.t	2001/04/13 22:24:41	1.1
  +++ SAXParser.t	2001/05/05 23:12:16	1.2
  @@ -10,6 +10,7 @@
   BEGIN { $| = 1; print "1..4\n"; }
   END {print "not ok 1\n" unless $loaded;}
   use Carp;
  +use blib;
   use XML::Xerces;
   use Config;
   
  @@ -44,19 +45,33 @@
     </person>
   </contributors>];
   
  +package MyDocumentHandler;
  +use strict;
  +use vars qw(@ISA);
  +@ISA = qw(XML::Xerces::PerlDocumentHandler);
  +
  +sub start_element {
  +  my $self = shift;
  +  $self->{elements}++;
  +}
  +sub characters {
  +  my ($self,$str,$len) = @_;
  +  $self->{chars} += $len;
  +}
  +sub ignorable_whitespace {
  +  my ($self,$str,$len) = @_;
  +  $self->{ws} += $len;
  +}
  +
  +package main;
   my $SAX = new XML::Xerces::SAXParser;
   my $element_count = 0;
   my $ws_count = 0;
   my $char_count = 0;
  -my $DOCUMENT_HANDLER = XML::Xerces::perlDocumentHandler->new();
  -$DOCUMENT_HANDLER->setStartElementFunction(sub{$element_count++;});
  -$DOCUMENT_HANDLER->setIgnorableWhitespaceFunction(sub{my ($str,$len) = @_;
  -						      $ws_count += $len;});
  -$DOCUMENT_HANDLER->setCharactersFunction(sub{my ($str,$len) = @_;
  -					     $char_count += $len;});
  +my $DOCUMENT_HANDLER = MyDocumentHandler->new();
   $SAX->setDocumentHandler($DOCUMENT_HANDLER);
   
   $SAX->parse(XML::Xerces::MemBufInputSource->new($document, 'foo'));
  -result($element_count == 10);
  -result($ws_count == 0);
  -result($char_count == 141);
  +result($DOCUMENT_HANDLER->{elements} == 10);
  +result($DOCUMENT_HANDLER->{chars} == 141);
  +result($DOCUMENT_HANDLER->{ws} == 0);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org