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

Source Code for Module cssutils.tests.test_medialist

  1  # -*- coding: iso-8859-1 -*- 
  2  """ 
  3  testcases for cssutils.stylesheets.MediaList 
  4  """ 
  5  __author__ = '$LastChangedBy: doerwalter $' 
  6  __date__ = '$LastChangedDate: 2007-08-02 22:58:23 +0200 (Do, 02 Aug 2007) $' 
  7  __version__ = '0.9.2a1, $LastChangedRevision: 160 $' 
  8   
  9  import xml.dom 
 10   
 11  import basetest 
 12   
 13  import cssutils.stylesheets 
 14   
 15   
16 -class MediaListTestCase(basetest.BaseTestCase):
17
18 - def setUp(self):
19 super(MediaListTestCase, self).setUp() 20 self.r = cssutils.stylesheets.MediaList()
21 22
23 - def test_set(self):
24 "MediaList.mediaText 1" 25 ml = cssutils.stylesheets.MediaList() 26 27 self.assertEqual(0, ml.length) 28 self.assertEqual(u'all', ml.mediaText) 29 30 ml.mediaText = u' print , screen ' 31 self.assertEqual(2, ml.length) 32 self.assertEqual(u'print, screen', ml.mediaText) 33 34 ml.mediaText = u' print , all , screen ' 35 self.assertEqual(1, ml.length) 36 self.assertEqual(u'all', ml.mediaText) 37 38 self.assertRaises(xml.dom.InvalidCharacterErr, 39 ml._setMediaText, u'test')
40
41 - def test_append(self):
42 "MediaList.append() 1" 43 ml = cssutils.stylesheets.MediaList() 44 45 ml.appendMedium(u'print') 46 self.assertEqual(1, ml.length) 47 self.assertEqual(u'print', ml.mediaText) 48 49 ml.appendMedium(u'screen') 50 self.assertEqual(2, ml.length) 51 self.assertEqual(u'print, screen', ml.mediaText) 52 53 # automatic del and append! 54 ml.appendMedium(u'print') 55 self.assertEqual(2, ml.length) 56 self.assertEqual(u'screen, print', ml.mediaText) 57 58 # automatic del and append! 59 ml.appendMedium(u'SCREEN') 60 self.assertEqual(2, ml.length) 61 self.assertEqual(u'print, screen', ml.mediaText)
62
63 - def test_appendAll(self):
64 "MediaList.append() 2" 65 ml = cssutils.stylesheets.MediaList() 66 ml.appendMedium(u'print') 67 ml.appendMedium(u'tv') 68 self.assertEqual(2, ml.length) 69 self.assertEqual(u'print, tv', ml.mediaText) 70 71 ml.appendMedium(u'all') 72 self.assertEqual(1, ml.length) 73 self.assertEqual(u'all', ml.mediaText) 74 75 ml.appendMedium(u'print') 76 self.assertEqual(1, ml.length) 77 self.assertEqual(u'all', ml.mediaText) 78 79 self.assertRaises(xml.dom.InvalidCharacterErr, ml.appendMedium, u'test')
80
81 - def test_delete(self):
82 "MediaList.deleteMedium()" 83 ml = cssutils.stylesheets.MediaList() 84 85 self.assertRaises(xml.dom.NotFoundErr, ml.deleteMedium, u'all') 86 self.assertRaises(xml.dom.NotFoundErr, ml.deleteMedium, u'test') 87 88 ml.appendMedium(u'print') 89 ml.deleteMedium(u'print') 90 ml.appendMedium(u'tV') 91 ml.deleteMedium(u'Tv') 92 self.assertEqual(0, ml.length) 93 self.assertEqual(u'all', ml.mediaText)
94
95 - def test_item(self):
96 "MediaList.item()" 97 ml = cssutils.stylesheets.MediaList() 98 ml.appendMedium(u'print') 99 ml.appendMedium(u'screen') 100 101 self.assertEqual(u'print', ml.item(0)) 102 self.assertEqual(u'screen', ml.item(1)) 103 self.assertEqual(None, ml.item(2))
104
105 - def test_handheld(self):
106 "MediaList handheld" 107 ml = cssutils.stylesheets.MediaList() 108 109 ml.mediaText = u' handheld , all , screen ' 110 self.assertEqual(1, ml.length) 111 # keeps all explicitly set incl , 112 self.assertEqual(5, len(ml.seq)) # ? 113 self.assertEqual(u'handheld, all', ml.mediaText)
114
115 - def test_mediaText(self):
116 "MediaList.mediaText 2" 117 tests = { 118 u'': u'all', 119 u'ALL': u'all', 120 u'Tv': u'tv', 121 u'all': None, 122 u'all, handheld': None, 123 u'tv': None, 124 u'tv, handheld, print': None, 125 } 126 self.do_equal_r(tests, att='mediaText') 127 128 tests = { 129 u'all;': xml.dom.SyntaxErr, 130 u'UNKNOWN': xml.dom.SyntaxErr, 131 } 132 self.do_raise_p(tests)
133
134 - def test_comments(self):
135 "MediaList.mediaText comments" 136 tests = { 137 u'/*1*/tv/*2*/, /*3*/handheld/*4*/, tv': None, 138 } 139 self.do_equal_r(tests, att='mediaText')
140 141 142 if __name__ == '__main__': 143 import unittest 144 unittest.main() 145