ó o®¸Qc@s•ddlZddlZddlTyeWnek rCeZnXddlZeejƒZ dej fd„ƒYZ e dkr‘ej ƒndS(iÿÿÿÿN(t*tCFuncPtrTestCasecBs,eZd„Zd„Zd„Zd„ZRS(cCsttttƒ}d„}||ƒ}|j|jtƒ|j|jttfƒ|jt|ƒttƒƒ|jt|ƒttƒƒdS(NcWs t|ƒS(N(tlen(targs((s./sys/lib/python2.7/ctypes/test/test_funcptr.pytfuncs(t WINFUNCTYPEtc_intt assertEqualtrestypetargtypestsizeoftc_voidp(tselftXRtx((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyt test_basics  cCs×ttttƒ}ttttƒ}d„}||ƒ}||ƒ}|j|ddƒdƒ|j|ddƒdƒ|j|ddddddƒdƒttk rÓtjdkrÓ|jt|dddƒndS( NcSs||S(N((tatb((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyRsiiiiiitce(RRt CFUNCTYPERtostnamet assertRaisest TypeError(R t StdCallbackt CdeclCallbackRtstc((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyt test_firsts   %csøttttttƒ‰d„}t‰t‰t‰t‰dtf‡‡‡‡‡fd†ƒY}|ƒ}ˆ|ƒ|_ttttttƒ}|jˆ|kƒ|j|jddddƒdƒ|j}~~|j|dd d d ƒd ƒdS( NcSs||||S(N((thwndtmsgtwParamtlParam((s./sys/lib/python2.7/ctypes/test/test_funcptr.pytwndproc0stWNDCLASSc s_eZdefdˆfdefdefdˆfdˆfdˆfdˆfdˆfg ZRS( tstylet lpfnWndProct cbClsExtrat cbWndExtrat hInstancethIconthCursort lpszMenuNamet lpszClassName(t__name__t __module__tc_uintRt_fields_((tHCURSORtHICONt HINSTANCEtLPCTSTRtWNDPROC(s./sys/lib/python2.7/ctypes/test/test_funcptr.pyR"8s        iiiii i i i i.(Rtc_longRtc_char_pt StructureR$t assertTrueR(R R!R"twndclasst WNDPROC_2tf((R0R1R2R3R4s./sys/lib/python2.7/ctypes/test/test_funcptr.pyttest_structures-s  ( " cCsñd„}tj}t|_ttf|_|j|ddƒdƒ|j|ddƒdƒtj}t|_d„}d}||ƒ}|j||dƒd ƒ|j|ddƒdƒ|j|ddƒd ƒ|j|ddƒdƒdS( NcSs|stƒ‚n|S(N(tWinError(tvalue((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyt NoNullHandle\s t abcdefghiRtbcdefghiRcSst|ƒd}t||ŒS(Ni(Rtc_char(tinittsize((s./sys/lib/python2.7/ctypes/test/test_funcptr.pytc_stringnssa b cs RR( tlibt my_strchrR6RRBR RtNonet my_strtok(R R?tstrchrtstrtokRERR((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyttest_dllfunctionsZs       (R,R-RRR<RL(((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyR s  -t__main__(RtunittesttctypesRt NameErrorRt _ctypes_testtCDLLt__file__RFtTestCaseRR,tmain(((s./sys/lib/python2.7/ctypes/test/test_funcptr.pyts    q