/[suikacvs]/messaging/manakai/t/DOM-Node.t
Suika

Diff of /messaging/manakai/t/DOM-Node.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.19 by wakaba, Sun Jul 15 12:54:07 2007 UTC revision 1.21 by wakaba, Sat Oct 27 13:07:27 2007 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl  #!/usr/bin/perl
2  use strict;  use strict;
3  use Test;  use Test;
4  BEGIN { plan tests => 5310 }  BEGIN { plan tests => 5329 }
5    
6  require Message::DOM::DOMImplementation;  require Message::DOM::DOMImplementation;
7  use Message::Util::Error;  use Message::Util::Error;
8    
9  my $dom = Message::DOM::DOMImplementation->____new;  my $dom = Message::DOM::DOMImplementation->new;
10  my $doc = $dom->create_document;  my $doc = $dom->create_document;
11    
12    
# Line 1816  for my $node (create_nodes ()) { Line 1816  for my $node (create_nodes ()) {
1816         [Core => '', 1],         [Core => '', 1],
1817         [Core => undef, 1],         [Core => undef, 1],
1818         [Core => 3, 0],         [Core => 3, 0],
1819           [Events => '3.0', 1], ['+Events' => '3.0', 1], ['Events' => '', 1],
1820         [Traversal => '2.0', 1], [Traversal => '', 1], [Traversal => '1.0', 0],         [Traversal => '2.0', 1], [Traversal => '', 1], [Traversal => '1.0', 0],
1821         [XML => '1.0', 1],         [XML => '1.0', 1],
1822         [XML => '2.0', 1],         [XML => '2.0', 1],
# Line 2040  for my $node (create_leaf_nodes) { Line 2041  for my $node (create_leaf_nodes) {
2041    ## NOTE: We cannot control exactly when it is called.    ## NOTE: We cannot control exactly when it is called.
2042  }  }
2043    
2044    ## |manakaiLanguage|
2045    {
2046      my $el = $doc->create_element_ns (undef, 'e');
2047      $doc->strict_error_checking (0);
2048    
2049      ok $el->manakai_language, '', 'mlanguage [0]';
2050    
2051      my $xml_ns = q<http://www.w3.org/XML/1998/namespace>;
2052      
2053      my $parent = $doc->create_element ('e');
2054      $parent->set_attribute_ns ($xml_ns, 'xml:lang', 'en');
2055      $parent->append_child ($el);
2056      ok $el->manakai_language, 'en', 'mlanguage [1]';
2057    
2058      my $parent2 = $doc->create_element_ns (undef, 'e');
2059      $parent2->set_attribute_ns (undef, [undef, 'xml:lang'], 'ja');
2060      $parent2->append_child ($el);
2061      ok $el->manakai_language, 'ja', 'mlanguage [2]';
2062    
2063      $el->set_attribute_ns ($xml_ns, 'xml:lang', 'en');
2064      ok $el->manakai_language, 'en', 'mlanguage [3]';
2065    
2066      $el->set_attribute_ns ($xml_ns, 'xml:lang', 'fr');
2067      $el->set_attribute_ns (undef, [undef, 'xml:lang'], 'es');
2068      ok $el->manakai_language, 'fr', 'mlanguage [4]';
2069    
2070      $el->remove_attribute_ns ($xml_ns, 'lang');
2071      ok $el->manakai_language, 'es', 'mlanguage [5]';
2072    }
2073    {
2074      my $el = $doc->create_element_ns (undef, 'e');
2075      my $xml_ns = q<http://www.w3.org/XML/1998/namespace>;
2076    
2077      $el->manakai_language ('ja');
2078      ok $el->manakai_language, 'ja', 'mlanguage [6]';
2079    
2080      my $attr = $el->get_attribute_node_ns ($xml_ns, 'lang');
2081      ok $attr->value, 'ja', 'mlanguage [7]';
2082      ok $attr->specified ? 1 : 0, 1, 'mlanguage [8]';
2083    
2084      $el->manakai_language ('en');
2085      ok $el->manakai_language, 'en', 'mlanguage [9]';
2086      ok $attr->value, 'en', 'mlanguage [a]';
2087    
2088      $el->manakai_language ('');
2089      ok $attr->value, '', 'mlanguage [b]';
2090      ok $attr->owner_element, $el, 'mlanguage [c]';
2091      ok $el->get_attribute_ns ($xml_ns, 'lang'), '', 'mlanguage [d]';
2092      ok $el->manakai_language, '', 'mlanguage [e]';
2093    
2094      $el->manakai_language (undef);
2095      ok $attr->value, '', 'mlanguage [f]';
2096      ok $attr->owner_element, undef, 'mlanguage [g]';
2097      ok $el->get_attribute_ns ($xml_ns, 'lang'), undef, 'mlanguage [h]';
2098      ok $el->manakai_language, '', 'mlanguage [i]';
2099    }
2100    
2101  =head1 LICENSE  =head1 LICENSE
2102    
2103  Copyright 2007 Wakaba <w@suika.fam.cx>  Copyright 2007 Wakaba <w@suika.fam.cx>

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.21

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24