summaryrefslogtreecommitdiff
path: root/t/05-mixed.t
diff options
context:
space:
mode:
Diffstat (limited to 't/05-mixed.t')
-rw-r--r--t/05-mixed.t55
1 files changed, 55 insertions, 0 deletions
diff --git a/t/05-mixed.t b/t/05-mixed.t
new file mode 100644
index 0000000..85bcf37
--- /dev/null
+++ b/t/05-mixed.t
@@ -0,0 +1,55 @@
+#!perl
+use Test::Most 'die';
+BEGIN {
+eval 'use XML::LibXML';
+plan skip_all => 'XML::LibXML needed for this test' if $@;
+}
+plan tests => 2;
+use strict;
+use warnings;
+use Tree::Template::Declare -prefix=> 'x', builder => '+LibXML';
+use Tree::Template::Declare -prefix=> 'd', builder => '+DAG_Node';
+
+use Data::Dumper;
+
+xxmlns test => 'http://test/';
+
+my $xmltree= xtree {
+ xnode {
+ xname 'stuff';
+ xnode {
+ xname 'test:elem1';
+ xattribs id => 1, 'test:buh' => 'testing';
+ xnode {
+ xname 'test:sub1';
+ }
+ };
+ xnode {
+ xname 'elem2';
+ xattribs id => 2;
+ };
+ };
+};
+
+is($xmltree->toStringC14N(0),
+ qq{<stuff><test:elem1 xmlns:test="http://test/" id="1" test:buh="testing"><test:sub1></test:sub1></test:elem1><elem2 id="2"></elem2></stuff>},
+ 'XML document'
+);
+
+my $dagtree=dtree {
+ dnode {
+ dname 'root';
+ dattribs name => 'none';
+ dnode {
+ dname 'coso1';
+ dattribs name => 'coso_1';
+ };
+ dnode {
+ dname 'coso2';
+ };
+ };
+};
+
+cmp_deeply($dagtree->tree_to_lol(),
+ [[re(qr{coso1})],[re(qr{coso2})],re(qr{root})],
+ 'DAG_Node tree');