a „oe÷#ã@sÖddlZddlZddlZddlZddlZddlZGdd„dejƒZGdd„deƒZGdd„deƒZ Gdd „d eƒZ Gd d „d eƒZ Gd d „d eƒZ Gdd„deƒZ Gdd„deƒZGdd„deƒZedkrÒe ¡dS)éNc@seZdZdd„ZdS)ÚTestBasec Ksxtƒ}| ¡D]0\}}| |||d||||f¡d||<qt| ¡ƒ}t| ¡ƒ}| ¡| ¡| ||¡dS)Nz'%s' doesn't match: %r != %rT)ÚdictÚitemsÚ assertEqualÚlistÚkeysÚsort)ÚselfÚdÚkwÚcheckedÚnÚvZ checked_keysZ passed_keys©rú?C:\Program Files\Certbot\pkgs\win32\test\test_win32guistruct.pyÚassertDictEquals s    zTestBase.assertDictEqualsN)Ú__name__Ú __module__Ú __qualname__rrrrrr src@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚTestMenuItemInfoc Cspttjtjddddd|dd }tjfi|¤Ž\}}t |¡\ }}}}} } } }} |j|||||| | | || d dS)Né{iÒi90i@âi‡ÖiA) ÚfTypeÚfStateÚwIDÚhSubMenuÚ hbmpCheckedÚ hbmpUncheckedÚ dwItemDataÚtextÚhbmpItem)rÚwin32conZMFT_MENUBARBREAKZ MFS_CHECKEDÚwin32gui_structZPackMENUITEMINFOÚUnpackMENUITEMINFOr) r rÚvalsÚmiiÚextrasrrrrrrrrrrrÚ_testPackUnpacksF÷  ööz TestMenuItemInfo._testPackUnpackcCs| d¡dS©NZHello©r&©r rrrÚtestPackUnpack=szTestMenuItemInfo.testPackUnpackcCs| d¡dS©Nr(r)rrrÚtestPackUnpackNone@sz#TestMenuItemInfo.testPackUnpackNonec Cs t ¡\}}t |¡\ }}}}}}} } } | |d¡| |d¡| |d¡| |d¡| |d¡| |d¡| | d¡| | d¡| | dt| ƒ¡dS)Nrú)r!ZEmptyMENUITEMINFOr"rÚlen) r r$ÚextrarrrrrrrrrrrrÚtestEmptyMenuItemInfoCs* ö        z&TestMenuItemInfo.testEmptyMenuItemInfoN)rrrr&r*r,r0rrrrrs%rc@seZdZdd„Zdd„ZdS)Ú TestMenuInfocCsPtdddddd}tjfi|¤Ž}t |¡\}}}}}|j||||||ddS)Nééééé)ÚdwStyleÚcyMaxÚhbrBackÚdwContextHelpIDÚ dwMenuData)rr!Z PackMENUINFOÚUnpackMENUINFOr)r r#Úmir7r8r9r:r;rrrr*`s"úúzTestMenuInfo.testPackUnpackcCs\t ¡}t |¡\}}}}}| |d¡| |d¡| |d¡| |d¡| |d¡dS)Nr)r!Z EmptyMENUINFOr<r)r r=r7r8r9r:r;rrrr0usú    z"TestMenuInfo.testEmptyMenuItemInfoN)rrrr*r0rrrrr1_sr1c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚTestTreeViewItemc Csftddd|ddddd}tjfi|¤Ž\}}t |¡\}}}}}} } } |j||||||| | | d dS) Nr2r3r4r5r6éé)ÚhitemÚstateÚ stateMaskrÚimageÚselimageÚcitemsÚparam)rr!Z PackTVITEMÚ UnpackTVITEMr) r rr#Útir/rArBrCrDrErFrGrrrr&†s@ø  ÷÷z TestTreeViewItem._testPackUnpackcCs| d¡dSr'r(r)rrrr*ªszTestTreeViewItem.testPackUnpackcCs| d¡dSr+r(r)rrrr,­sz#TestTreeViewItem.testPackUnpackNonec CsŒt d¡\}}t |¡\}}}}}}} } | |d¡| |d¡| |d¡| |d¡| |d¡| |d¡| | d¡| | d¡dS©NrÚ)r!Z EmptyTVITEMrHr) r rIr%rArBrCrrDrErFrGrrrÚ testEmpty°s& ÷       zTestTreeViewItem.testEmptyN©rrrr&r*r,rLrrrrr>…s$r>c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚTestListViewItemc Csvtdddd|dddd}tjfi|¤Ž\}}t |¡\}}}}}} } } d|d<d|d <|j||||||| | | d dS) Nr2r3r4r5r6)ÚitemÚsubItemrBrCrrDrGÚindentrrOrP)rr!Z PackLVITEMÚ UnpackLVITEMr) r rr#rIr/rOrPrBrCrDrGrQrrrr&ÇsDø  ÷÷z TestListViewItem._testPackUnpackcCs| d¡dSr'r(r)rrrr*îszTestListViewItem.testPackUnpackcCs| d¡dSr+r(r)rrrr,ñsz#TestListViewItem.testPackUnpackNonec CsŽt dd¡\}}t |¡\}}}}}}} } | |d¡| |d¡| |d¡| |d¡| |d¡| |d¡| | d¡| | d¡dS)Nr2r3rrK)r!Z EmptyLVITEMrRr) r rIr%rOrPrBrCrrDrGrQrrrrLôs& ÷       zTestListViewItem.testEmptyNrMrrrrrNÆs'rNc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú TestLVColumnc CsZtdd|dddd}tjfi|¤Ž\}}t |¡\}}}}}} |j||||||| ddS)Nr2r3r4r5r6)ÚfmtÚcxrrPrDÚorder)rr!Z PackLVCOLUMNÚUnpackLVCOLUMNr) r rr#rIr/rTrUrPrDrVrrrr& s ÿzTestLVColumn._testPackUnpackcCs| d¡dSr'r(r)rrrr*szTestLVColumn.testPackUnpackcCs| d¡dSr+r(r)rrrr,szTestLVColumn.testPackUnpackNonec Csnt ¡\}}t |¡\}}}}}}| |d¡| |d¡| |d¡| |d¡| |d¡| |d¡dSrJ)r!Z EmptyLVCOLUMNrWr) r rIr%rTrUrrPrDrVrrrrLs      zTestLVColumn.testEmptyNrMrrrrrS s rSc@seZdZdd„Zdd„ZdS)ÚTestDEV_BROADCAST_HANDLEcCs:t d¡}t d|¡}t | ¡d¡}| |jd¡dS)NrÚbr)r!ÚPackDEV_BROADCAST_HANDLEÚarrayÚUnpackDEV_BROADCASTÚ buffer_inforÚhandle©r ÚsÚcZgotrrrr*'s  z'TestDEV_BROADCAST_HANDLE.testPackUnpackcCsPtjdtjd}t d|¡}t | ¡d¡}| |jd¡| |j tj¡dS)Nr)ZguidrYr) r!rZÚ pythoncomÚ IID_IUnknownr[r\r]rr^Z eventguidr_rrrÚtestGUID-s  z!TestDEV_BROADCAST_HANDLE.testGUIDN)rrrr*rdrrrrrX&srXc@seZdZdd„ZdS)Ú!TestDEV_BROADCAST_DEVICEINTERFACEcCsNt tjd¡}t d|¡}t | ¡d¡}| |jtj¡| |j d¡dS)NZhellorYr) r!Z!PackDEV_BROADCAST_DEVICEINTERFACErbrcr[r\r]rZ classguidÚnamer_rrrr*6sÿ z0TestDEV_BROADCAST_DEVICEINTERFACE.testPackUnpackN©rrrr*rrrrre5srec@seZdZdd„ZdS)ÚTestDEV_BROADCAST_VOLUMEcCsJt dd¡}t d|¡}t | ¡d¡}| |jd¡| |jd¡dS)NriÈrYr)r!ZPackDEV_BROADCAST_VOLUMEr[r\r]rZunitmaskÚflagsr_rrrr*As   z'TestDEV_BROADCAST_VOLUME.testPackUnpackNrgrrrrrh@srhÚ__main__)r[Zunittestrbr Zwin32guir!ZTestCaserrr1r>rNrSrXrerhrÚmainrrrrÚs  H&AD