From: <ps...@us...> - 2009-01-06 23:45:59
|
Revision: 1478 http://pywebsvcs.svn.sourceforge.net/pywebsvcs/?rev=1478&view=rev Author: psha Date: 2009-01-06 23:45:51 +0000 (Tue, 06 Jan 2009) Log Message: ----------- Run tests for different timezones (MSK, PST, VOST, UTC) Modified Paths: -------------- trunk/zsi/test/test_TCtimes.py Modified: trunk/zsi/test/test_TCtimes.py =================================================================== --- trunk/zsi/test/test_TCtimes.py 2008-12-12 14:24:40 UTC (rev 1477) +++ trunk/zsi/test/test_TCtimes.py 2009-01-06 23:45:51 UTC (rev 1478) @@ -1,11 +1,13 @@ #!/usr/bin/env python -import unittest, sys, tests_good, tests_bad, time +import unittest, sys, tests_good, tests_bad, time, os from ZSI import * try: import cStringIO as StringIO except ImportError: import StringIO +os.environ['TZ'] = 'Europe/Moscow' +time.tzset() class TestCase(unittest.TestCase): '''Examples from "Definitive XML Schema, Priscilla Walmsley, p237-246 @@ -18,23 +20,37 @@ '%s with local offset(%s): expecting "%s" got "%s"' %( msg, data, correct, stamp)) - def check_datetime_timezone(self): + def _wrap_timezone(self, f, *a, **kw): + oldtz = os.environ.get('TZ', 'UTC') + for tz in ['Europe/Moscow', 'Antarctica/Vostok', 'America/Los_Angeles', 'UTC']: + try: + os.environ['TZ'] = tz + time.tzset() + f(*a, **kw) + finally: + os.environ['TZ'] = oldtz + time.tzset() + + def _check_datetime_timezone(self): # UTC with local timezone offset # Base example from http://www.w3.org/TR/xmlschema11-2/#dateTime-lexical-mapping correct = "2002-10-10T17:00:00Z" for t in ['2002-10-10T12:00:00-05:00', '2002-10-10T19:00:00+02:00', '2002-10-10T17:00:00+00:00', '2002-10-10T17:00:00Z']: self._check_data2data(TC.gDateTime(), t, correct, 'dateTime') + check_datetime_timezone = lambda s: s._wrap_timezone(s._check_datetime_timezone) - def check_time_timezone(self): + def _check_time_timezone(self): correct = "17:30:00Z" for t in ['12:30:00-05:00', '19:30:00+02:00', '17:30:00+00:00']: self._check_data2data(TC.gTime(), t, correct, 'time') + check_time_timezone = lambda s: s._wrap_timezone(s._check_time_timezone) - def check_date_timezone(self): + def _check_date_timezone(self): correct = "2002-10-10" for t in ['2002-10-10-05:00', '2002-10-10+02:00', '2002-10-10+00:00', '2002-10-10Z']: self._check_data2data(TC.gDate(), t, correct, 'date') + check_date_timezone = lambda s: s._wrap_timezone(s._check_date_timezone) def check_valid_dateTime(self): typecode = TC.gDateTime() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-01-07 20:47:40
|
Revision: 1480 http://pywebsvcs.svn.sourceforge.net/pywebsvcs/?rev=1480&view=rev Author: psha Date: 2009-01-07 20:47:37 +0000 (Wed, 07 Jan 2009) Log Message: ----------- Added test case for small year from bugreport Modified Paths: -------------- trunk/zsi/test/test_TCtimes.py Modified: trunk/zsi/test/test_TCtimes.py =================================================================== --- trunk/zsi/test/test_TCtimes.py 2009-01-07 20:46:41 UTC (rev 1479) +++ trunk/zsi/test/test_TCtimes.py 2009-01-07 20:47:37 UTC (rev 1480) @@ -1,4 +1,6 @@ #!/usr/bin/env python +# vim: sts=4 sw=4 et + import unittest, sys, tests_good, tests_bad, time, os from ZSI import * try: @@ -15,6 +17,7 @@ def _check_data2data(self, tc, data, correct, msg): tmp = tc.text_to_data(data, None, None) stamp = tc.get_formatted_content(tmp) + #print "%s -> %s" % (data, str(tmp)) self.failUnless(stamp == correct, '%s with local offset(%s): expecting "%s" got "%s"' %( @@ -31,6 +34,12 @@ os.environ['TZ'] = oldtz time.tzset() + def _check_minimum(self): + data = "0001-01-01T00:00:00.0000000-07:00" + tc = TC.gDateTime() + tc.text_to_data(data, None, None) + check_minimum = lambda s: s._wrap_timezone(s._check_minimum) + def _check_datetime_timezone(self): # UTC with local timezone offset # Base example from http://www.w3.org/TR/xmlschema11-2/#dateTime-lexical-mapping This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |