Ñò 4Mc@sÍddkZddkZddklZlZlZdeifd„ƒYZy!ddk l Z l Z e Z e oBy4ddkZeidƒddjo eZ nWqµqµXne o`yFe dd gd e d e ƒZeiƒeidjo eZ nWqej oqXne oeid ƒe`nyddkZWn eid ƒe`e`nXWnXej oLeidƒx:eeƒD]'Zeidƒoeeeƒq™q™WnXdS(iÿÿÿÿN(tshelltconfigtloggert FilterTestscBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCsÌd}d}ti|t|ƒiƒddƒ}tiii|ƒ}g}|idƒD]}||i dƒqY~}|i d|dƒ|i d |d ƒ|i d |d ƒ|i d |dƒdS(Nstests/data/filter/coral_cdn.xmlscoral_cdn_filter.pytmodetfiltertimgtsrcs(http://example.com.nyud.net:8080/foo.pngis-http://example.com.1234.nyud.net:8080/foo.pngis,http://u:p@example.com.nyud.net:8080/foo.pngis1http://u:p@example.com.1234.nyud.net:8080/foo.pngi( Rtruntopentreadtxmltdomtminidomt parseStringtgetElementsByTagNamet getAttributet assertEqual(tselfttestfileRtoutputR t_[1]Rtimgsrcs((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_coral_cdns$3cCstidƒ|iƒdS(Ns$tests/data/filter/excerpt-images.ini(Rtloadt verify_images(R((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_excerpt_images1s cCstidƒ|iƒdS(Ns%tests/data/filter/excerpt-images2.ini(RRR(R((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_excerpt_images2s c Csd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q%Wtiii |ƒ}|i dƒd}|i dƒ}g}|D]}||i dƒq‰~} g} |D]}| |i i q³~ } |idd d g| ƒ|id d d g| ƒdS( Ns$tests/data/filter/excerpt-images.xmlRRsplanet:excerptitathreftinnertouter1touter2tbars(R R RtfiltersRRR R R RRRt lastChildt nodeValueR( RRRRR texcerpttanchorsRRthrefst_[2]ttexts((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyRs *'cCs¡d}tidƒt|ƒiƒ}x,tiƒD]}ti||ddƒ}q2Wtii i |ƒ}|i dƒd}|i ddd |i i iƒdS( Ns)tests/data/filter/excerpt-lorem-ipsum.xmls)tests/data/filter/excerpt-lorem-ipsum.iniRRsplanet:excerptiu)Lorem ipsum dolor sit amet, consectetuer u7adipiscing elit. Nullam velit. Vivamus tincidunt, erat uin …(RRR R R"RRR R R RRRt firstChildR$(RRRRR R%((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_excerpt_lorem_ipsum+s  cCs·d}tidƒtiidddƒt|ƒiƒ}x,tiƒD]}ti||ddƒ}qHWt i i i |ƒ}|i dƒd }|id d d |iiiƒdS( Ns)tests/data/filter/excerpt-lorem-ipsum.xmls)tests/data/filter/excerpt-lorem-ipsum.inis excerpt.pyttargets atom:summaryRRtsummaryiu)Lorem ipsum dolor sit amet, consectetuer u7adipiscing elit. Nullam velit. Vivamus tincidunt, erat uin …(RRtparsertsetR R R"RRR R R RRRR*R$(RRRRR R%((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyt test_excerpt_lorem_ipsum_summary9s  cCs™d}tidƒt|ƒiƒ}x,tiƒD]}ti||ddƒ}q2Wtii i |ƒ}|i dƒd}|i d|i i iƒdS(Ns#tests/data/filter/stripAd-yahoo.xmls#tests/data/filter/stripAd-yahoo.iniRRtcontentiu before--after(RRR R R"RRR R R RRRR*R$(RRRRR R%((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_stripAd_yahooHs   cCstidƒ|iƒdS(Ns"tests/data/filter/xpath-sifter.ini(RRt verify_xpath(R((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_xpath_filter1Us cCstidƒ|iƒdS(Ns#tests/data/filter/xpath-sifter2.ini(RRR3(R((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_xpath_filter2Ys cCs²d}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q%W|id|ƒd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q|W|id|ƒdS(Ns"tests/data/filter/category-one.xmlRRts"tests/data/filter/category-two.xml(R R RR"RRRtassertNotEqual(RRRR((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyR3]s  cCs¿tidƒd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q2W|id|ƒd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q‰W|id|ƒdS(Ns#tests/data/filter/regexp-sifter.inis"tests/data/filter/category-one.xmlRRR6s"tests/data/filter/category-two.xml( RRR R R"RRRR7(RRRR((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_regexp_filterns   cCs¿tidƒd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q2W|id|ƒd}t|ƒiƒ}x,tiƒD]}ti||ddƒ}q‰W|id|ƒdS(Ns$tests/data/filter/regexp-sifter2.inis"tests/data/filter/category-one.xmlRRR6s"tests/data/filter/category-two.xml( RRR R R"RRR7R(RRRR((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_regexp_filter2s   cCsld}d}ti|t|ƒiƒddƒ}|i|idƒdjƒ|i|idƒdjƒdS(Nstests/data/filter/index.htmls(xhtml2html.plugin?quote_attr_values=TrueRRs/>is (RRR R t assertTruetfind(RRRR((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyttest_xhtml2html_filter”s $(t__name__t __module__RRRRR+R0R2R4R5R3R8R9R<(((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pyRs          (tPopentPIPEs sed --versionitseds --versiontstdouttstderrs0sed is not available => can't test stripAd_yahoos3libxml2 is not available => can't test xpath_sifters5Popen is not available => can't test standard filtersttest_(tunittesttxml.dom.minidomR tplanetRRRtTestCaseRt subprocessR?R@tTruet_no_sedtcommandstgetstatusoutputtFalseRAt communicatet returncodet WindowsErrortwarnR2tlibxml2R4R5t ImportErrortdirtmethodt startswithtdelattr(((s?/home/sa3ruby/intertwingly.net/code/venus/tests/test_filters.pytsF•