Index: Y:/zope/svn_zope3/src/zope/app/form/browser/tests/test_registrations.py
===================================================================
--- Y:/zope/svn_zope3/src/zope/app/form/browser/tests/test_registrations.py	(revision 41188)
+++ Y:/zope/svn_zope3/src/zope/app/form/browser/tests/test_registrations.py	(working copy)
@@ -27,6 +27,7 @@
 # import all widgets (in this case, importing * is ok, since we
 # absolutely know what we're importing)
 from zope.app.form.browser import *
+from zope.app.form.browser.boolwidgets import BooleanDisplayWidget
 
 from zope.app.form.interfaces import IDisplayWidget, IInputWidget
 import zope.app.form.browser
@@ -71,6 +72,8 @@
         >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
         >>> isinstance(widget, DisplayWidget)
         True
+        >>> widget.__class__.__name__
+        'DisplayWidget'
         
     ITextLine, IInputWidget -> TextWidget 
         
@@ -78,6 +81,8 @@
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, TextWidget)
         True
+        >>> widget.__class__.__name__
+        'TextWidget'
         
     IText, IInputWidget -> TextAreaWidget
     
@@ -85,6 +90,8 @@
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, TextAreaWidget)
         True
+        >>> widget.__class__.__name__
+        'TextAreaWidget'
         
     ISourceText, IInputWidget -> TextAreaWidget
     
@@ -92,83 +99,216 @@
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, TextAreaWidget)
         True
+        >>> widget.__class__.__name__
+        'TextAreaWidget'
 
+    IBytesLine, IDisplayWidget -> DisplayWidget
+    
+        >>> field = fields.BytesLine()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, DisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'DisplayWidget'
+
     IBytesLine, IInputWidget -> BytesWidget
     
         >>> field = fields.BytesLine()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, BytesWidget)
         True
+        >>> widget.__class__.__name__
+        'BytesWidget'
 
+    IBytes, IDisplayWidget -> BytesDisplayWidget
+    
+        >>> field = fields.Bytes()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, BytesDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'BytesDisplayWidget'
+        
     IBytes, IInputWidget -> FileWidget
     
         >>> field = fields.Bytes()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, FileWidget)
         True
-        		
+        >>> widget.__class__.__name__
+        'FileWidget'
+        
+    IASCIILine, IDisplayWidget -> DisplayWidget
+    
+        >>> field = fields.ASCIILine()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, DisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'DisplayWidget'
+    
     IASCIILine, IInputWidget -> ASCIIWidget
     
         >>> field = fields.ASCIILine()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, ASCIIWidget)
         True
+        >>> widget.__class__.__name__
+        'ASCIIWidget'
         
+    IASCII, IDisplayWidget -> ASCIIDisplayWidget
+    
+        >>> field = fields.ASCII()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, ASCIIDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'ASCIIDisplayWidget'
+        
     IASCII, IInputWidget -> ASCIIAreaWidget
     
         >>> field = fields.ASCII()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, ASCIIAreaWidget)
         True
+        >>> widget.__class__.__name__
+        'ASCIIAreaWidget'
         
+    IURI, IDisplayWidget -> URIDisplayWidget
+    
+        >>> field = fields.URI()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, URIDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'URIDisplayWidget'
+    
+    IInt, IDisplayWidget -> UnicodeDisplayWidget
+    
+        >>> field = fields.Int()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, UnicodeDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'UnicodeDisplayWidget'
+    
     IInt, IInputWidget -> IntWidget
     
         >>> field = fields.Int()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, IntWidget)
         True
+        >>> widget.__class__.__name__
+        'IntWidget'
         
+    IFloat, IDisplayWidget -> UnicodeDisplayWidget
+    
+        >>> field = fields.Float()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, UnicodeDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'UnicodeDisplayWidget'
+        
+    
     IFloat, IInputWidget -> FloatWidget
     
         >>> field = fields.Float()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, FloatWidget)
         True
+        >>> widget.__class__.__name__
+        'FloatWidget'
         
+    IDatetime, IDisplayWidget -> DatetimeDisplayWidget
+    
+        >>> field = fields.Datetime()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, DatetimeDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'DatetimeDisplayWidget'
+        
     IDatetime, IInputWidget -> DatetimeWidget
     
         >>> field = fields.Datetime()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, DatetimeWidget)
         True
+        >>> widget.__class__.__name__
+        'DatetimeWidget'
         
+    IDate, IDisplayWidget -> DateDisplayWidget
+    
+        >>> field = fields.Date()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, DateDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'DateDisplayWidget'
+        
     IDate, IInputWidget -> DateWidget
     
         >>> field = fields.Date()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, DateWidget)
         True
+        >>> widget.__class__.__name__
+        'DateWidget'
         
+    IBool, IDisplayWidget -> BooleanDisplayWidget
+    
+        >>> field = fields.Bool()
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, BooleanDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'BooleanDisplayWidget'
+        
     IBool, IInputWidget -> CheckBoxWidget
     
         >>> field = fields.Bool()
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, CheckBoxWidget)
         True
+        >>> widget.__class__.__name__
+        'CheckBoxWidget'
         
+    ITuple, IDisplayWidget -> SequenceDisplayWidget
+    
+        >>> field = fields.Tuple(value_type=fields.Int())
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, SequenceDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'SequenceDisplayWidget'
+
     ITuple, IInputWidget -> TupleSequenceWidget
     
         >>> field = fields.Tuple(value_type=fields.Int())
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, TupleSequenceWidget)
         True
+        >>> widget.__class__.__name__
+        'TupleSequenceWidget'
 
+    IList, IDisplayWidget -> SequenceDisplayWidget
+    
+        >>> field = fields.List(value_type=fields.Int())
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, SequenceDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'SequenceDisplayWidget'
+
     IList, IInputWidget -> ListSequenceWidget
     
         >>> field = fields.List(value_type=fields.Int())
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, ListSequenceWidget)
         True
+        >>> widget.__class__.__name__
+        'ListSequenceWidget'
 
     IPassword, IInputWidget -> PasswordWidget
     
@@ -176,6 +316,8 @@
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, PasswordWidget)
         True
+        >>> widget.__class__.__name__
+        'PasswordWidget'
 
     IChoice, IDisplayWidget -> ItemDisplayWidget
     
@@ -184,6 +326,8 @@
         >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
         >>> isinstance(widget, ItemDisplayWidget)
         True
+        >>> widget.__class__.__name__
+        'ItemDisplayWidget'
                 
     IChoice, IInputWidget -> DropdownWidget
     
@@ -192,24 +336,53 @@
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, DropdownWidget)
         True
+        >>> widget.__class__.__name__
+        'DropdownWidget'
 
-    IList with IChoice value_type, IDisplayWidget -> ItemsMultiDisplayWidget
+    IList with IChoice value_type, IDisplayWidget -> ListDisplayWidget
     
         >>> field = fields.List(value_type=fields.Choice(vocabulary=vocab))
         >>> field = field.bind(sample)
         >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
-        >>> isinstance(widget, ItemsMultiDisplayWidget)
+        >>> isinstance(widget, ListDisplayWidget)
         True
+        >>> widget.__class__.__name__
+        'ListDisplayWidget'
                 
-    IList with IChoice value_type, IInputWidget -> MultiSelectWidget
+    IList with IChoice value_type, IInputWidget -> OrderedMultiSelectWidget
     
         >>> field = fields.List(value_type=fields.Choice(vocabulary=vocab))
         >>> field = field.bind(sample)
         >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
         >>> isinstance(widget, OrderedMultiSelectWidget)
         True
-    """
+        >>> widget.__class__.__name__
+        'OrderedMultiSelectWidget'
 
+    ISet with IChoice value_type, IDisplayWidget -> SetDisplayWidget
+    
+        >>> field = fields.Set(value_type=fields.Choice(vocabulary=vocab))
+        >>> field = field.bind(sample)
+        >>> widget = zapi.getMultiAdapter((field, request), IDisplayWidget)
+        >>> isinstance(widget, SetDisplayWidget)
+        True
+        >>> widget.__class__.__name__
+        'SetDisplayWidget'
+                
+    ISet with IChoice value_type, IInputWidget -> MultiSelectSetWidget
+    
+        >>> field = fields.Set(value_type=fields.Choice(vocabulary=vocab))
+        >>> field = field.bind(sample)
+        >>> widget = zapi.getMultiAdapter((field, request), IInputWidget)
+        >>> isinstance(widget, MultiSelectSetWidget)
+        True
+        >>> widget.__class__.__name__
+        'MultiSelectSetWidget'
+    
+    
+ 
+"""
+
 def test_suite():    
     return DocTestSuite(setUp=setUp, tearDown=setup.placelessTearDown)
 
