#!/usr/bin/perl -w use strict; use Test::More tests => 5; require "examples/parse-xml.pl"; my $parser = XmlParser->new; sub plain { bless [ @_ ], "XmlParser::Node::Plain" } sub elem { bless [ @_ ], "XmlParser::Node::Element" } sub test { my ( $str, $expect, $name ) = @_; is_deeply( $parser->from_string( $str ), $expect, $name ); } test q[Hello world], [ plain("Hello world") ], "Plaintext"; test q[Hello world], [ elem(message => {}, plain("Hello world")) ], "Single node"; test q[Helloworld], [ elem(first => {}, plain("Hello")), elem(second => {}, plain("world")) ], "Two nodes"; test q[Hello world], [ elem(first => {}, plain("Hello")), plain(" "), elem(second => {}, plain("world")) ], "Two nodes with whitespace"; test q[], [ elem(node => { a1 => "v1", a2 => "v2" }) ], "Node with attrs";