1 """testcases for cssutils.css.CSSImportRule"""
2 __author__ = '$LastChangedBy: cthedot $'
3 __date__ = '$LastChangedDate: 2007-10-20 20:08:06 +0200 (Sa, 20 Okt 2007) $'
4 __version__ = '$LastChangedRevision: 547 $'
5
6 import xml.dom
7 import test_cssrule
8 import cssutils
9
11
18
26
30
32 "CSSNamespaceRule (incomplete)"
33 tests = {
34 u'@namespace "uri': u'@namespace "uri";',
35 u"@namespace url(x": u'@namespace "x";',
36 u"@namespace url('x": u'@namespace "x";',
37 u'@namespace url("x;': u'@namespace "x;";',
38 u'@namespace url( "x;': u'@namespace "x;";',
39 u'@namespace url("x ': u'@namespace "x ";',
40 u'@namespace url(x ': u'@namespace "x";',
41 }
42 self.do_equal_p(tests)
43 tests = {
44 u'@namespace "uri': xml.dom.SyntaxErr,
45 u"@namespace url(x": xml.dom.SyntaxErr,
46 u"@namespace url('x": xml.dom.SyntaxErr,
47 u'@namespace url("x;': xml.dom.SyntaxErr,
48 u'@namespace url( "x;': xml.dom.SyntaxErr,
49 u'@namespace url("x ': xml.dom.SyntaxErr,
50 u'@namespace url(x ': xml.dom.SyntaxErr
51 }
52 self.do_raise_r(tests)
53
65
67 "CSSNamespaceRule.namespaceURI"
68
69 self.r.namespaceURI = 'x'
70 self.assertEqual('x' , self.r.namespaceURI)
71 self.assertEqual(u'@namespace "x";', self.r.cssText)
72
73 self.assertEqual('x' , self.r.uri)
74
75 self.r.namespaceURI = '"'
76 self.assertEqual(u'@namespace "\\"";', self.r.cssText)
77
88
89 - def test_cssText(self):
90 "CSSNamespaceRule.cssText"
91 tests = {
92 u'@namespace p "u";': None,
93 u"@namespace p 'u';": u'@namespace p "u";',
94
95 u'@\\namespace p "u";': u'@namespace p "u";',
96 u'@NAMESPACE p "u";': u'@namespace p "u";',
97
98 u'@namespace p "u" ;': u'@namespace p "u";',
99 u'@namespace p"u";': u'@namespace p "u";',
100 u'@namespace p "u";': u'@namespace p "u";',
101
102 u'@namespace/*1*/p/*2*/"u"/*3*/;': u'@namespace/*1*/ p/*2*/ "u"/*3*/;',
103
104
105 u'@namespace p url(u);': u'@namespace p "u";',
106 u'@namespace p url(\'u\');': u'@namespace p "u";',
107 u'@namespace p url(\"u\");': u'@namespace p "u";',
108 u'@namespace p url( \"u\" );': u'@namespace p "u";',
109 }
110 self.do_equal_p(tests)
111 self.do_equal_r(tests)
112
113 tests = {
114 u'@namespace;': xml.dom.SyntaxErr,
115 u'@namespace p;': xml.dom.SyntaxErr,
116 u'@namespace "u" p;': xml.dom.SyntaxErr,
117 }
118 self.do_raise_p(tests)
119 tests.update({
120 u'@namespace p url(x)': xml.dom.SyntaxErr,
121 u'@namespace p "u"': xml.dom.SyntaxErr,
122 })
123 self.do_raise_r(tests)
124
139
140
141 if __name__ == '__main__':
142 import unittest
143 unittest.main()
144