def test_widget(self): choices = ( ('test-val1', 'test-label1'), ('test-val2', 'test-label2'), ) w = LinkWidget(choices=choices) self.assertEqual(len(w.choices), 2) self.assertHTMLEqual( w.render('price', ''), """ <ul> <li><a href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""") self.assertHTMLEqual( w.render('price', None), """ <ul> <li><a href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""") self.assertHTMLEqual( w.render('price', 'test-val1'), """ <ul> <li><a class="selected" href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""")
def test_widget(self): choices = ( ('test-val1', 'test-label1'), ('test-val2', 'test-label2'), ) w = LinkWidget(choices=choices) self.assertEqual(len(w.choices), 2) self.assertHTMLEqual(w.render('price', ''), """ <ul> <li><a href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""") self.assertHTMLEqual(w.render('price', None), """ <ul> <li><a href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""") self.assertHTMLEqual(w.render('price', 'test-val1'), """ <ul> <li><a class="selected" href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""")
def test_widget_with_blank_choice(self): choices = ( ('', '---------'), ('test-val1', 'test-label1'), ('test-val2', 'test-label2'), ) w = LinkWidget(choices=choices) self.assertHTMLEqual(w.render('price', ''), """ <ul> <li><a class="selected" href="?price=">All</a></li> <li><a href="?price=test-val1">test-label1</a></li> <li><a href="?price=test-val2">test-label2</a></li> </ul>""")
def test_widget_with_option_groups(self): choices = ( ('Audio', ( ('vinyl', 'Vinyl'), ('cd', 'CD'), )), ('Video', ( ('vhs', 'VHS Tape'), ('dvd', 'DVD'), )), ('unknown', 'Unknown'), ) w = LinkWidget(choices=choices) self.assertHTMLEqual(w.render('media', ''), """ <ul> <li><a href="?media=vinyl">Vinyl</a></li> <li><a href="?media=cd">CD</a></li> <li><a href="?media=vhs">VHS Tape</a></li> <li><a href="?media=dvd">DVD</a></li> <li><a href="?media=unknown">Unknown</a></li> </ul>""")
def test_widget_without_choices(self): w = LinkWidget() self.assertEqual(len(w.choices), 0) self.assertHTMLEqual(w.render('price', ''), """<ul />""")