a oe@sddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z Gdddej ZGdd d e jZGd d d Zed ZGd dde jZdZejdkrdZndZed7ZdZdddZddZddZddZedkredS) N)axscript)axsite) Exception)connectutilc@seZdZddZdS)MySitecCs|}|\}}}td|dz |}WntjyHd}Yn0|durVd}|dd|ddd|d}|D]}td|qdS) Nz >Exception:  ^z >)ZGetExceptionInfoZGetSourcePositionprintZGetSourceLineText pythoncom com_error splitlines)selferrorexccontextlinecharsttextrCC:\Program Files\Certbot\pkgs\win32comext\axscript\test\leakTest.py OnScriptError s  $ zMySite.OnScriptErrorN)__name__ __module__ __qualname__rrrrrr src@seZdZddZdS) MyCollectioncCstdtj|S)NzMaking new Enumerator)rr Collection_NewEnumrrrrr"szMyCollection._NewEnumN)rrrr"rrrrr sr c@s*eZdZdgZddgZddZddZdS) Testecho collectionverbosecCs$d|_ttgd|_d|_dS)Nr)rZTwor )r'rwrapr r&lastr#rrr__init__%sz Test.__init__cGs8dtt||_|jr4|D]}t|ddqtdS)Nr r )end)joinmapstrr*r'r)rargsargrrrr%,s z Test.echoN)rrrZ_public_methods_Z_public_attrs_r+r%rrrrr$!sr$z&{8EB72F90-0D44-11d1-9C4B-00AA00125A98}c@s*eZdZegZddZddZddZdS)TestConnectServercCs ||_dSN)object)rr4rrrr+BszTestConnectServer.__init__cCs||j|fdSr3)Z_BroadcastNotify NotifyDoneIt)rr1rrr BroadcastEszTestConnectServer.BroadcastcCs|ddtjd|dS)Nirr)ZInvokerZDISPATCH_METHOD)rZ interfacer1rrrr5IszTestConnectServer.NotifyDoneItN)rrrIID_ITestEventsZ_connect_interfaces_r+r6r5rrrrr2=sr2zprop = "Property Value" sub hello(arg1) test.echo arg1 end sub sub testcollection test.verbose = 1 for each item in test.collection test.echo "Collection item is", item next end sub )r(z$print "PyScript is being parsed..." z%print("PyScript is being parsed...") zprop = "Property Value" def hello(arg1): test.echo(arg1) pass def testcollection(): test.verbose = 1 # test.collection[1] = "New one" for item in test.collection: test.echo("Collection item is", item) pass zbad code for everyone! rcCst}dt|i}t|}||}||tjz|W|sl| dSn|sj| YdS0t |||j tj |j t|td|| dS)NtestZ restarting)r$rr)rZ _AddEngineZAddCoderZSCRIPTTEXT_ISPERSISTENTZStartClose doTestEngineZeScriptZSetScriptStateZSCRIPTSTATE_UNINITIALIZEDZ SetScriptSiter)Z engineNamecodeZ bShouldWorkechoerZmodelZsiteenginerrr TestEnginers(    r>c Csddlm}||}z|dWn2tjyX}ztd|WYd}~dSd}~00|jdkrttdt|jt |j dkrtdt|j | |j ddddddtj}|d krtd |dS) Nr)DispatchZGooberz***** Calling 'hello' failedz-***** Function call didnt set value correctlyzProperty Valuez#***** Property Value not correct - z1+1r z5Engine could not evaluate '1+1' - said the result was)Zwin32com.client.dynamicr?ZGetScriptDispatchZhellorrrr*reprr/ZpropZtestcollectionZeParseZParseScriptTextrZSCRIPTTEXT_ISEXPRESSION)r=r<r?obrresultrrrr:s"    r:cCs(tdD]}tdtttqdS)N Python)ranger>PyScriptrsysZgettotalrefcount)irrr dotestalls  rIcCs*tttdttfdS)Nz>AXScript Host worked correctly - %d/%d COM objects left alive.)rIrZCoUninitializerZ_GetInterfaceCountZ_GetGatewayCountrrrrtestallsrJ__main__)r)rGrZwin32com.server.policyZwin32comZwin32com.axscriptrZwin32com.axscript.serverrZwin32com.axscript.server.errorrZwin32com.serverrrZAXSiterr!r r$ZMakeIIDr7ZConnectableServerr2ZVBScript version_inforFZ ErrScriptr>r:rIrJrrrrrs.