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

Contents of /messaging/manakai/t/DOM-Element.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download) (as text)
Sun Jun 17 13:37:42 2007 UTC (17 years, 5 months ago) by wakaba
Branch: MAIN
File MIME type: application/x-troff
++ manakai/t/ChangeLog	17 Jun 2007 13:37:22 -0000
2007-06-17  Wakaba  <wakaba@suika.fam.cx>

	* DOM-Attr.t, DOM-AttributeDefinition.t, DOM-DocumentType.t,
	DOM-Element.t, DOM-Entity.t, DOM-EntityReference.t,
	DOM-Notation.t, DOM-ProcessingInstruction.t: New.

	* DOM-Document.t, DOM-Node.t: Tests for newly-implemented attributes
	and methods are added.

	* Makefile (test-module-dom-old): Renamed from |test-module-dom|.
	(test-module-dom): New.

++ manakai/lib/Message/DOM/ChangeLog	17 Jun 2007 13:34:54 -0000
2007-06-17  Wakaba  <wakaba@suika.fam.cx>

	* Attr.pm (____new): Initialize |specified| as 1.
	(base_uri, manakai_attribute_type, specified): Implemented.
	(prefix): Don't check read-only flag unless |strict_error_checking|.
	(value): Call |text_content| for now.

	* AttributeDefinition.pm (DeclaredValueType, DefaultValueType): Added.
	(declared_type, default_type): Implemented.

	* CharacterData.pm (____new): Allow a scalar reference
	as an input for the |data| attribute.
	(base_uri, manakai_append_text): Implemented.

	* DOMConfiguration.pm (set_parameter): Resetting implemented.

	* DOMDocument.pm (____new): Set default values to
	configuration parameter whose default is true.
	(document_uri, input_encoding): Implemented.
	(all_declarations_processed, manakai_is_html): Implemented.
	(base_uri, manakai_append_text,
	manakai_entity_base_uri, strict_error_checking,
	xml_encoding, xml_version, xml_standalone): Implemented.

	* DOMElement.pm (manakai_base_uri, base_uri): Implemented.
	(get_attribute, get_attribute_node): Alpha version.
	(set_attribute_node, set_attribute_node_ns): Implemented.
	(set_attribute_ns): Accept non-ARRAY qualified name.

	* DOMException.pm (___error_def): |WRONG_DOCUMENT_ERR|,
	|NOT_SUPPORTED_ERR|, and |INUSE_ATTRIBUTE_ERR| are added.

	* DocumentType.pm (public_id, system_id): Implemented.
	(base_uri, declaration_base_uri, manakai_declaration_base_uri,
	manakai_append_text): Implemented.
	(element_types, general_entities, notations,
	set_element_type_definition_node, set_general_entity_node,
	set_notation_node): Alpha version.

	* ElementTypeDefinition.pm (manakai_append_text): Implemented.
	(attribute_definitions, set_attribute_definition_node): Alpha version.

	* Entity.pm (has_replacement_tree, public_id, system_id,
	manakai_declaration_base_uri, manakai_entity_base_uri,
	manakai_entity_uri): Implemented.

	* EntityReference.pm (manakai_expanded, manakai_external): Implemented.
	(base_uri, manakai_entity_base_uri): Implemented.

	* Node.pm (base_uri): Implemented.
	(text_content): Don't check read-only or not
	unless |strict_error_checking|.
	(manakai_append_text): Implemented.
	(get_feature): Alpha.
	(manakai_set_read_only): Implemented.

	* Notation.pm (public_id, system_id, manakai_append_text,
	manakai_declaration_base_uri): Implemented.

	* ProcessingInstruction.pm (manakai_base_uri,
	base_uri, manakai_append_text): Implemented.

1 wakaba 1.1 #!/usr/bin/perl
2     use strict;
3     use Test;
4     BEGIN { plan tests => 38 }
5    
6     require Message::DOM::DOMImplementation;
7     use Message::Util::Error;
8    
9     my $dom = Message::DOM::DOMImplementation->____new;
10     my $doc = $dom->create_document;
11    
12     my $el = $doc->create_element ('element');
13    
14     for my $prop (qw/manakai_base_uri/) {
15     ok $el->can ($prop) ? 1 : 0, 1, 'can ' . $prop;
16    
17     for ('http://absuri.test/', 'reluri', 0, '') {
18     $el->$prop ($_);
19     ok $el->$prop, $_, $prop . $_;
20     }
21    
22     $el->$prop (undef);
23     ok $el->$prop, undef, $prop . ' undef';
24     }
25    
26     for my $method (qw/set_attribute_node set_attribute_node_ns/) {
27     my $el = $doc->create_element ('element');
28     ok $el->can ($method) ? 1 : 0, 1, "can $method";
29    
30     my $a1 = $doc->create_attribute ('attr1');
31     $a1->value ('value1');
32     $a1->specified (0);
33    
34     my $r1 = $el->$method ($a1);
35     ok $r1, undef, "$method return [1]";
36     ok $el->get_attribute ('attr1'), 'value1', "$method get_attribute [1]";
37     ok $el->get_attribute_ns (undef, 'attr1'), 'value1',
38     "$method get_attribute_ns [1]";
39     ok $el->get_attribute_node ('attr1'), $a1, "$method get_attribute_node [1]";
40     ok $el->get_attribute_node_ns (undef, 'attr1'), $a1,
41     "$method get_attribute_node_ns [1]";
42     ok $a1->owner_element, $el, "$method owner_element [1]";
43     ok $a1->specified ? 1 : 0, 1, "$method specified [1]";
44     $a1->specified (0);
45    
46     my $a2 = $doc->create_attribute ('attr1');
47     my $r3 = $el->$method ($a2);
48     ok $r3, $a1, "$method return [2]";
49     ok $a1->owner_element, undef, "$method owner_element [2]";
50     ok $a1->specified ? 1 : 0, 1, "$method specified [2]";
51    
52     $el->set_attribute_ns (undef, attr => 'value');
53     my $attr = $el->get_attribute_node_ns (undef, 'attr');
54     $attr->specified (0);
55     my $r4 = $el->$method ($attr);
56     ok $r4, undef, "$method return [3]";
57     ok $attr->owner_element, $el, "$method owner_element [3]";
58     ok $attr->specified ? 1 : 0, 0, "$method specified [3]";
59     ok $el->get_attribute_node_ns (undef, 'attr'), $attr,
60     "$method get_attribute_node_ns [3]";
61     ok $el->get_attribute_ns (undef, 'attr'), 'value',
62     "$method get_attribute_ns [3]";
63     }
64    
65     =head1 LICENSE
66    
67     Copyright 2007 Wakaba <w@suika.fam.cx>
68    
69     This program is free software; you can redistribute it and/or
70     modify it under the same terms as Perl itself.
71    
72     =cut
73    
74     ## $Date: 2007/06/16 08:49:00 $

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24