Package cssutils :: Package tests :: Module test_cssnamespacerule
[hide private]
[frames] | no frames]

Source Code for Module cssutils.tests.test_cssnamespacerule

  1  """testcases for cssutils.css.CSSImportRule""" 
  2  __author__ = '$LastChangedBy: doerwalter $' 
  3  __date__ = '$LastChangedDate: 2007-08-02 22:58:23 +0200 (Do, 02 Aug 2007) $' 
  4  __version__ = '0.9.2a5, $LastChangedRevision: 160 $' 
  5   
  6   
  7  import xml.dom 
  8   
  9  import test_cssrule 
 10   
 11  import cssutils 
 12   
 13   
14 -class CSSNamespaceRuleTestCase(test_cssrule.CSSRuleTestCase):
15
16 - def setUp(self):
17 super(CSSNamespaceRuleTestCase, self).setUp() 18 self.r = cssutils.css.CSSNamespaceRule() 19 self.rRO = cssutils.css.CSSNamespaceRule(readonly=True) 20 self.r_type = cssutils.css.CSSRule.NAMESPACE_RULE
21 22
23 - def test_init(self):
24 "CSSNamespaceRule.__init__()" 25 super(CSSNamespaceRuleTestCase, self).test_init() 26 27 self.assertEqual(None, self.r.uri) 28 self.assertEqual(u'', self.r.prefix) 29 self.assertEqual(u'', self.r.cssText)
30 31
33 "CSSNamespaceRule.cssText InvalidModificationErr" 34 self._test_InvalidModificationErr(u'@namespace')
35 36
37 - def test_incomplete(self):
38 "CSSNamespaceRule (incomplete)" 39 tests = { 40 u'@namespace "uri': u'@namespace "uri";' 41 } 42 self.do_equal_p(tests) # parse
43
44 - def test_initparameter(self):
45 "CSSNamespaceRule.__init__(uri=None, prefix=u'')" 46 r = cssutils.css.CSSNamespaceRule(u'uri', u'prefix') 47 self.assertEqual(u'uri', r.uri) 48 self.assertEqual(u'prefix', r.prefix) 49 self.assertEqual(u'@namespace prefix "uri";', r.cssText) 50 51 r = cssutils.css.CSSNamespaceRule(u'uri') 52 self.assertEqual(u'uri', r.uri) 53 self.assertEqual(u'', r.prefix) 54 self.assertEqual(u'@namespace "uri";', r.cssText)
55 56
57 - def test_uri(self):
58 "CSSNamespaceRule.uri" 59 # set 60 self.r.uri = 'x' 61 self.assertEqual('x' , self.r.uri) 62 self.assertEqual(u'@namespace "x";', self.r.cssText) 63 64 self.r.uri = '"' # weird but legal 65 self.assertEqual(u'@namespace "\\"";', self.r.cssText)
66 67
68 - def test_prefix(self):
69 "CSSNamespaceRule.prefix" 70 r = cssutils.css.CSSNamespaceRule() 71 # set 72 r.prefix = 'p' 73 self.assertEqual('p' , r.prefix) 74 self.assertEqual(u'', r.cssText) 75 r.uri = 'u' 76 self.assertEqual('p' , r.prefix) 77 self.assertEqual(u'@namespace p "u";', r.cssText)
78 79
80 - def test_cssText(self):
81 "CSSNamespaceRule.cssText" 82 tests = { 83 u'@namespace p "u";': None, 84 u"@namespace p 'u';": u'@namespace p "u";', 85 86 u'@\\namespace p "u";': u'@namespace p "u";', 87 u'@NAMESPACE p "u";': u'@namespace p "u";', 88 89 u'@namespace p "u" ;': u'@namespace p "u";', 90 u'@namespace p"u";': u'@namespace p "u";', 91 u'@namespace p "u";': u'@namespace p "u";', 92 93 u'@namespace/*1*/p/*2*/"u"/*3*/;': u'@namespace/*1*/ p/*2*/ "u"/*3*/;', 94 95 # deprecated 96 u'@namespace p url(u);': u'@namespace p "u";', 97 u'@namespace p url(\'u\');': u'@namespace p "u";', 98 u'@namespace p url(\"u\");': u'@namespace p "u";', 99 u'@namespace p url( \"u\" );': u'@namespace p "u";', 100 } 101 self.do_equal_p(tests) 102 self.do_equal_r(tests) 103 104 tests = { 105 u'@namespace;': xml.dom.SyntaxErr, # nothing 106 u'@namespace p;': xml.dom.SyntaxErr, # no uri 107 u'@namespace "u" p;': xml.dom.SyntaxErr, # order 108 } 109 self.do_raise_p(tests) # parse 110 tests.update({ 111 u'@namespace p url(x)': xml.dom.SyntaxErr, # missing ; 112 u'@namespace p "u"': xml.dom.SyntaxErr, # missing ; 113 }) 114 self.do_raise_r(tests) # set cssText
115 116 117 if __name__ == '__main__': 118 import unittest 119 unittest.main() 120