a ze@sddlZddlZddlmZddlmZmZmZddlmZm Z eddZ Gdddeej Z Gd d d e ej Z ed kredS) N)font)requires gc_collect ALWAYS_EQ)AbstractTkTestAbstractDefaultRootTestZguiZ TkDefaultFontc@s`eZdZeddZddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ dS)FontTestcCsRtj|ztj|jtdd|_Wn(tjyLtj|jtdd|_Yn0dS)NTrootnameexistsF) r setUpClass__func__rFontr fontnametkinterTclError)clsrW/opt/bitninja-python-dojo/embedded/lib/python3.9/tkinter/test/test_tkinter/test_font.pyr s  zFontTest.setUpClasscCs|j}|t|hd|D]2}||j|||||j|||q"dD]:}|||t||j|t||j|tqZ|jrt nt}dD]:}||||||j||||j||qdSN>size underlineslant overstrikefamilyweight)rrr)rrr) rZ configureassertGreaterEqualset assertEqualcgetassertIsInstancestr wantobjectsintselfoptionskeyZsizetyperrrtest_configures   zFontTest.test_configurecCs`d}ztj|j|dd}Wn&tjy@tj|j|dd}Yn0||d|~tdS)NuMS ゴシックT)r rr Fr)rrr rrrr r)r&rfrrrtest_unicode_family&szFontTest.test_unicode_familycCs|j}|t|hd|D]}||j|||q"dD](}|||t||j|tqD|jrxtnt}dD](}||||||j||qdSr) ractualrrrr!r"r#r$r%rrr test_actual0s  zFontTest.test_actualcCs&||jjt|t|jtdSN)rrr rr"r&rrr test_name>szFontTest.test_namecCstj|jtdd}tj|jtdd}|||||||||||d||tt }| |j tj|tdd}|t |t ||||dS)NTr r)rrr rZ assertIsNotrZassertNotEqualcopyrrTkZ addCleanupdestroyr")r&Zfont1Zfont2root2Zfont3rrr test_equalityBs     zFontTest.test_equalitycCs||jdtdS)Nabc)r!rZmeasurer$r/rrr test_measureRszFontTest.test_measurecCsh|j}|t|hd|D]@}||j||||||t||j|tq"dS)N>ZdescentZ linespacefixedZascent)rmetricsrrrr!r$)r&r9r(rrr test_metricsUs  zFontTest.test_metricscCsFt|j}||t|||D]}||t||q&dSr.)rfamiliesr r!tuple assertTruer")r&r;rrrr test_families^s     zFontTest.test_familiescCsRt|j}||t|||D]}||t||q&|t|dSr.) rnamesr r!r<r=r"assertInr)r&r?r rrr test_namesfs     zFontTest.test_namesN)__name__ __module__ __qualname__ classmethodr r)r+r-r0r5r7r:r>rArrrrr s   rc@seZdZddZddZdS)DefaultRootTestcCsv|ttjt}t}||t|||D]}||t ||q8| t |ttjdSr.) assertRaises RuntimeErrorrr;rr2r!r<r=r"r3 NoDefaultRoot)r&r r;rrrrr>rs    zDefaultRootTest.test_familiescCs|ttjt}t}||t|||D]}||t ||q8| t || t |ttjdSr.)rGrHrr?rr2r!r<r=r"r@rr3rI)r&r r?r rrrrAs     zDefaultRootTest.test_namesN)rBrCrDr>rArrrrrFps rF__main__)ZunittestrrZ test.supportrrrZtkinter.test.supportrrrZTestCaserrFrBmainrrrrs e