a „oeZ ã@sˆddlZddlZddlZddlZddlZddlZGdd„deƒZGdd„dƒZ dd„Z dd „Z Gd d „d ej j jƒZed kr„e ¡dS) éNc@s eZdZdS)ÚErrorN)Ú__name__Ú __module__Ú __qualname__©rrú>C:\Program Files\Certbot\pkgs\win32com\test\policySemantics.pyr src@sTeZdZdgZdddœZdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dS)ÚPythonSemanticClassÚInÚAddÚRemove)é é cCs g|_dS©N©Úlist©ÚselfrrrÚ__init__szPythonSemanticClass.__init__cCstjj |j¡Sr)Úwin32comÚserverÚutilZNewEnumrrrrrÚ_NewEnumszPythonSemanticClass._NewEnumcCs|jSrrrrrrÚ_value_szPythonSemanticClass._value_cCs t|jƒSr)ÚsumrrrrrÚ _EvaluateszPythonSemanticClass._EvaluatecCs ||jvSrr©rÚvaluerrrr !szPythonSemanticClass.IncCs|j |¡dSr)rÚappendrrrrr $szPythonSemanticClass.AddcCs|j |¡dSr)rÚremoverrrrr 'szPythonSemanticClass.RemoveN) rrrZ_public_methods_Z_dispid_to_func_rrrrr r r rrrrrs rc Cs | dd¡dksJdƒ‚| dd¡dks0Jdƒ‚| dd¡dksHJd ƒ‚| d d¡tjksbJd ƒ‚g}d }z| d|¡}| |¡WqjtjyÖ}z8|j\}}}}|tj ks¶Jd ƒ‚WYd}~qÚWYd}~qjd}~00qj|  ¡|tj tjdddgk�rt d|ƒ‚dS)Nr rr z Policy did not honour the dispidr r r ièz!Allocated dispid unexpected valuerz _NewEnum() got unexpected DISPIDéÿÿÿÿzBad result at end of enumzGot back the wrong dispids: %s) ÚprintZ GetDispIDÚ pythoncomZDISPID_NEWENUMZ GetNextDispIDrZ com_errorÚargsÚwinerrorZS_FALSEÚsortÚDISPID_EVALUATEr)ÚobZdispidsZdispidZxxx_todo_changemeÚhrZdescÚexcÚargrrrÚ DispExTest+s&ÿþ $r*cCsr| d¡| d¡| d¡|ƒdkr:tdt|ƒƒƒ‚|j}| tjdtjtjBd¡}|dkrntd|ƒ‚dS) Nééé)r+r,r-zBad result - got %srézEvaluate returned %d) r rÚreprÚ_oleobj_ZInvoker!r%ZDISPATCH_METHODZDISPATCH_PROPERTYGET)r&ZdispobÚrcrrrÚ SemanticTestEs     ür2c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚTestercCsFd}ddl}|r|jjj}nd}|jjjtƒ|d�}|j |¡|_ dS)Nr)Z useDispatcher) Zwin32com.server.dispatcherrÚ dispatcherZDefaultDebugDispatcherrÚwraprZclientZDispatchr&)rÚdebugrr4ZdisprrrÚsetUp[s ÿz Tester.setUpcCs d|_dSr)r&rrrrÚtearDownhszTester.tearDowncCst|jƒdSr)r2r&rrrrÚ testSemanticskszTester.testSemanticscCs|jj tj¡}t|ƒdSr)r&r0ZQueryInterfacer!ZIID_IDispatchExr*)rZdispexobrrrÚtestIDispatchExnszTester.testIDispatchExN)rrrr7r8r9r:rrrrr3Zs r3Ú__main__)Zunittestr!Zwin32com.clientrZwin32com.server.utilZwin32com.test.utilr#Ú Exceptionrrr*r2ÚtestrZTestCaser3rÚmainrrrrÚs