def test_media(self): "CSSImportRule.media" self.r.href = 'x' # @import url(x) # media is readonly self.assertRaises(AttributeError, self.r.__setattr__, 'media', None) # but not static self.r.media.mediaText = 'print' self.assertEqual(u'@import url(x) print;', self.r.cssText) self.r.media.appendMedium('tv') self.assertEqual(u'@import url(x) print, tv;', self.r.cssText) # for generated rule r = cssutils.css.CSSImportRule(href='x') self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), r.media.appendMedium, 'tv') self.assertEqual(u'@import url(x);', r.cssText) self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), r.media.appendMedium, 'tv') self.assertEqual(u'@import url(x);', r.cssText) r.media.mediaText = 'tv' self.assertEqual(u'@import url(x) tv;', r.cssText) r.media.appendMedium('print') # all + tv = all! self.assertEqual(u'@import url(x) tv, print;', r.cssText) # for parsed rule without initial media s = cssutils.parseString('@import url(x);') r = s.cssRules[0] self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), r.media.appendMedium, 'tv') self.assertEqual(u'@import url(x);', r.cssText) self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), r.media.appendMedium, 'tv') self.assertEqual(u'@import url(x);', r.cssText) r.media.mediaText = 'tv' self.assertEqual(u'@import url(x) tv;', r.cssText) r.media.appendMedium('print') # all + tv = all! self.assertEqual(u'@import url(x) tv, print;', r.cssText)
def test_append2All(self): "MediaList all" ml = cssutils.stylesheets.MediaList() ml.appendMedium(u'all') self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'print') as already specified "all" (set ``mediaText`` instead).'''), ml.appendMedium, 'print') sheet = cssutils.parseString('@media all, print { /**/ }') self.assertEqual(u'@media all {\n /**/\n }'.encode(), sheet.cssText)
def test_handheld(self): "MediaList handheld" ml = cssutils.stylesheets.MediaList() ml.mediaText = u' handheld , all ' self.assertEqual(2, ml.length) self.assertEqual(u'all, handheld', ml.mediaText) self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), ml._setMediaText, u' handheld , all , tv ')
def test_append2All(self): "MediaList all" ml = cssutils.stylesheets.MediaList() ml.appendMedium(u'all') self.assertRaisesMsg( xml.dom.InvalidModificationErr, basetest.msg3x( '''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'print') as already specified "all" (set ``mediaText`` instead).''' ), ml.appendMedium, 'print') sheet = cssutils.parseString('@media all, print { /**/ }') self.assertEqual(u'@media all {\n /**/\n }'.encode(), sheet.cssText)
def test_handheld(self): "MediaList handheld" ml = cssutils.stylesheets.MediaList() ml.mediaText = u' handheld , all ' self.assertEqual(2, ml.length) self.assertEqual(u'all, handheld', ml.mediaText) self.assertRaisesMsg( xml.dom.InvalidModificationErr, basetest.msg3x( '''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).''' ), ml._setMediaText, u' handheld , all , tv ')
def test_appendAll(self): "MediaList.append() 2" ml = cssutils.stylesheets.MediaList() ml.appendMedium(u'print') ml.appendMedium(u'tv') self.assertEqual(2, ml.length) self.assertEqual(u'print, tv', ml.mediaText) ml.appendMedium(u'all') self.assertEqual(1, ml.length) self.assertEqual(u'all', ml.mediaText) self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), ml.appendMedium, 'tv') self.assertEqual(1, ml.length) self.assertEqual(u'all', ml.mediaText) self.assertRaises(xml.dom.SyntaxErr, ml.appendMedium, u'test')
def test_set(self): "MediaList.mediaText 1" ml = cssutils.stylesheets.MediaList() self.assertEqual(0, ml.length) self.assertEqual(u'all', ml.mediaText) ml.mediaText = u' print , screen ' self.assertEqual(2, ml.length) self.assertEqual(u'print, screen', ml.mediaText) self.assertRaisesMsg(xml.dom.InvalidModificationErr, basetest.msg3x('''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).'''), ml._setMediaText, u' print , all , tv ') self.assertEqual(u'all', ml.mediaText) self.assertEqual(1, ml.length) self.assertRaises(xml.dom.InvalidCharacterErr, ml.appendMedium, u'test')
def test_appendAll(self): "MediaList.append() 2" ml = cssutils.stylesheets.MediaList() ml.appendMedium(u'print') ml.appendMedium(u'tv') self.assertEqual(2, ml.length) self.assertEqual(u'print, tv', ml.mediaText) ml.appendMedium(u'all') self.assertEqual(1, ml.length) self.assertEqual(u'all', ml.mediaText) self.assertRaisesMsg( xml.dom.InvalidModificationErr, basetest.msg3x( '''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).''' ), ml.appendMedium, 'tv') self.assertEqual(1, ml.length) self.assertEqual(u'all', ml.mediaText) self.assertRaises(xml.dom.SyntaxErr, ml.appendMedium, u'test')
def test_set(self): "MediaList.mediaText 1" ml = cssutils.stylesheets.MediaList() self.assertEqual(0, ml.length) self.assertEqual(u'all', ml.mediaText) ml.mediaText = u' print , screen ' self.assertEqual(2, ml.length) self.assertEqual(u'print, screen', ml.mediaText) self.assertRaisesMsg( xml.dom.InvalidModificationErr, basetest.msg3x( '''MediaList: Ignoring new medium cssutils.stylesheets.MediaQuery(mediaText=u'tv') as already specified "all" (set ``mediaText`` instead).''' ), ml._setMediaText, u' print , all , tv ') self.assertEqual(u'all', ml.mediaText) self.assertEqual(1, ml.length) self.assertRaises(xml.dom.InvalidCharacterErr, ml.appendMedium, u'test')