summaryrefslogtreecommitdiff
path: root/t/04-xml.t
blob: 7d9ef6d64176b00cbca6fc638b63debc80f9786e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!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 builder => '+LibXML';
 
xmlns test => 'http://test/';
 
sub make_tree {
    tree {
        node {
            name 'stuff';
            node {
                name 'test:elem1';
                attribs 'test:buh' => 'testing';
                attribs id => 1;
                node {
                    name 'test:sub1';
                    text_node 'some content';
                }
            };
            node {
                name 'elem2';
                attribs id => 2;
            };
        };
    };
}
 
{
my $tree=make_tree();
 
is($tree->toStringC14N(0),
   qq{<stuff><test:elem1 xmlns:test="http://test/" id="1" test:buh="testing"><test:sub1>some content</test:sub1></test:elem1><elem2 id="2"></elem2></stuff>},
   'XML document without default NS'
);
}
 
xmlns ':default' => 'ftp://test/';
 
{
my $tree=make_tree();
 
is($tree->toStringC14N(0),
   qq{<stuff xmlns="ftp://test/"><test:elem1 xmlns:test="http://test/" id="1" test:buh="testing"><test:sub1>some content</test:sub1></test:elem1><elem2 id="2"></elem2></stuff>},
   'XML document with default NS'
);
}