1 """testcases for cssutils.css.CSSStyleRuleTestCase"""
2 __author__ = '$LastChangedBy: cthedot $'
3 __date__ = '$LastChangedDate: 2007-10-27 21:33:00 +0200 (Sa, 27 Okt 2007) $'
4 __version__ = '$LastChangedRevision: 579 $'
5
6 import xml.dom
7 import test_cssrule
8 import cssutils
9
11
18
29
33
44
45 - def test_cssText(self):
46 "CSSStyleRule.cssText"
47 tests = {
48 u'* {}': u'',
49 u'a {}': u'',
50 }
51 self.do_equal_p(tests)
52
53
54 cssutils.ser.prefs.keepEmptyRules = True
55 tests = {
56 u'''a\n{color: #000}''': 'a {\n color: #000\n }',
57 u'''a\n{color: #000000}''': 'a {\n color: #000000\n }',
58 u'''a\n{color: #abc}''': 'a {\n color: #abc\n }',
59 u'''a\n{color: #abcdef}''': 'a {\n color: #abcdef\n }',
60 u'''a\n{color: #00a}''': 'a {\n color: #00a\n }',
61 u'''a\n{color: #1a1a1a}''': 'a {\n color: #1a1a1a\n }',
62 u'''#id\n{ color: red }''': '#id {\n color: red\n }',
63 u'''* {}''': None,
64 u'a {}': None,
65 u'b { a: 1; }': u'b {\n a: 1\n }',
66
67 u'c1 {/*1*/a:1;}': u'c1 {\n /*1*/\n a: 1\n }',
68 u'c2 {a:1;/*2*/}': u'c2 {\n a: 1;\n /*2*/\n }',
69 u'd1 {/*0*/}': u'd1 {\n /*0*/\n }',
70 u'd2 {/*0*//*1*/}': u'd2 {\n /*0*/\n /*1*/\n }'
71 }
72 self.do_equal_p(tests)
73 self.do_equal_r(tests)
74
75 tests = {
76 u'''a;''': xml.dom.SyntaxErr,
77 u'''a {{}''': xml.dom.SyntaxErr,
78 u'''a }''': xml.dom.SyntaxErr,
79 }
80 self.do_raise_p(tests)
81 tests.update({
82 u'''a {}x''': xml.dom.SyntaxErr,
83 u'''/*x*/''': xml.dom.SyntaxErr,
84 u'''a {''': xml.dom.SyntaxErr,
85 })
86 self.do_raise_r(tests)
87 cssutils.ser.prefs.useDefaults()
88
104
106 "CSSStyleRule.selectorText"
107 r = cssutils.css.CSSStyleRule()
108
109 r.selectorText = u'a'
110 self.assertEqual(1, r.selectorList.length)
111 self.assertEqual(u'a', r.selectorText)
112
113 r.selectorText = u' b, h1 '
114 self.assertEqual(2, r.selectorList.length)
115 self.assertEqual(u'b, h1', r.selectorText)
116
125
127 "CSSStyleRule.__repr__(), .__str__()"
128 sel=u'a>b+c'
129
130 s = cssutils.css.CSSStyleRule(selectorText=sel)
131
132 self.assert_(sel in str(s))
133
134 s2 = eval(repr(s))
135 self.assert_(isinstance(s2, s.__class__))
136 self.assert_(sel == s2.selectorText)
137
138
139 if __name__ == '__main__':
140 import unittest
141 unittest.main()
142