OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <title>LookupNamespaceURI and IsDefaultNamespace tests</title> | |
5 <script src=../../../../resources/testharness.js></script> | |
6 <script src=../../../../resources/testharnessreport.js></script> | |
7 </head> | |
8 <body> | |
9 <h1>LookupNamespaceURI and IsDefaultNamespace</h1> | |
10 <div id="log"/> | |
11 <script> | |
12 function lookupNamespaceURI(node, prefix, expected, name) { | |
13 test(function() { | |
14 assert_equals(node.lookupNamespaceURI(prefix), expected); | |
15 }, name); | |
16 } | |
17 | |
18 function isDefaultNamespace(node, namespace, expected, name) { | |
19 test(function() { | |
20 assert_equals(node.isDefaultNamespace(namespace), expected); | |
21 }, name); | |
22 } | |
23 | |
24 | |
25 var frag = document.createDocumentFragment(); | |
26 lookupNamespaceURI(frag, null, null, 'DocumentFragment should have null namespac
e, prefix null'); | |
27 lookupNamespaceURI(frag, '', null, 'DocumentFragment should have null namespace,
prefix ""'); | |
28 lookupNamespaceURI(frag, 'foo', null, 'DocumentFragment should have null namespa
ce, prefix "foo"'); | |
29 lookupNamespaceURI(frag, 'xmlns', null, 'DocumentFragment should have null names
pace, prefix "xmlns"'); | |
30 isDefaultNamespace(frag, null, true, 'DocumentFragment is in default namespace,
prefix null'); | |
31 isDefaultNamespace(frag, '', true, 'DocumentFragment is in default namespace, pr
efix ""'); | |
32 isDefaultNamespace(frag, 'foo', false, 'DocumentFragment is in default namespace
, prefix "foo"'); | |
33 isDefaultNamespace(frag, 'xmlns', false, 'DocumentFragment is in default namespa
ce, prefix "xmlns"'); | |
34 | |
35 | |
36 | |
37 var fooElem = document.createElementNS('fooNamespace', 'prefix:elem'); | |
38 fooElem.setAttribute('bar', 'value'); | |
39 | |
40 lookupNamespaceURI(fooElem, null, null, 'Element should have null namespace, pre
fix null'); | |
41 lookupNamespaceURI(fooElem, '', null, 'Element should have null namespace, prefi
x ""'); | |
42 lookupNamespaceURI(fooElem, 'fooNamespace', null, 'Element should not have names
pace matching prefix with namespaceURI value'); | |
43 lookupNamespaceURI(fooElem, 'xmlns', null, 'Element should not have XMLNS namesp
ace'); | |
44 lookupNamespaceURI(fooElem, 'prefix', 'fooNamespace', 'Element has namespace URI
matching prefix'); | |
45 isDefaultNamespace(fooElem, null, true, 'Empty namespace is not default, prefix
null'); | |
46 isDefaultNamespace(fooElem, '', true, 'Empty namespace is not default, prefix ""
'); | |
47 isDefaultNamespace(fooElem, 'fooNamespace', false, 'fooNamespace is not default'
); | |
48 isDefaultNamespace(fooElem, 'http://www.w3.org/2000/xmlns/', false, 'xmlns names
pace is not default'); | |
49 | |
50 fooElem.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:bar', 'barURI'); | |
51 fooElem.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'bazURI'); | |
52 | |
53 lookupNamespaceURI(fooElem, null, 'bazURI', 'Element should have baz namespace,
prefix null'); | |
54 lookupNamespaceURI(fooElem, '', 'bazURI', 'Element should have baz namespace, pr
efix ""'); | |
55 lookupNamespaceURI(fooElem, 'xmlns', null, 'Element does not has namespace with
xlmns prefix'); | |
56 lookupNamespaceURI(fooElem, 'bar', 'barURI', 'Element has bar namespace'); | |
57 | |
58 isDefaultNamespace(fooElem, null, false, 'Empty namespace is not default on fooE
lem, prefix null'); | |
59 isDefaultNamespace(fooElem, '', false, 'Empty namespace is not default on fooEle
m, prefix ""'); | |
60 isDefaultNamespace(fooElem, 'barURI', false, 'bar namespace is not default'); | |
61 isDefaultNamespace(fooElem, 'bazURI', true, 'baz namespace is default'); | |
62 | |
63 var comment = document.createComment('comment'); | |
64 fooElem.appendChild(comment); | |
65 | |
66 lookupNamespaceURI(comment, null, 'bazURI', 'Comment should inherit baz namespac
e'); | |
67 lookupNamespaceURI(comment, '', 'bazURI', 'Comment should inherit baz namespace
'); | |
68 lookupNamespaceURI(comment, 'prefix', 'fooNamespace', 'Comment should inherit na
mespace URI matching prefix'); | |
69 lookupNamespaceURI(comment, 'bar', 'barURI', 'Comment should inherit bar namespa
ce'); | |
70 | |
71 isDefaultNamespace(comment, null, false, 'For comment, empty namespace is not de
fault, prefix null'); | |
72 isDefaultNamespace(comment, '', false, 'For comment, empty namespace is not defa
ult, prefix ""'); | |
73 isDefaultNamespace(comment, 'fooNamespace', false, 'For comment, fooNamespace is
not default'); | |
74 isDefaultNamespace(comment, 'http://www.w3.org/2000/xmlns/', false, 'For comment
, xmlns namespace is not default'); | |
75 isDefaultNamespace(comment, 'barURI', false, 'For comment, inherited bar namespa
ce is not default'); | |
76 isDefaultNamespace(comment, 'bazURI', true, 'For comment, inherited baz namespac
e is default'); | |
77 | |
78 var fooChild = document.createElementNS('childNamespace', 'childElem'); | |
79 fooElem.appendChild(fooChild); | |
80 | |
81 lookupNamespaceURI(fooChild, null, 'childNamespace', 'Child element should inher
it baz namespace'); | |
82 lookupNamespaceURI(fooChild, '', 'childNamespace', 'Child element should have nu
ll namespace'); | |
83 lookupNamespaceURI(fooChild, 'xmlns', null, 'Child element should not have XMLNS
namespace'); | |
84 lookupNamespaceURI(fooChild, 'prefix', 'fooNamespace', 'Child element has namesp
ace URI matching prefix'); | |
85 | |
86 isDefaultNamespace(fooChild, null, false, 'Empty namespace is not default for ch
ild, prefix null'); | |
87 isDefaultNamespace(fooChild, '', false, 'Empty namespace is not default for chil
d, prefix ""'); | |
88 isDefaultNamespace(fooChild, 'fooNamespace', false, 'fooNamespace is not default
for child'); | |
89 isDefaultNamespace(fooChild, 'http://www.w3.org/2000/xmlns/', false, 'xmlns name
space is not default for child'); | |
90 isDefaultNamespace(fooChild, 'barURI', false, 'bar namespace is not default for
child'); | |
91 isDefaultNamespace(fooChild, 'bazURI', false, 'baz namespace is default for chil
d'); | |
92 isDefaultNamespace(fooChild, 'childNamespace', true, 'childNamespace is default
for child'); | |
93 | |
94 document.documentElement.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:
bar', 'barURI'); | |
95 document.documentElement.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns'
, 'bazURI'); | |
96 | |
97 lookupNamespaceURI(document, null, 'http://www.w3.org/1999/xhtml', 'Document sho
uld have xhtml namespace, prefix null'); | |
98 lookupNamespaceURI(document, '', 'http://www.w3.org/1999/xhtml', 'Document shoul
d have xhtml namespace, prefix ""'); | |
99 lookupNamespaceURI(document, 'prefix', null, 'Document has no namespace URI matc
hing prefix'); | |
100 lookupNamespaceURI(document, 'bar', 'barURI', 'Document has bar namespace'); | |
101 | |
102 isDefaultNamespace(document, null, false, 'For document, empty namespace is not
default, prefix null'); | |
103 isDefaultNamespace(document, '', false, 'For document, empty namespace is not de
fault, prefix ""'); | |
104 isDefaultNamespace(document, 'fooNamespace', false, 'For document, fooNamespace
is not default'); | |
105 isDefaultNamespace(document, 'http://www.w3.org/2000/xmlns/', false, 'For docume
nt, xmlns namespace is not default'); | |
106 isDefaultNamespace(document, 'barURI', false, 'For document, bar namespace is no
t default'); | |
107 isDefaultNamespace(document, 'bazURI', false, 'For document, baz namespace is no
t default'); | |
108 isDefaultNamespace(document, 'http://www.w3.org/1999/xhtml', true, 'For document
, xhtml namespace is default'); | |
109 | |
110 var comment = document.createComment('comment'); | |
111 document.appendChild(comment); | |
112 lookupNamespaceURI(comment, 'bar', null, 'Comment does not have bar namespace'); | |
113 | |
114 </script> | |
115 </body> | |
116 </html> | |
OLD | NEW |