[Checkins] SVN: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ Ported revision 71123: updated unit tests.

Gintautas Miliauskas gintas at pov.lt
Wed Dec 6 09:54:24 EST 2006


Log message for revision 71446:
  Ported revision 71123: updated unit tests.
  

Changed:
  U   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/tests.py
  D   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/timezones.txt
  A   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/widgets.txt

-=-
Modified: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/tests.py
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/tests.py	2006-12-06 14:48:16 UTC (rev 71445)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/tests.py	2006-12-06 14:54:23 UTC (rev 71446)
@@ -34,7 +34,7 @@
 def test_suite():
     return unittest.TestSuite(
         (
-        DocFileSuite('timezones.txt',
+        DocFileSuite('widgets.txt',
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      ),
         DocFileSuite('datetimewidget.txt',

Deleted: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/timezones.txt
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/timezones.txt	2006-12-06 14:48:16 UTC (rev 71445)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/timezones.txt	2006-12-06 14:54:23 UTC (rev 71446)
@@ -1,50 +0,0 @@
-==================
-Handling Timezones
-==================
-
-Datetimes are always stored timezone aware, and by default the utc
-timezone is used. We use the demo package here to have a content class
-and interface.
-
-In order to handle timezones correctly the zope instance has to
-provide an adapter from IBrowserRequest to ITZInfo. It is up to the
-instance what kind of implementation it uses. For this test, we just
-use the implementation of the demo.timezone module which always
-returns Europe/Vienna as timezone.
-
-    >>> from zope import component
-    >>> from datetime import datetime
-    >>> import pytz
-    >>> from zc.datetimewidget import datetimewidget
-    >>> from zc.datetimewidget.demo import timezone
-    >>> from zc.datetimewidget.demo.content import DemoContent
-    >>> from zc.datetimewidget.demo.interfaces import IDemoContent
-    >>> from zope.publisher.browser import TestRequest, BrowserLanguages
-    >>> component.provideAdapter(BrowserLanguages)
-    >>> request = TestRequest(HTTP_ACCEPT_LANGUAGE='en-US')
-    >>> component.provideAdapter(timezone.tzinfo)
-    >>> tz = pytz.timezone('Europe/Vienna')
-    >>> field = IDemoContent['startDatetime']
-    >>> widget = datetimewidget.DatetimeWidget(field,request)
-    >>> dt = datetime(2006,5,1,12,tzinfo=pytz.utc)
-
-The field's missing value results in an empty string.
-
-    >>> widget._toFormValue(None)
-    u''
-
-Now let us convert a real datetime.
-
-    >>> formValue = widget._toFormValue(dt)
-    >>> formValue
-    '2006-05-01 14:00:00'
-    >>> parsedValue = widget._toFieldValue(formValue)
-    >>> parsedValue
-    datetime.datetime(2006, 5, 1, 12, 0, tzinfo=<UTC>)
-
-While the widget tries to parse dates in the form '%Y-%m-%d %H:%M:%S'
-first, it will fall through to the locale-specific parsing of the core
-datetimewidget.
-
-    >>> widget._toFieldValue('May 1, 2006 2:00:00 PM')
-    datetime.datetime(2006, 5, 1, 12, 0, tzinfo=<UTC>)

Added: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/widgets.txt
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/widgets.txt	2006-12-06 14:48:16 UTC (rev 71445)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/widgets.txt	2006-12-06 14:54:23 UTC (rev 71446)
@@ -0,0 +1,84 @@
+=========================
+Datetime and Date Widgets
+=========================
+
+There are two types of widgets provided by this package, a date widget
+and a datetime widget.
+
+Date Widget
+===========
+
+The date widget only handles datetime.date objects, which are not
+timezone aware. We use the demo package here to have a content class.
+
+    >>> from zope import component
+    >>> from datetime import datetime, date
+    >>> from zc.datetimewidget import datetimewidget
+    >>> from zc.datetimewidget.demo.content import DemoContent
+    >>> from zc.datetimewidget.demo.interfaces import IDemoContent
+    >>> from zope.publisher.browser import TestRequest, BrowserLanguages
+    >>> component.provideAdapter(BrowserLanguages)
+    >>> request = TestRequest(HTTP_ACCEPT_LANGUAGE='en-US')
+    >>> field = IDemoContent['startDate']
+    >>> widget = datetimewidget.DateWidget(field,request)
+    >>> widget._toFormValue(None)
+    u''
+
+Now let us convert a real date.
+
+    >>> d = date(2006,5,1)
+    >>> formValue = widget._toFormValue(d)
+    >>> formValue
+    '2006-05-01'
+
+    >>> parsedValue = widget._toFieldValue(formValue)
+    >>> parsedValue
+    datetime.date(2006, 5, 1)
+
+The widget handles the same date notations as zope's default datewidget.
+
+    >>> widget._toFieldValue('2006/12/31')
+    datetime.date(2006, 12, 31)
+
+Datetime Widget
+===============
+
+Datetimes are always stored timezone aware, and by default the utc
+timezone is used.
+
+In order to handle timezones correctly the zope instance has to
+provide an adapter from IBrowserRequest to ITZInfo. It is up to the
+instance what kind of implementation it uses. For this test, we just
+use the implementation of the demo.timezone module which always
+returns Europe/Vienna as timezone.
+
+The field's missing value results in an empty string.
+
+    >>> import pytz
+    >>> from zc.datetimewidget.demo import timezone
+    >>> component.provideAdapter(timezone.tzinfo)
+    >>> tz = pytz.timezone('Europe/Vienna')
+    >>> request = TestRequest(HTTP_ACCEPT_LANGUAGE='en-US')
+    >>> field = IDemoContent['startDatetime']
+    >>> widget = datetimewidget.DatetimeWidget(field,request)
+    >>> dt = datetime(2006,5,1,12,tzinfo=pytz.utc)
+
+    >>> widget._toFormValue(None)
+    u''
+
+Now let us convert a real datetime.
+
+    >>> formValue = widget._toFormValue(dt)
+    >>> formValue
+    '2006-05-01 14:00:00'
+    >>> parsedValue = widget._toFieldValue(formValue)
+    >>> parsedValue
+    datetime.datetime(2006, 5, 1, 12, 0, tzinfo=<UTC>)
+
+While the widget tries to parse dates in the form '%Y-%m-%d %H:%M:%S'
+first, it will fall through to the locale-specific parsing of the core
+datetimewidget.
+
+    >>> widget._toFieldValue('May 1, 2006 2:00:00 PM')
+    datetime.datetime(2006, 5, 1, 12, 0, tzinfo=<UTC>)
+


Property changes on: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/widgets.txt
___________________________________________________________________
Name: svn:eol-style
   + native



More information about the Checkins mailing list