/[suikacvs]/messaging/manakai/t/markup-swcfg20-node.t
Suika

Contents of /messaging/manakai/t/markup-swcfg20-node.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download) (as text)
Sat Nov 15 07:55:26 2003 UTC (21 years ago) by wakaba
Branch: MAIN
CVS Tags: before-dis2-200411, manakai-release-0-3-2, manakai-release-0-3-1, manakai-release-0-4-0, manakai-200612, HEAD
Branch point for: experimental-xml-parser-200401
File MIME type: application/x-troff
Moved from SuikaWiki

1 wakaba 1.1 #!/usr/bin/perl
2     use strict;
3     require Message::Markup::SuikaWikiConfig20::Node;
4    
5     my $cfg = Message::Markup::SuikaWikiConfig20::Node->new (type => '#document');
6    
7     $cfg->append_new_node (type => '#element', local_name => 'foo')
8     ->inner_text (new_value => 'aiueo');
9     $cfg->append_new_node (type => '#comment', value => 'comment
10     (multiple lines)');
11     $cfg->append_new_node (type => '#comment', value => 'comment
12     (multiple lines)');
13     $cfg->append_new_node (type => '#element', local_name => 'foo', value => 'val');
14     $cfg->append_new_node (type => '#element', local_name => 'foo', value => 'value
15     with multiple
16     lines');
17     $cfg->append_new_node (type => '#element', local_name => 'name with
18     multiple lines', value => 'val');
19     $cfg->append_new_node (type => '#element', local_name => 'foo', value => 'value
20     with multiple
21     @ lines
22     \ escaped
23     ');
24    
25     my $t = $cfg->append_new_node (type => '#element', local_name => 'name', value => 'val');
26     $t->append_new_node (type => '#element', local_name => 'foo', value => 'bar');
27     $t->append_new_node (type => '#element', local_name => 'foo', value => '0');
28     $t->append_new_node (type => '#element', local_name => '@', value => '@ foo');
29     $t->append_new_node (type => '#element', local_name => 'foo', value => 'something multi
30    
31     line');
32     $t->append_new_node (type => '#comment', value => 'comment');
33     my $tt = $t->append_new_node (type => '#element', local_name => 'foo', value => 'something\
34     multi
35    
36     line');
37     $tt->append_new_node (type => '#element', local_name => 'foo', value => 'bar');
38     $tt->append_new_node (type => '#element', local_name => 'foo', value => '0');
39     $tt->append_new_node (type => '#element', local_name => '@', value => '@ foo');
40     $tt->append_new_node (type => '#element', local_name => 'foo', value => 'something\
41     multi
42    
43     line');
44     $cfg->append_new_node (type => '#comment', value => '##COMMENT##');
45     $tt->append_new_node (type => '#element', local_name => 'foolist', value => [qw/foo bar #baz bar/]);
46    
47     require Test::Simple;
48     my @s = split /\n/, $cfg->stringify;
49     my @t = split /\n/, q(foo: aiueo
50     #comment
51     #(multiple lines)
52    
53     #comment
54     #(multiple lines)
55     foo: val
56     foo:
57     value
58     with multiple
59     \ lines
60     name with
61     multiple lines: val
62     foo:
63     value
64     with multiple
65     \@ lines
66     \\\\ escaped
67     \
68     name:
69     @@: val
70     @foo: bar
71     @foo: 0
72     @\@: \@ foo
73     @foo:
74     something multi
75     \
76     \ line
77     @foo:
78     @@@:
79     something\
80     \ multi
81     \
82     \ line
83     @@foo: bar
84     @@foo: 0
85     @@\@: \@ foo
86     @@foo:
87     something\
88     \ multi
89     \
90     \ line
91     @@foolist[list]:
92     foo
93     bar
94     \#baz
95     bar
96     ###COMMENT##
97     );
98    
99     Test::Simple->import (tests => scalar @t);
100     for (0..($#t > $#s ? $#t : $#s)) {
101     ok ($s[$_] eq $t[$_], "Line $_ : '$s[$_]' '$t[$_]'");
102     }

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24