Update of /cvsroot/pywin32/pywin32/com/win32com/test
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4651/com/win32com/test
Modified Files:
testPyComTest.py testShell.py
Log Message:
Merge optional support for using datetime objects from py3k-integration
branch. Currently must be enabled at build time and only currently
enabled for py3k (although it does work with all versions >= 2.4)
Index: testShell.py
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/testShell.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** testShell.py 14 Jan 2009 04:43:56 -0000 1.14
--- testShell.py 26 Jan 2009 00:47:31 -0000 1.15
***************
*** 3,6 ****
--- 3,8 ----
import unittest
import copy
+ import datetime
+ import win32timezone
try:
***************
*** 11,14 ****
--- 13,17 ----
import win32con
import pythoncom
+ import pywintypes
from win32com.shell import shell
from win32com.shell.shellcon import *
***************
*** 98,101 ****
--- 101,115 ----
class FILEGROUPDESCRIPTORTester(win32com.test.util.TestCase):
+ def _getTestTimes(self):
+ if issubclass(pywintypes.TimeType, datetime.datetime):
+ ctime = win32timezone.now()
+ atime = ctime + datetime.timedelta(seconds=1)
+ wtime = atime + datetime.timedelta(seconds=1)
+ else:
+ ctime = pywintypes.Time(11)
+ atime = pywintypes.Time(12)
+ wtime = pywintypes.Time(13)
+ return ctime, atime, wtime
+
def _testRT(self, fd):
fgd_string = shell.FILEGROUPDESCRIPTORAsString([fd])
***************
*** 136,139 ****
--- 150,154 ----
return
clsid = pythoncom.MakeIID("{CD637886-DB8B-4b04-98B5-25731E1495BE}")
+ ctime, atime, wtime = self._getTestTimes()
d = dict(cFileName="foo.txt",
clsid=clsid,
***************
*** 141,147 ****
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=pythoncom.MakeTime(10),
! ftLastAccessTime=pythoncom.MakeTime(11),
! ftLastWriteTime=pythoncom.MakeTime(12),
nFileSize=sys_maxsize + 1)
self._testRT(d)
--- 156,162 ----
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=ctime,
! ftLastAccessTime=atime,
! ftLastWriteTime=wtime,
nFileSize=sys_maxsize + 1)
self._testRT(d)
***************
*** 152,162 ****
# no kw-args to dict in 2.2 - not worth converting!
return
d = [dict(cFileName="foo.txt",
sizel=(1,2),
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=pythoncom.MakeTime(10),
! ftLastAccessTime=pythoncom.MakeTime(11),
! ftLastWriteTime=pythoncom.MakeTime(12),
nFileSize=sys_maxsize + 1),
dict(cFileName="foo2.txt",
--- 167,179 ----
# no kw-args to dict in 2.2 - not worth converting!
return
+
+ ctime, atime, wtime = self._getTestTimes()
d = [dict(cFileName="foo.txt",
sizel=(1,2),
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=ctime,
! ftLastAccessTime=atime,
! ftLastWriteTime=wtime,
nFileSize=sys_maxsize + 1),
dict(cFileName="foo2.txt",
***************
*** 164,170 ****
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=pythoncom.MakeTime(10),
! ftLastAccessTime=pythoncom.MakeTime(11),
! ftLastWriteTime=pythoncom.MakeTime(12),
nFileSize=sys_maxsize + 1),
dict(cFileName=u"foo\xa9.txt",
--- 181,187 ----
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=ctime,
! ftLastAccessTime=atime,
! ftLastWriteTime=wtime,
nFileSize=sys_maxsize + 1),
dict(cFileName=u"foo\xa9.txt",
***************
*** 172,178 ****
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=pythoncom.MakeTime(10),
! ftLastAccessTime=pythoncom.MakeTime(11),
! ftLastWriteTime=pythoncom.MakeTime(12),
nFileSize=sys_maxsize + 1),
]
--- 189,195 ----
pointl=(3,4),
dwFileAttributes = win32con.FILE_ATTRIBUTE_NORMAL,
! ftCreationTime=ctime,
! ftLastAccessTime=atime,
! ftLastWriteTime=wtime,
nFileSize=sys_maxsize + 1),
]
Index: testPyComTest.py
===================================================================
RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/testPyComTest.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** testPyComTest.py 9 Jan 2009 01:24:54 -0000 1.43
--- testPyComTest.py 26 Jan 2009 00:47:31 -0000 1.44
***************
*** 4,8 ****
import sys; sys.coinit_flags=0 # Must be free-threaded!
import win32api, pythoncom, time
! import sys, os, win32com, win32com.client.connect
from win32com.test.util import CheckClean
from win32com.client import constants, DispatchBaseClass
--- 4,9 ----
import sys; sys.coinit_flags=0 # Must be free-threaded!
import win32api, pythoncom, time
! import pywintypes
! import os, win32com, win32com.client.connect
from win32com.test.util import CheckClean
from win32com.client import constants, DispatchBaseClass
***************
*** 10,13 ****
--- 11,16 ----
from win32com.test.util import RegisterPythonServer
from pywin32_testutil import str2memory
+ import datetime
+ import win32timezone
importMsg = "**** PyCOMTest is not installed ***\n PyCOMTest is a Python test specific COM client and server.\n It is likely this server is not installed on this machine\n To install the server, you must get the win32com sources\n and build it using MS Visual C++"
***************
*** 171,181 ****
# raise RuntimeError, o.paramProp(0)
! try:
! import datetime
now = datetime.datetime.now()
expect = pythoncom.MakeTime(now)
TestApplyResult(o.EarliestDate, (now, now), expect)
! except ImportError:
! pass # py 2.2 - no datetime
def TestGenerated():
--- 174,194 ----
# raise RuntimeError, o.paramProp(0)
! if issubclass(pywintypes.TimeType, datetime.datetime):
! # For now *all* times passed must be tz-aware.
! now = win32timezone.now()
! # but conversion to and from a VARIANT loses sub-second...
! now = now.replace(microsecond=0)
! later = now + datetime.timedelta(seconds=1)
! TestApplyResult(o.EarliestDate, (now, later), now)
! else:
! # old PyTime object
! now = pythoncom.MakeTime(time.gmtime(time.time()))
! later = pythoncom.MakeTime(time.gmtime(time.time()+1))
! TestApplyResult(o.EarliestDate, (now, later), now)
! # But it can still *accept* tz-naive datetime objects...
now = datetime.datetime.now()
expect = pythoncom.MakeTime(now)
TestApplyResult(o.EarliestDate, (now, now), expect)
!
def TestGenerated():
***************
*** 298,311 ****
TestConstant("StringTest", u"Hello Lo\xaeaine")
! now = pythoncom.MakeTime(time.gmtime(time.time()))
! later = pythoncom.MakeTime(time.gmtime(time.time()+1))
! TestApplyResult(o.EarliestDate, (now, later), now)
! try:
! import datetime
now = datetime.datetime.now()
expect = pythoncom.MakeTime(now)
TestApplyResult(o.EarliestDate, (now, now), expect)
- except ImportError:
- pass # py 2.2 - no datetime
assert o.DoubleString("foo") == "foofoo"
--- 311,330 ----
TestConstant("StringTest", u"Hello Lo\xaeaine")
! if issubclass(pywintypes.TimeType, datetime.datetime):
! # For now *all* times passed must be tz-aware.
! now = win32timezone.now()
! # but conversion to and from a VARIANT loses sub-second...
! now = now.replace(microsecond=0)
! later = now + datetime.timedelta(seconds=1)
! TestApplyResult(o.EarliestDate, (now, later), now)
! else:
! # old PyTime object
! now = pythoncom.MakeTime(time.gmtime(time.time()))
! later = pythoncom.MakeTime(time.gmtime(time.time()+1))
! TestApplyResult(o.EarliestDate, (now, later), now)
! # But it can still *accept* tz-naive datetime objects...
now = datetime.datetime.now()
expect = pythoncom.MakeTime(now)
TestApplyResult(o.EarliestDate, (now, now), expect)
assert o.DoubleString("foo") == "foofoo"
|