[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