%PDF- %PDF-
Direktori : /lib/python3/dist-packages/cssutils/tests/ |
Current File : //lib/python3/dist-packages/cssutils/tests/test_marginrule.py |
"""Testcases for cssutils.css.CSSPageRule""" import xml.dom from . import test_cssrule import cssutils class MarginRuleTestCase(test_cssrule.CSSRuleTestCase): def setUp(self): super(MarginRuleTestCase, self).setUp() cssutils.ser.prefs.useDefaults() self.r = cssutils.css.MarginRule() self.rRO = cssutils.css.MarginRule(readonly=True) self.r_type = cssutils.css.MarginRule.MARGIN_RULE self.r_typeString = 'MARGIN_RULE' def tearDown(self): cssutils.ser.prefs.useDefaults() def test_init(self): "MarginRule.__init__()" r = cssutils.css.MarginRule() self.assertEqual(r.margin, None) self.assertEqual(r.atkeyword, None) self.assertEqual(r._keyword, None) self.assertEqual(r.style.cssText, '') self.assertEqual(r.cssText, '') r = cssutils.css.MarginRule(margin='@TOP-left') self.assertEqual(r.margin, '@top-left') self.assertEqual(r.atkeyword, '@top-left') self.assertEqual(r._keyword, '@TOP-left') self.assertEqual(r.style.cssText, '') self.assertEqual(r.cssText, '') self.assertRaises(xml.dom.InvalidModificationErr, cssutils.css.MarginRule, '@x') def test_InvalidModificationErr(self): "MarginRule.cssText InvalidModificationErr" # TODO: !!! # self._test_InvalidModificationErr(u'@top-left') # tests = { # u'@x {}': xml.dom.InvalidModificationErr, # } # self.do_raise_r(tests) def test_incomplete(self): "MarginRule (incomplete)" # must be inside @page as not valid outside tests = { '@page { @top-left { ': '', # no } and no content '@page { @top-left { /*1*/ ': '', # no } and no content '@page { @top-left { color: red': '@page {\n @top-left {\n color: red\n }\n }' } self.do_equal_p(tests) # parse def test_cssText(self): tests = { '@top-left {}': '', '@top-left { /**/ }': '', '@top-left { color: red }': '@top-left {\n color: red\n }', '@top-left{color:red;}': '@top-left {\n color: red\n }', '@top-left{color:red}': '@top-left {\n color: red\n }', '@top-left { color: red; left: 0 }': '@top-left {\n color: red;\n left: 0\n }' } self.do_equal_r(tests) # TODO tests.update({ # false selector # u'@top-left { color:': xml.dom.SyntaxErr, # no } # u'@top-left { color': xml.dom.SyntaxErr, # no } # u'@top-left {': xml.dom.SyntaxErr, # no } # u'@top-left': xml.dom.SyntaxErr, # no } # u'@top-left;': xml.dom.SyntaxErr, # no } }) # self.do_raise_r(tests) # set cssText def test_reprANDstr(self): "MarginRule.__repr__(), .__str__()" margin = '@top-left' s = cssutils.css.MarginRule(margin=margin, style='left: 0') self.assertTrue(margin in str(s)) s2 = eval(repr(s)) self.assertTrue(isinstance(s2, s.__class__)) self.assertTrue(margin == s2.margin) if __name__ == '__main__': import unittest unittest.main()