def test_frame(self):
s1 = urwid.SolidFill(u'1')
f = urwid.Frame(s1)
self.assertEqual(f.focus, s1)
self.assertEqual(f.focus_position, 'body')
self.assertRaises(IndexError, lambda: setattr(f, 'focus_position',
None))
self.assertRaises(IndexError, lambda: setattr(f, 'focus_position',
'header'))
t1 = urwid.Text(u'one')
t2 = urwid.Text(u'two')
t3 = urwid.Text(u'three')
f = urwid.Frame(s1, t1, t2, 'header')
self.assertEqual(f.focus, t1)
self.assertEqual(f.focus_position, 'header')
f.focus_position = 'footer'
self.assertEqual(f.focus, t2)
self.assertEqual(f.focus_position, 'footer')
self.assertRaises(IndexError, lambda: setattr(f, 'focus_position', -1))
self.assertRaises(IndexError, lambda: setattr(f, 'focus_position', 2))
del f.contents['footer']
self.assertEqual(f.footer, None)
self.assertEqual(f.focus_position, 'body')
f.contents.update(footer=(t3, None), header=(t2, None))
self.assertEqual(f.header, t2)
self.assertEqual(f.footer, t3)
def set1():
f.contents['body'] = t1
self.assertRaises(urwid.FrameError, set1)
def set2():
f.contents['body'] = (t1, 'given')
self.assertRaises(urwid.FrameError, set2)
评论列表
文章目录