Changeset 5764
- Timestamp:
- 11/24/08 12:58:26 (2 months ago)
- Files:
-
- branches/1.1/turbogears/widgets/base.py (modified) (2 diffs)
- branches/1.1/turbogears/widgets/tests/test_widgets.py (modified) (1 diff)
- branches/1.5/turbogears/widgets/base.py (modified) (2 diffs)
- branches/1.5/turbogears/widgets/tests/test_widgets.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.1/turbogears/widgets/base.py
r5667 r5764 461 461 def __new__(meta, class_name, bases, class_dict): 462 462 declared_widgets = [] 463 for base in bases: 464 declared_widgets.extend(getattr(base, 'declared_widgets', [])) 463 465 for name, value in class_dict.items(): 464 466 if isinstance(value, Widget): … … 483 485 484 486 def __init__(self, *args): 487 super(WidgetsList, self).__init__(self.declared_widgets) 485 488 if args: 486 if len(args) > 1: 487 args = [args] 488 elif isinstance(args[0], Widget): 489 args = [[args[0]]] 490 super(WidgetsList, self).__init__(*args) 491 self.extend(self.declared_widgets) 489 if len(args) == 1: 490 args = args[0] 491 if isinstance(args, Widget): 492 args = [args] 493 self.extend(args) 492 494 if not self: 493 495 warnings.warn("You have declared an empty WidgetsList") branches/1.1/turbogears/widgets/tests/test_widgets.py
r5685 r5764 187 187 assert widgetlist[0] == w 188 188 assert widgetlist[1] == w2 189 w3, w4 = widgets.Widget(), widgets.Widget() 190 widgetlist = W([w3, w4]) 191 assert len(widgetlist) == 4 192 assert widgetlist[0] == w 193 assert widgetlist[1] == w2 194 assert widgetlist[2] == w3 195 assert widgetlist[3] == w4 196 197 def test_widgetslist_inheritance(): 198 """Widget lists can inherit fields.""" 199 w = widgets.Widget(name="foo") 200 class W(widgets.WidgetsList): 201 foo = w 202 w2 = widgets.Widget(name="bar") 203 class W2(W): 204 bar = w2 205 widgetlist = W2() 206 assert len(widgetlist) == 2 207 assert widgetlist[0] == w 208 assert widgetlist[1] == w2 209 w3, w4 = widgets.Widget(), widgets.Widget() 210 widgetlist = W2([w3, w4]) 211 assert len(widgetlist) == 4 212 assert widgetlist[0] == w 213 assert widgetlist[1] == w2 214 assert widgetlist[2] == w3 215 assert widgetlist[3] == w4 189 216 190 217 def test_widget_url(): branches/1.5/turbogears/widgets/base.py
r5508 r5764 461 461 def __new__(meta, class_name, bases, class_dict): 462 462 declared_widgets = [] 463 for base in bases: 464 declared_widgets.extend(getattr(base, 'declared_widgets', [])) 463 465 for name, value in class_dict.items(): 464 466 if isinstance(value, Widget): … … 483 485 484 486 def __init__(self, *args): 487 super(WidgetsList, self).__init__(self.declared_widgets) 485 488 if args: 486 if len(args) > 1: 487 args = [args] 488 elif isinstance(args[0], Widget): 489 args = [[args[0]]] 490 super(WidgetsList, self).__init__(*args) 491 self.extend(self.declared_widgets) 489 if len(args) == 1: 490 args = args[0] 491 if isinstance(args, Widget): 492 args = [args] 493 self.extend(args) 492 494 if not self: 493 495 warnings.warn("You have declared an empty WidgetsList") branches/1.5/turbogears/widgets/tests/test_widgets.py
r5190 r5764 187 187 assert widgetlist[0] == w 188 188 assert widgetlist[1] == w2 189 w3, w4 = widgets.Widget(), widgets.Widget() 190 widgetlist = W([w3, w4]) 191 assert len(widgetlist) == 4 192 assert widgetlist[0] == w 193 assert widgetlist[1] == w2 194 assert widgetlist[2] == w3 195 assert widgetlist[3] == w4 196 197 def test_widgetslist_inheritance(): 198 """Widget lists can inherit fields.""" 199 w = widgets.Widget(name="foo") 200 class W(widgets.WidgetsList): 201 foo = w 202 w2 = widgets.Widget(name="bar") 203 class W2(W): 204 bar = w2 205 widgetlist = W2() 206 assert len(widgetlist) == 2 207 assert widgetlist[0] == w 208 assert widgetlist[1] == w2 209 w3, w4 = widgets.Widget(), widgets.Widget() 210 widgetlist = W2([w3, w4]) 211 assert len(widgetlist) == 4 212 assert widgetlist[0] == w 213 assert widgetlist[1] == w2 214 assert widgetlist[2] == w3 215 assert widgetlist[3] == w4 189 216 190 217 def test_widget_url():