You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ORPA-pyOpenRPA/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/comtypes/test/test_getactiveobj.py

53 lines
1.4 KiB

import unittest
import comtypes
import comtypes.client
import comtypes.test
comtypes.test.requires("ui")
class Test(unittest.TestCase):
def tearDown(self):
if hasattr(self, "w1"):
self.w1.Quit()
del self.w1
def test(self):
try:
comtypes.client.GetActiveObject("Word.Application")
except WindowsError:
pass
else:
# seems word is running, we cannot test this.
self.fail("MSWord is running, cannot test")
# create a WORD instance
self.w1 = w1 = comtypes.client.CreateObject("Word.Application")
# connect to the running instance
w2 = comtypes.client.GetActiveObject("Word.Application")
# check if they are referring to the same object
self.assertEqual(w1.QueryInterface(comtypes.IUnknown),
w2.QueryInterface(comtypes.IUnknown))
w1.Quit()
del self.w1
import time
time.sleep(1)
try:
w2.Visible
except comtypes.COMError as err:
variables = err.hresult, err.text, err.details
self.assertEqual(variables, err[:])
else:
raise AssertionError("COMError not raised")
self.assertRaises(WindowsError, comtypes.client.GetActiveObject, "Word.Application")
if __name__ == "__main__":
unittest.main()