import unittest from comtypes.client import GetModule iem = GetModule("shdocvw.dll") class TestCase(unittest.TestCase): def test(self): from comtypes.client import GetModule iem = GetModule("shdocvw.dll") # IDispatch(IUnknown) # IWebBrowser(IDispatch) # IWebBrowserApp(IWebBrowser) # IWebBrowser2(IWebBrowserApp) ## print iem.IWebBrowser2.mro() self.assertTrue(issubclass(iem.IWebBrowser2, iem.IWebBrowserApp)) self.assertTrue(issubclass(iem.IWebBrowserApp, iem.IWebBrowser)) ## print sorted(iem.IWebBrowser.__map_case__.keys()) ## print "=" * 42 ## print sorted(iem.IWebBrowserApp.__map_case__.keys()) ## print "=" * 42 ## print sorted(iem.IWebBrowser2.__map_case__.keys()) ## print "=" * 42 # names in the base class __map_case__ must also appear in the # subclass. for name in iem.IWebBrowser.__map_case__: self.assertTrue(name in iem.IWebBrowserApp.__map_case__, "%s missing" % name) self.assertTrue(name in iem.IWebBrowser2.__map_case__, "%s missing" % name) for name in iem.IWebBrowserApp.__map_case__: self.assertTrue(name in iem.IWebBrowser2.__map_case__, "%s missing" % name) if __name__ == "__main__": unittest.main()