³ò
Jé¬Fc           @   sÍ  d  d k  Z  d  d k Z d  d k l Z l Z l Z d e  i f d „  ƒ  YZ y!d  d k	 l
 Z
 l Z e Z e oB y4 d  d k Z e i d ƒ d d j o
 e Z n Wqµ qµ Xn e o` yF e
 d d	 g d
 e d e ƒZ e i ƒ  e i d j o
 e Z n Wqe j
 o qXn e o e i d ƒ e ` n y d  d k Z Wn  e i d ƒ e ` e ` n XWnX e j
 oL e i d ƒ x: e e ƒ D]' Z e i d ƒ o e e e ƒ q™q™Wn Xd S(   iÿÿÿÿN(   t   shellt   configt   loggert   FilterTestsc           B   s}   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   c         C   sÌ   d } d } t  i | t | ƒ i ƒ  d d ƒ} t i i i | ƒ } g  } | i d ƒ D] } | | i	 d ƒ qY ~ } |  i
 d | d ƒ |  i
 d	 | d
 ƒ |  i
 d | d ƒ |  i
 d | d ƒ d  S(   Ns   tests/data/filter/coral_cdn.xmls   coral_cdn_filter.pyt   modet   filtert   imgt   srcs(   http://example.com.nyud.net:8080/foo.pngi    s-   http://example.com.1234.nyud.net:8080/foo.pngi   s,   http://u:p@example.com.nyud.net:8080/foo.pngi   s1   http://u:p@example.com.1234.nyud.net:8080/foo.pngi   (   R    t   runt   opent   readt   xmlt   domt   minidomt   parseStringt   getElementsByTagNamet   getAttributet   assertEqual(   t   selft   testfileR   t   outputR   t   _[1]R   t   imgsrcs(    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_coral_cdn   s    $3c         C   s   t  i d ƒ |  i ƒ  d  S(   Ns$   tests/data/filter/excerpt-images.ini(   R   t   loadt   verify_images(   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_excerpt_images1   s    c         C   s   t  i d ƒ |  i ƒ  d  S(   Ns%   tests/data/filter/excerpt-images2.ini(   R   R   R   (   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_excerpt_images2   s    c      
   C   s  d } t  | ƒ i ƒ  } x, t i ƒ  D] } t i | | d d ƒ} q% Wt i i i	 | ƒ } | i
 d ƒ d } | i
 d ƒ } g  } | D] } | | i d ƒ q‰ ~ }	 g  }
 | D] } |
 | i i q³ ~
 } |  i d d	 d
 g |	 ƒ |  i d d d g | ƒ d  S(   Ns$   tests/data/filter/excerpt-images.xmlR   R   s   planet:excerpti    t   at   hreft   innert   outer1t   outer2t   bars   <img>(   R	   R
   R   t   filtersR    R   R   R   R   R   R   R   t	   lastChildt	   nodeValueR   (   R   R   R   R   R   t   excerptt   anchorsR   R   t   hrefst   _[2]t   texts(    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyR      s     *'c         C   s¡   d } t  i d ƒ t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q2 Wt i i	 i
 | ƒ } | i d ƒ d } |  i d d d	 | i i i ƒ d  S(
   Ns)   tests/data/filter/excerpt-lorem-ipsum.xmls)   tests/data/filter/excerpt-lorem-ipsum.iniR   R   s   planet:excerpti    u)   Lorem ipsum dolor sit amet, consectetuer u7   adipiscing elit. Nullam velit. Vivamus tincidunt, erat u   in â€¦(   R   R   R	   R
   R"   R    R   R   R   R   R   R   R   t
   firstChildR$   (   R   R   R   R   R   R%   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_excerpt_lorem_ipsum+   s     c         C   s·   d } t  i d ƒ t  i i d d d ƒ t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} qH Wt	 i
 i i | ƒ } | i d ƒ d	 } |  i d
 d d | i i i ƒ d  S(   Ns)   tests/data/filter/excerpt-lorem-ipsum.xmls)   tests/data/filter/excerpt-lorem-ipsum.inis
   excerpt.pyt   targets   atom:summaryR   R   t   summaryi    u)   Lorem ipsum dolor sit amet, consectetuer u7   adipiscing elit. Nullam velit. Vivamus tincidunt, erat u   in â€¦(   R   R   t   parsert   setR	   R
   R"   R    R   R   R   R   R   R   R   R*   R$   (   R   R   R   R   R   R%   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt    test_excerpt_lorem_ipsum_summary9   s     c         C   s™   d } t  i d ƒ t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q2 Wt i i	 i
 | ƒ } | i d ƒ d } |  i d | i i i ƒ d  S(   Ns#   tests/data/filter/stripAd-yahoo.xmls#   tests/data/filter/stripAd-yahoo.iniR   R   t   contenti    u   before--after(   R   R   R	   R
   R"   R    R   R   R   R   R   R   R   R*   R$   (   R   R   R   R   R   R%   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_stripAd_yahooH   s     	c         C   s   t  i d ƒ |  i ƒ  d  S(   Ns"   tests/data/filter/xpath-sifter.ini(   R   R   t   verify_xpath(   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_xpath_filter1U   s    c         C   s   t  i d ƒ |  i ƒ  d  S(   Ns#   tests/data/filter/xpath-sifter2.ini(   R   R   R3   (   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_xpath_filter2Y   s    c         C   s²   d } t  | ƒ i ƒ  } x, t i ƒ  D] } t i | | d d ƒ} q% W|  i d | ƒ d } t  | ƒ i ƒ  } x, t i ƒ  D] } t i | | d d ƒ} q| W|  i d | ƒ d  S(   Ns"   tests/data/filter/category-one.xmlR   R   t    s"   tests/data/filter/category-two.xml(   R	   R
   R   R"   R    R   R   t   assertNotEqual(   R   R   R   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyR3   ]   s      c         C   s¿   t  i d ƒ d } t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q2 W|  i d | ƒ d } t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q‰ W|  i d | ƒ d  S(   Ns#   tests/data/filter/regexp-sifter.inis"   tests/data/filter/category-one.xmlR   R   R6   s"   tests/data/filter/category-two.xml(	   R   R   R	   R
   R"   R    R   R   R7   (   R   R   R   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_regexp_filtern   s      c         C   s¿   t  i d ƒ d } t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q2 W|  i d | ƒ d } t | ƒ i ƒ  } x, t  i ƒ  D] } t i | | d d ƒ} q‰ W|  i d | ƒ d  S(   Ns$   tests/data/filter/regexp-sifter2.inis"   tests/data/filter/category-one.xmlR   R   R6   s"   tests/data/filter/category-two.xml(	   R   R   R	   R
   R"   R    R   R7   R   (   R   R   R   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_regexp_filter2   s      c         C   sl   d } d } t  i | t | ƒ i ƒ  d d ƒ} |  i | i d ƒ d j  ƒ |  i | i d ƒ d j ƒ d  S(   Ns   tests/data/filter/index.htmls(   xhtml2html.plugin?quote_attr_values=TrueR   R   s   />i    s	   </script>(   R    R   R	   R
   t
   assertTruet   find(   R   R   R   R   (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyt   test_xhtml2html_filter”   s
    $(   t   __name__t
   __module__R   R   R   R   R+   R0   R2   R4   R5   R3   R8   R9   R<   (    (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pyR      s   												(   t   Popent   PIPEs   sed --versioni    t   seds	   --versiont   stdoutt   stderrs0   sed is not available => can't test stripAd_yahoos3   libxml2 is not available => can't test xpath_sifters5   Popen is not available => can't test standard filterst   test_(   t   unittestt   xml.dom.minidomR   t   planetR    R   R   t   TestCaseR   t
   subprocessR?   R@   t   Truet   _no_sedt   commandst   getstatusoutputt   FalseRA   t   communicatet
   returncodet   WindowsErrort   warnR2   t   libxml2R4   R5   t   ImportErrort   dirt   methodt
   startswitht   delattr(    (    (    s/   /home/sgala/newcode/venus/tests/test_filters.pys   <module>   s@   •(
	
 
