py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python -m pytest -v
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: setup.cfg
collecting ... collected 427 items / 1 skipped

tests/test_callbacks.py::TestNofollowCallback::test_basic PASSED
tests/test_callbacks.py::TestNofollowCallback::test_blank PASSED
tests/test_callbacks.py::TestNofollowCallback::test_has_nofollow_already PASSED
tests/test_callbacks.py::TestNofollowCallback::test_mailto PASSED
tests/test_callbacks.py::TestNofollowCallback::test_no_href PASSED
tests/test_callbacks.py::TestNofollowCallback::test_other_rel PASSED
tests/test_callbacks.py::TestTargetBlankCallback::test_add_target PASSED
tests/test_callbacks.py::TestTargetBlankCallback::test_empty PASSED
tests/test_callbacks.py::TestTargetBlankCallback::test_mailto PASSED
tests/test_callbacks.py::TestTargetBlankCallback::test_stomp_target PASSED
tests/test_clean.py::TestCleaner::test_basics PASSED
tests/test_clean.py::TestCleaner::test_filters PASSED
tests/test_clean.py::test_attributes_callable PASSED
tests/test_clean.py::test_attributes_list PASSED
tests/test_clean.py::test_attributes_tag_callable PASSED
tests/test_clean.py::test_attributes_tag_list PASSED
tests/test_clean.py::test_attributes_wildcard PASSED
tests/test_clean.py::test_attributes_wildcard_callable PASSED
tests/test_clean.py::test_bare_entities_get_escaped_correctly[an & entity-an & entity] PASSED
tests/test_clean.py::test_bare_entities_get_escaped_correctly[an < entity-an &lt; entity] PASSED
tests/test_clean.py::test_bare_entities_get_escaped_correctly[tag < <em>and</em> entity-tag &lt; <em>and</em> entity] PASSED
tests/test_clean.py::test_character_entities_handling[&#-&amp;#] PASSED
tests/test_clean.py::test_character_entities_handling[&#123;-&#123;] PASSED
tests/test_clean.py::test_character_entities_handling[&#34;-&#34;] PASSED
tests/test_clean.py::test_character_entities_handling[&#39;&#34;-&#39;&#34;] PASSED
tests/test_clean.py::test_character_entities_handling[&#39;-&#39;] PASSED
tests/test_clean.py::test_character_entities_handling[&#<-&amp;#&lt;] PASSED
tests/test_clean.py::test_character_entities_handling[&#x0007B;-&#x0007B;] PASSED
tests/test_clean.py::test_character_entities_handling[&#x0007b;-&#x0007b;] PASSED
tests/test_clean.py::test_character_entities_handling[&&amp; is cool-&amp;&amp; is cool] PASSED
tests/test_clean.py::test_character_entities_handling[&adp;-&amp;adp;] PASSED
tests/test_clean.py::test_character_entities_handling[&amp; is cool &amp;&-&amp; is cool &amp;&amp;] PASSED
tests/test_clean.py::test_character_entities_handling[&amp;-&amp;] PASSED
tests/test_clean.py::test_character_entities_handling[&amp;is cool-&amp;is cool] PASSED
tests/test_clean.py::test_character_entities_handling[&currdupe;-&amp;currdupe;] PASSED
tests/test_clean.py::test_character_entities_handling[&lt;em&gt;strong&lt;/em&gt;-&lt;em&gt;strong&lt;/em&gt;] PASSED
tests/test_clean.py::test_character_entities_handling[&nbsp; test string &nbsp;-&nbsp; test string &nbsp;] PASSED
tests/test_clean.py::test_character_entities_handling[&nbsp;-&nbsp;] PASSED
tests/test_clean.py::test_character_entities_handling[&xx;-&amp;xx;] PASSED
tests/test_clean.py::test_character_entities_handling[<a href="?art&amp;copy">foo</a>-<a href="?art&amp;copy">foo</a>] PASSED
tests/test_clean.py::test_character_entities_handling[<a href="?this=&gt;that">foo</a>-<a href="?this=&gt;that">foo</a>] PASSED
tests/test_clean.py::test_character_entities_handling[<a href="http://example.com/&xx;">foo</a>-<a href="http://example.com/&amp;xx;">foo</a>] PASSED
tests/test_clean.py::test_character_entities_handling[<a href="http://example.com?&adp;">foo</a>-<a href="http://example.com?&amp;adp;">foo</a>] PASSED
tests/test_clean.py::test_character_entities_handling[<a href="http://example.com?active=true&current=true">foo</a>-<a href="http://example.com?active=true&amp;current=true">foo</a>] PASSED
tests/test_clean.py::test_character_entities_handling[cool &amp;-cool &amp;] PASSED
tests/test_clean.py::test_character_entities_handling[http://example.com?active=true&current=true-http://example.com?active=true&amp;current=true] PASSED
tests/test_clean.py::test_character_entities_handling[this &amp that-this &amp;amp that] PASSED
tests/test_clean.py::test_clean_idempotent[&&nbsp; &nbsp;&] PASSED
tests/test_clean.py::test_clean_idempotent[<a href="http://example.com?foo=bar&bar=foo&amp;biz=bash">] PASSED
tests/test_clean.py::test_clean_idempotent[<span>text & </span>] PASSED
tests/test_clean.py::test_clean_idempotent[a < b] PASSED
tests/test_clean.py::test_clean_idempotent[jim &current joe] PASSED
tests/test_clean.py::test_clean_idempotent[jim &xx; joe] PASSED
tests/test_clean.py::test_clean_idempotent[link http://link.com] PASSED
tests/test_clean.py::test_clean_idempotent[text<em>] PASSED
tests/test_clean.py::test_clean_idempotent_img PASSED
tests/test_clean.py::test_comments[<!-- comment -->text-False-<!-- comment -->text] PASSED
tests/test_clean.py::test_comments[<!-- comment -->text-True-text] PASSED
tests/test_clean.py::test_comments[<!-- open comment-False-<!-- open comment-->] PASSED
tests/test_clean.py::test_comments[<!-- open comment-True-] PASSED
tests/test_clean.py::test_comments[<!-- this is a comment -->-True-] PASSED
tests/test_clean.py::test_comments[<!--comment-->text-False-<!--comment-->text] PASSED
tests/test_clean.py::test_comments[<!--comment-->text-True-text] PASSED
tests/test_clean.py::test_comments[<!--open comment-False-<!--open comment-->] PASSED
tests/test_clean.py::test_comments[<!--open comment-True-] PASSED
tests/test_clean.py::test_comments[text<!-- comment -->-False-text<!-- comment -->] PASSED
tests/test_clean.py::test_comments[text<!-- comment -->-True-text] PASSED
tests/test_clean.py::test_comments[text<!--comment-->-False-text<!--comment-->] PASSED
tests/test_clean.py::test_comments[text<!--comment-->-True-text] PASSED
tests/test_clean.py::test_content_has_allowed_html[an <strong>allowed</strong> tag-an <strong>allowed</strong> tag] PASSED
tests/test_clean.py::test_content_has_allowed_html[another <em>good</em> tag-another <em>good</em> tag] PASSED
tests/test_clean.py::test_content_has_no_html PASSED
tests/test_clean.py::test_css_sanitizer_warning[attr0] PASSED
tests/test_clean.py::test_css_sanitizer_warning[attr1] PASSED
tests/test_clean.py::test_disallowed_attr PASSED
tests/test_clean.py::test_empty PASSED
tests/test_clean.py::test_escaping_tags[</ sarcasm >-&lt;/ sarcasm &gt;] PASSED
tests/test_clean.py::test_escaping_tags[</ sarcasm>-&lt;/ sarcasm&gt;] PASSED
tests/test_clean.py::test_escaping_tags[</3-&lt;/3] PASSED
tests/test_clean.py::test_escaping_tags[</sarcasm>-&lt;/sarcasm&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<bar@example.com>-&lt;bar@example.com&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<img src="javascript:alert('XSS');">-&lt;img src="javascript:alert('XSS');"&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<isindex>-&lt;isindex&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<sarcasm/>-&lt;sarcasm/&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<sarcasm>-&lt;sarcasm&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<script>safe()</script>-&lt;script&gt;safe()&lt;/script&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<style>body{}</style>-&lt;style&gt;body{}&lt;/style&gt;] PASSED
tests/test_clean.py::test_escaping_tags[<ul><li><script></li></ul>-<ul><li>&lt;script&gt;</li></ul>] PASSED
tests/test_clean.py::test_escaping_tags[Favorite movie: <name of movie>-Favorite movie: &lt;name of movie&gt;] PASSED
tests/test_clean.py::test_href_with_wrong_tag PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-iframe-<math></br><iframe><!--</iframe><img src/onerror=alert(1)>-<math><br><iframe><!--&lt;/iframe&gt;&lt;img src/onerror=alert(1)&gt;--></iframe></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-noembed-<math></br><noembed><!--</noembed><img src/onerror=alert(1)>-<math><br><noembed><!--&lt;/noembed&gt;&lt;img src/onerror=alert(1)&gt;--></noembed></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-noframes-<math></br><noframes><!--</noframes><img src/onerror=alert(1)>-<math><br><noframes><!--&lt;/noframes&gt;&lt;img src/onerror=alert(1)&gt;--></noframes></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-noscript-<math></br><noscript><!--</noscript><img src/onerror=alert(1)>-<math><br><noscript><!--&lt;/noscript&gt;&lt;img src/onerror=alert(1)&gt;--></noscript></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-script-<math></br><script><!--</script><img src/onerror=alert(1)>-<math><br><script><!--&lt;/script&gt;&lt;img src/onerror=alert(1)&gt;--></script></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-style-<math></br><style><!--</style><img src/onerror=alert(1)>-<math><br><style><!--&lt;/style&gt;&lt;img src/onerror=alert(1)&gt;--></style></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-textarea-<math></br><textarea><!--</textarea><img src/onerror=alert(1)>-<math><br><textarea><!--&lt;/textarea&gt;&lt;img src/onerror=alert(1)&gt;--></textarea></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-title-<math></br><title><!--</title><img src/onerror=alert(1)>-<math><br><title><!--&lt;/title&gt;&lt;img src/onerror=alert(1)&gt;--></title></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-br-xmp-<math></br><xmp><!--</xmp><img src/onerror=alert(1)>-<math><br><xmp><!--&lt;/xmp&gt;&lt;img src/onerror=alert(1)&gt;--></xmp></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-iframe-<math></p><iframe><!--</iframe><img src/onerror=alert(1)>-<math><p></p><iframe><!--&lt;/iframe&gt;&lt;img src/onerror=alert(1)&gt;--></iframe></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-noembed-<math></p><noembed><!--</noembed><img src/onerror=alert(1)>-<math><p></p><noembed><!--&lt;/noembed&gt;&lt;img src/onerror=alert(1)&gt;--></noembed></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-noframes-<math></p><noframes><!--</noframes><img src/onerror=alert(1)>-<math><p></p><noframes><!--&lt;/noframes&gt;&lt;img src/onerror=alert(1)&gt;--></noframes></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-noscript-<math></p><noscript><!--</noscript><img src/onerror=alert(1)>-<math><p></p><noscript><!--&lt;/noscript&gt;&lt;img src/onerror=alert(1)&gt;--></noscript></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-script-<math></p><script><!--</script><img src/onerror=alert(1)>-<math><p></p><script><!--&lt;/script&gt;&lt;img src/onerror=alert(1)&gt;--></script></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-style-<math></p><style><!--</style><img src/onerror=alert(1)>-<math><p></p><style><!--&lt;/style&gt;&lt;img src/onerror=alert(1)&gt;--></style></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-textarea-<math></p><textarea><!--</textarea><img src/onerror=alert(1)>-<math><p></p><textarea><!--&lt;/textarea&gt;&lt;img src/onerror=alert(1)&gt;--></textarea></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-title-<math></p><title><!--</title><img src/onerror=alert(1)>-<math><p></p><title><!--&lt;/title&gt;&lt;img src/onerror=alert(1)&gt;--></title></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[math-p-xmp-<math></p><xmp><!--</xmp><img src/onerror=alert(1)>-<math><p></p><xmp><!--&lt;/xmp&gt;&lt;img src/onerror=alert(1)&gt;--></xmp></math>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-iframe-<svg></br><iframe><!--</iframe><img src/onerror=alert(1)>-<svg><br><iframe><!--&lt;/iframe&gt;&lt;img src/onerror=alert(1)&gt;--></iframe></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-noembed-<svg></br><noembed><!--</noembed><img src/onerror=alert(1)>-<svg><br><noembed><!--&lt;/noembed&gt;&lt;img src/onerror=alert(1)&gt;--></noembed></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-noframes-<svg></br><noframes><!--</noframes><img src/onerror=alert(1)>-<svg><br><noframes><!--&lt;/noframes&gt;&lt;img src/onerror=alert(1)&gt;--></noframes></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-noscript-<svg></br><noscript><!--</noscript><img src/onerror=alert(1)>-<svg><br><noscript><!--&lt;/noscript&gt;&lt;img src/onerror=alert(1)&gt;--></noscript></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-script-<svg></br><script><!--</script><img src/onerror=alert(1)>-<svg><br><script><!--&lt;/script&gt;&lt;img src/onerror=alert(1)&gt;--></script></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-style-<svg></br><style><!--</style><img src/onerror=alert(1)>-<svg><br><style><!--&lt;/style&gt;&lt;img src/onerror=alert(1)&gt;--></style></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-textarea-<svg></br><textarea><!--</textarea><img src/onerror=alert(1)>-<svg><br><textarea><!--&lt;/textarea&gt;&lt;img src/onerror=alert(1)&gt;--></textarea></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-title-<svg></br><title><!--</title><img src/onerror=alert(1)>-<svg><br><title><!--&lt;/title&gt;&lt;img src/onerror=alert(1)&gt;--></title></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-br-xmp-<svg></br><xmp><!--</xmp><img src/onerror=alert(1)>-<svg><br><xmp><!--&lt;/xmp&gt;&lt;img src/onerror=alert(1)&gt;--></xmp></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-iframe-<svg></p><iframe><!--</iframe><img src/onerror=alert(1)>-<svg><p></p><iframe><!--&lt;/iframe&gt;&lt;img src/onerror=alert(1)&gt;--></iframe></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-noembed-<svg></p><noembed><!--</noembed><img src/onerror=alert(1)>-<svg><p></p><noembed><!--&lt;/noembed&gt;&lt;img src/onerror=alert(1)&gt;--></noembed></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-noframes-<svg></p><noframes><!--</noframes><img src/onerror=alert(1)>-<svg><p></p><noframes><!--&lt;/noframes&gt;&lt;img src/onerror=alert(1)&gt;--></noframes></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-noscript-<svg></p><noscript><!--</noscript><img src/onerror=alert(1)>-<svg><p></p><noscript><!--&lt;/noscript&gt;&lt;img src/onerror=alert(1)&gt;--></noscript></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-script-<svg></p><script><!--</script><img src/onerror=alert(1)>-<svg><p></p><script><!--&lt;/script&gt;&lt;img src/onerror=alert(1)&gt;--></script></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-style-<svg></p><style><!--</style><img src/onerror=alert(1)>-<svg><p></p><style><!--&lt;/style&gt;&lt;img src/onerror=alert(1)&gt;--></style></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-textarea-<svg></p><textarea><!--</textarea><img src/onerror=alert(1)>-<svg><p></p><textarea><!--&lt;/textarea&gt;&lt;img src/onerror=alert(1)&gt;--></textarea></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-title-<svg></p><title><!--</title><img src/onerror=alert(1)>-<svg><p></p><title><!--&lt;/title&gt;&lt;img src/onerror=alert(1)&gt;--></title></svg>] PASSED
tests/test_clean.py::test_html_comments_escaped[svg-p-xmp-<svg></p><xmp><!--</xmp><img src/onerror=alert(1)>-<svg><p></p><xmp><!--&lt;/xmp&gt;&lt;img src/onerror=alert(1)&gt;--></xmp></svg>] PASSED
tests/test_clean.py::test_html_is_lowercased PASSED
tests/test_clean.py::test_invalid_char_in_tag PASSED
tests/test_clean.py::test_invalid_filter_attr PASSED
tests/test_clean.py::test_invisible_characters[1\x0723-1?23] PASSED
tests/test_clean.py::test_invisible_characters[1\x0823-1?23] PASSED
tests/test_clean.py::test_invisible_characters[1\x0b23-1?23] PASSED
tests/test_clean.py::test_invisible_characters[1\x0c23-1?23] PASSED
tests/test_clean.py::test_invisible_characters[import y\x08ose\x08m\x08i\x08t\x08e\x08-import y?ose?m?i?t?e?] PASSED
tests/test_clean.py::test_lessthan_escaping[<some thing thing-&lt;some thing thing] PASSED
tests/test_clean.py::test_lessthan_escaping[<some thing thing2 -&lt;some thing thing2 ] PASSED
tests/test_clean.py::test_lessthan_escaping[<some thing-&lt;some thing] PASSED
tests/test_clean.py::test_lessthan_escaping[<some thing=foo-&lt;some thing=foo] PASSED
tests/test_clean.py::test_lessthan_escaping[<y-&lt;y] PASSED
tests/test_clean.py::test_lessthan_escaping[<y>-&lt;y&gt;] PASSED
tests/test_clean.py::test_lessthan_escaping[x < y-x &lt; y] PASSED
tests/test_clean.py::test_lessthan_escaping[x<y-x&lt;y] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-iframe-<math><iframe><img src=x onerror=alert(1)>-<math><iframe>&lt;img src=x onerror=alert(1)&gt;</iframe></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noembed-<math><noembed><img src=x onerror=alert(1)>-<math><noembed>&lt;img src=x onerror=alert(1)&gt;</noembed></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noframes-<math><noframes><img src=x onerror=alert(1)>-<math><noframes>&lt;img src=x onerror=alert(1)&gt;</noframes></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noscript-<math><noscript><img src=x onerror=alert(1)>-<math><noscript>&lt;img src=x onerror=alert(1)&gt;</noscript></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-script-<math><script><img src=x onerror=alert(1)>-<math><script>&lt;img src=x onerror=alert(1)&gt;</script></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-style-<math><style><img src=x onerror=alert(1)>-<math><style>&lt;img src=x onerror=alert(1)&gt;</style></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-xmp-<math><xmp><img src=x onerror=alert(1)>-<math><xmp>&lt;img src=x onerror=alert(1)&gt;</xmp></math>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-iframe-<svg><iframe><img src=x onerror=alert(1)>-<svg><iframe>&lt;img src=x onerror=alert(1)&gt;</iframe></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noembed-<svg><noembed><img src=x onerror=alert(1)>-<svg><noembed>&lt;img src=x onerror=alert(1)&gt;</noembed></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noframes-<svg><noframes><img src=x onerror=alert(1)>-<svg><noframes>&lt;img src=x onerror=alert(1)&gt;</noframes></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noscript-<svg><noscript><img src=x onerror=alert(1)>-<svg><noscript>&lt;img src=x onerror=alert(1)&gt;</noscript></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-script-<svg><script><img src=x onerror=alert(1)>-<svg><script>&lt;img src=x onerror=alert(1)&gt;</script></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-style-<svg><style><img src=x onerror=alert(1)>-<svg><style>&lt;img src=x onerror=alert(1)&gt;</style></svg>] PASSED
tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-xmp-<svg><xmp><img src=x onerror=alert(1)>-<svg><xmp>&lt;img src=x onerror=alert(1)&gt;</xmp></svg>] PASSED
tests/test_clean.py::test_nested_script_tag PASSED
tests/test_clean.py::test_nonexistent_namespace PASSED
tests/test_clean.py::test_noscript_rawtag_[iframe-<noscript><iframe></noscript><img src=x onerror=alert(1) />-<noscript>&lt;iframe&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[noembed-<noscript><noembed></noscript><img src=x onerror=alert(1) />-<noscript>&lt;noembed&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[noframes-<noscript><noframes></noscript><img src=x onerror=alert(1) />-<noscript>&lt;noframes&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[script-<noscript><script></noscript><img src=x onerror=alert(1) />-<noscript>&lt;script&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[style-<noscript><style></noscript><img src=x onerror=alert(1) />-<noscript>&lt;style&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[textarea-<noscript><textarea></noscript><img src=x onerror=alert(1) />-<noscript>&lt;textarea&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[title-<noscript><title></noscript><img src=x onerror=alert(1) />-<noscript>&lt;title&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_noscript_rawtag_[xmp-<noscript><xmp></noscript><img src=x onerror=alert(1) />-<noscript>&lt;xmp&gt;</noscript>&lt;img src=x onerror=alert(1) /&gt;] PASSED
tests/test_clean.py::test_only_text_is_cleaned PASSED
tests/test_clean.py::test_poster_attribute PASSED
tests/test_clean.py::test_preserves_attributes_order PASSED
tests/test_clean.py::test_regressions[1.test] PASSED
tests/test_clean.py::test_regressions[10.test] PASSED
tests/test_clean.py::test_regressions[11.test] PASSED
tests/test_clean.py::test_regressions[12.test] PASSED
tests/test_clean.py::test_regressions[13.test] PASSED
tests/test_clean.py::test_regressions[14.test] PASSED
tests/test_clean.py::test_regressions[15.test] PASSED
tests/test_clean.py::test_regressions[16.test] PASSED
tests/test_clean.py::test_regressions[17.test] PASSED
tests/test_clean.py::test_regressions[18.test] PASSED
tests/test_clean.py::test_regressions[19.test] PASSED
tests/test_clean.py::test_regressions[2.test] PASSED
tests/test_clean.py::test_regressions[20.test] PASSED
tests/test_clean.py::test_regressions[3.test] PASSED
tests/test_clean.py::test_regressions[4.test] PASSED
tests/test_clean.py::test_regressions[5.test] PASSED
tests/test_clean.py::test_regressions[6.test] PASSED
tests/test_clean.py::test_regressions[7.test] PASSED
tests/test_clean.py::test_regressions[8.test] PASSED
tests/test_clean.py::test_regressions[9.test] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[area] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[base] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[br] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[embed] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[hr] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[img] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[input] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[keygen] XFAIL
tests/test_clean.py::test_self_closing_tags_self_close[link] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[menuitem] XFAIL
tests/test_clean.py::test_self_closing_tags_self_close[meta] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[param] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[source] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[track] PASSED
tests/test_clean.py::test_self_closing_tags_self_close[wbr] XFAIL
tests/test_clean.py::test_strip_respects_block_level_elements[<div><p>This is our <b>description!</b> &amp;</p></div><p>nice!</p>-\nThis is our description! &amp;\nnice!] PASSED
tests/test_clean.py::test_strip_respects_block_level_elements[<div><p>This is our <b>description!</b> &amp;</p><p>1</p><ul><li>a</li><li>b</li><li>c</li></ul></div><p>nice!</p>-\nThis is our description! &amp;\n1\n\na\nb\nc\nnice!] PASSED
tests/test_clean.py::test_strip_respects_block_level_elements[<p>Te<b>st</b>!</p><p>Hello</p>-Test!\nHello] PASSED
tests/test_clean.py::test_strip_respects_block_level_elements[<p>This is our <b>description!</b> &amp;</p><p>nice!</p>-This is our description! &amp;\nnice!] PASSED
tests/test_clean.py::test_stripping_tags[</ sarcasm >-kwargs11-&lt;/ sarcasm &gt;] PASSED
tests/test_clean.py::test_stripping_tags[</ sarcasm>-kwargs10-&lt;/ sarcasm&gt;] PASSED
tests/test_clean.py::test_stripping_tags[</3-kwargs14-&lt;/3] PASSED
tests/test_clean.py::test_stripping_tags[</sarcasm>-kwargs9-] PASSED
tests/test_clean.py::test_stripping_tags[<isindex>-kwargs6-] PASSED
tests/test_clean.py::test_stripping_tags[<p><a href="http://example.com/"><img src="http://example.com/"></a></p>-kwargs5-<p><a href="http://example.com/"></a></p>] PASSED
tests/test_clean.py::test_stripping_tags[<p><a href="http://example.com/">link text</a></p>-kwargs2-<p>link text</p>] PASSED
tests/test_clean.py::test_stripping_tags[<p><span>multiply <span>nested <span>text</span></span></span></p>-kwargs3-<p>multiply nested text</p>] PASSED
tests/test_clean.py::test_stripping_tags[<sarcasm>-kwargs8-] PASSED
tests/test_clean.py::test_stripping_tags[<ul><li><script></li></ul>-kwargs4-<ul><li></li></ul>] PASSED
tests/test_clean.py::test_stripping_tags[Favorite movie: <name of movie>-kwargs13-Favorite movie: ] PASSED
tests/test_clean.py::test_stripping_tags[Foo <bar@example.com>-kwargs12-Foo ] PASSED
tests/test_clean.py::test_stripping_tags[Yeah right <sarcasm/>-kwargs7-Yeah right ] PASSED
tests/test_clean.py::test_stripping_tags[a test <em>with</em> <b>html</b> tags-kwargs0-a test <em>with</em> <b>html</b> tags] PASSED
tests/test_clean.py::test_stripping_tags[a test <em>with</em> <img src="http://example.com/"> <b>html</b> tags-kwargs1-a test <em>with</em>  <b>html</b> tags] PASSED
tests/test_clean.py::test_stripping_tags_is_safe[<scri<scri<script>pt>pt>alert(1)</script>-pt&gt;pt&gt;alert(1)] PASSED
tests/test_clean.py::test_stripping_tags_is_safe[<scri<script>pt>alert(1)</scr</script>ipt>-pt&gt;alert(1)ipt&gt;] PASSED
tests/test_clean.py::test_svg_allow_local_href[<svg><pattern id="patt1" href="#patt2"></pattern></svg>-<svg><pattern id="patt1" href="#patt2"></pattern></svg>] PASSED
tests/test_clean.py::test_svg_allow_local_href[<svg><pattern id="patt1" xlink:href="#patt2"></pattern></svg>-<svg><pattern id="patt1" href="#patt2"></pattern></svg>] PASSED
tests/test_clean.py::test_svg_allow_local_href_nonlocal[<svg><pattern id="patt1" href="https://example.com/patt"></pattern></svg>-<svg><pattern id="patt1"></pattern></svg>] PASSED
tests/test_clean.py::test_svg_allow_local_href_nonlocal[<svg><pattern id="patt1" xlink:href="https://example.com/patt"></pattern></svg>-<svg><pattern id="patt1"></pattern></svg>] PASSED
tests/test_clean.py::test_svg_attr_val_allows_ref PASSED
tests/test_clean.py::test_unclosed_tag PASSED
tests/test_clean.py::test_unquoted_attr_values_are_quoted PASSED
tests/test_clean.py::test_unquoted_event_handler_attr_value PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="#example.com">foo</a>-kwargs7-<a href="#example.com">foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="#section-1">foo</a>-kwargs6-<a href="#section-1">foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="&#14;javascript:alert(1)">alert</a>-kwargs24-<a>alert</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="/path">valid</a>-kwargs8-<a href="/path">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="/path">valid</a>-kwargs9-<a href="/path">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100">foo</a>-kwargs21-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100">valid</a>-kwargs14-<a href="192.168.100.100">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100:8000">foo</a>-kwargs22-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100:8000">valid</a>-kwargs15-<a href="192.168.100.100:8000">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100:8000/foo#bar">valid</a>-kwargs16-<a href="192.168.100.100:8000/foo#bar">valid</a>] XFAIL
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="data:text/javascript,prompt(1)">foo</a>-kwargs1-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com">foo</a>-kwargs17-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com">valid</a>-kwargs10-<a href="example.com">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com:8000">foo</a>-kwargs18-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com:8000">valid</a>-kwargs11-<a href="example.com:8000">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="file:///tmp/foo">foo</a>-kwargs3-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com">invalid href</a>-kwargs5-<a>invalid href</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com/?foo&nbsp;bar">foo</a>-kwargs25-<a href="http://example.com/?foo&nbsp;bar">foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com]">text</a>-kwargs0-<a>text</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="javas&#x09;cript:alert(1)">alert</a>-kwargs23-<a>alert</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="javascript:alert('XSS')">xss</a>-kwargs2-<a>xss</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost">foo</a>-kwargs19-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost">valid</a>-kwargs12-<a href="localhost">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost:8000">foo</a>-kwargs20-<a>foo</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost:8000">valid</a>-kwargs13-<a href="localhost:8000">valid</a>] PASSED
tests/test_clean.py::test_uri_value_allowed_protocols[<a href="myprotocol://more_text">allowed href</a>-kwargs4-<a href="myprotocol://more_text">allowed href</a>] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args0-<meta charset="utf-8">-<meta charset="utf-8">] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args1-text &amp;&gt;&quot;-text &amp;amp;&amp;gt;&amp;quot;] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args2-text &amp;&gt;&quot;-text &amp;&gt;"] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args3-<a href="http://example.com"">-<a href="http://example.com"></a>] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args4-<a href='http://example.com''>-<a href="http://example.com"></a>] PASSED
tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args5-</ chars-<!-- chars-->] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#-1;-&#-1;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#32;- ] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#9277809;-&#9277809;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#;-&#;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#x-1;-&#x-1;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#x110000;-&#x110000;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#x110111;-&#x110111;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#x20;- ] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&#x;-&#x;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&nbsp;-\xa0] PASSED
tests/test_html5lib_shim.py::test_convert_entities[&xx;-&xx;] PASSED
tests/test_html5lib_shim.py::test_convert_entities[-] PASSED
tests/test_html5lib_shim.py::test_convert_entities[abc-abc] PASSED
tests/test_html5lib_shim.py::test_convert_entities[this &amp; that &amp; that-this & that & that] PASSED
tests/test_html5lib_shim.py::test_serializer[&-&amp;] PASSED
tests/test_html5lib_shim.py::test_serializer[-] PASSED
tests/test_html5lib_shim.py::test_serializer[<a href="http://example.com?key=value&amp;key2=value">tag</a>-<a href="http://example.com?key=value&amp;key2=value">tag</a>] PASSED
tests/test_html5lib_shim.py::test_serializer[<a href="http://example.com?key=value&current=value">tag</a>-<a href="http://example.com?key=value&amp;current=value">tag</a>] PASSED
tests/test_html5lib_shim.py::test_serializer[<a href="http://example.com?key=value&key2=value">tag</a>-<a href="http://example.com?key=value&amp;key2=value">tag</a>] PASSED
tests/test_html5lib_shim.py::test_serializer[a &amp; b-a &amp;amp; b] PASSED
tests/test_html5lib_shim.py::test_serializer[text-text] PASSED
tests/test_linkify.py::TestLinkify::test_no_href_links PASSED
tests/test_linkify.py::TestLinkify::test_only_text_is_linkified PASSED
tests/test_linkify.py::TestLinkify::test_rel_already_there PASSED
tests/test_linkify.py::test_add_rel_nofollow PASSED
tests/test_linkify.py::test_drop_link_tags PASSED
tests/test_linkify.py::test_elements_inside_links PASSED
tests/test_linkify.py::test_email_link["\\\n"@opa.ru-True-"\\\n"@opa.ru] PASSED
tests/test_linkify.py::test_email_link[<br>jinkyun@example.com-True-<br><a href="mailto:jinkyun@example.com">jinkyun@example.com</a>] PASSED
tests/test_linkify.py::test_email_link[a james@example.com mailto-False-a james@example.com mailto] PASSED
tests/test_linkify.py::test_email_link[a james@example.com mailto-True-a <a href="mailto:james@example.com">james@example.com</a> mailto] PASSED
tests/test_linkify.py::test_email_link[a james@example.com.au mailto-False-a james@example.com.au mailto] PASSED
tests/test_linkify.py::test_email_link[aussie james@example.com.au mailto-True-aussie <a href="mailto:james@example.com.au">james@example.com.au</a> mailto] PASSED
tests/test_linkify.py::test_email_link[email to <a href="james@example.com">james@example.com</a>-True-email to <a href="james@example.com" rel="nofollow">james@example.com</a>] PASSED
tests/test_linkify.py::test_email_link[gorby%kremvax@example.com-True-<a href="mailto:gorby%25kremvax@example.com">gorby%kremvax@example.com</a>] PASSED
tests/test_linkify.py::test_email_link[mailto james@example.com.au.-True-mailto <a href="mailto:james@example.com.au">james@example.com.au</a>.] PASSED
tests/test_linkify.py::test_email_link[unlikely?address@example.com-True-<a href="mailto:unlikely%3Faddress@example.com">unlikely?address@example.com</a>] PASSED
tests/test_linkify.py::test_email_link_escaping["j'ames"@example.com-<a href="mailto:%22j%27ames%22@example.com">"j'ames"@example.com</a>] PASSED
tests/test_linkify.py::test_email_link_escaping["ja>mes"@example.com-<a href="mailto:%22ja%3Emes%22@example.com">"ja&gt;mes"@example.com</a>] PASSED
tests/test_linkify.py::test_email_link_escaping["james"@example.com-<a href="mailto:%22james%22@example.com">"james"@example.com</a>] PASSED
tests/test_linkify.py::test_email_re_arg PASSED
tests/test_linkify.py::test_empty PASSED
tests/test_linkify.py::test_end_of_clause PASSED
tests/test_linkify.py::test_end_of_sentence[ex.com/foo-....] PASSED
tests/test_linkify.py::test_end_of_sentence[ex.com/foo-.] PASSED
tests/test_linkify.py::test_end_of_sentence[example.com-...] PASSED
tests/test_linkify.py::test_end_of_sentence[example.com-.] PASSED
tests/test_linkify.py::test_escaped_html PASSED
tests/test_linkify.py::test_escaping[< unrelated-&lt; unrelated] PASSED
tests/test_linkify.py::test_escaping[<U \x7f=&#;>-<u \x7f="&amp;#;"></u>] PASSED
tests/test_linkify.py::test_hang PASSED
tests/test_linkify.py::test_hyphen_in_mail PASSED
tests/test_linkify.py::test_ignore_bad_protocols PASSED
tests/test_linkify.py::test_javascript_url PASSED
tests/test_linkify.py::test_libgl PASSED
tests/test_linkify.py::test_link_emails_and_urls PASSED
tests/test_linkify.py::test_link_entities_in_a_tag PASSED
tests/test_linkify.py::test_link_entities_in_characters_token PASSED
tests/test_linkify.py::test_link_entities_in_qs PASSED
tests/test_linkify.py::test_link_fragment PASSED
tests/test_linkify.py::test_link_ftp PASSED
tests/test_linkify.py::test_link_http_complete PASSED
tests/test_linkify.py::test_link_in_html PASSED
tests/test_linkify.py::test_link_query PASSED
tests/test_linkify.py::test_link_with_qs_with_array PASSED
tests/test_linkify.py::test_linkify_filter[abc-abc] PASSED
tests/test_linkify.py::test_linkify_filter[example.com-<a href="http://example.com" rel="nofollow">example.com</a>] PASSED
tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&amp;c=2-<a href="http://example.com?b=1&amp;c=2" rel="nofollow">http://example.com?b=1&amp;c=2</a>] PASSED
tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&c=2-<a href="http://example.com?b=1&amp;c=2" rel="nofollow">http://example.com?b=1&amp;c=2</a>] PASSED
tests/test_linkify.py::test_linkify_filter[link: https://example.com/watch#anchor-link: <a href="https://example.com/watch#anchor" rel="nofollow">https://example.com/watch#anchor</a>] PASSED
tests/test_linkify.py::test_linkify_idempotent[<a href="http://example.com?foo=bar&bar=foo&amp;biz=bash">] PASSED
tests/test_linkify.py::test_linkify_idempotent[<span>text & </span>] PASSED
tests/test_linkify.py::test_linkify_idempotent[a < b] PASSED
tests/test_linkify.py::test_linkify_idempotent[jim &current joe] PASSED
tests/test_linkify.py::test_linkify_idempotent[link http://link.com] PASSED
tests/test_linkify.py::test_linkify_idempotent[text<em>] PASSED
tests/test_linkify.py::test_links_case_insensitive PASSED
tests/test_linkify.py::test_links_https PASSED
tests/test_linkify.py::test_mangle_link PASSED
tests/test_linkify.py::test_mangle_text PASSED
tests/test_linkify.py::test_naughty_unescaping[&lt;br&gt; <br> http://example.com-&lt;br&gt; <br> <a href="http://example.com" rel="nofollow">http://example.com</a>] PASSED
tests/test_linkify.py::test_naughty_unescaping[&lt;br&gt; http://example.com-&lt;br&gt; <a href="http://example.com" rel="nofollow">http://example.com</a>] PASSED
tests/test_linkify.py::test_naughty_unescaping[&lt;br&gt;-&lt;br&gt;] PASSED
tests/test_linkify.py::test_nofollow_off PASSED
tests/test_linkify.py::test_non_url PASSED
tests/test_linkify.py::test_only_proto_links PASSED
tests/test_linkify.py::test_parentheses_with_removing PASSED
tests/test_linkify.py::test_ports[http://bar.com:xkcd-http://bar.com-:xkcd] PASSED
tests/test_linkify.py::test_ports[http://foo.com:-http://foo.com-:] PASSED
tests/test_linkify.py::test_ports[http://foo.com:8000-http://foo.com:8000-] PASSED
tests/test_linkify.py::test_ports[http://foo.com:8000/-http://foo.com:8000/-] PASSED
tests/test_linkify.py::test_ports[http://foo.com:81/bar-http://foo.com:81/bar-] PASSED
tests/test_linkify.py::test_ports[http://foo.com:\U0001d7e0\U0001d7d8/-http://foo.com-:\U0001d7e0\U0001d7d8/] PASSED
tests/test_linkify.py::test_ports[http://foo.com:\u0663\u0669/-http://foo.com-:\u0663\u0669/] PASSED
tests/test_linkify.py::test_prevent_links[callback0-a <a href="http://ex.mp">ex.mp</a> <a href="http://example.com">example</a>] PASSED
tests/test_linkify.py::test_prevent_links[callback1-a ex.mp <a href="http://example.com">example</a>] PASSED
tests/test_linkify.py::test_prevent_links[callback2-a ex.mp <a href="http://example.com">example</a>] PASSED
tests/test_linkify.py::test_prevent_links[callback3-a <a href="http://ex.mp">ex.mp</a> example] PASSED
tests/test_linkify.py::test_prevent_links[callback4-a <a href="http://ex.mp">ex.mp</a> example] PASSED
tests/test_linkify.py::test_prevent_links[callback5-a ex.mp example] PASSED
tests/test_linkify.py::test_recognized_tags_arg PASSED
tests/test_linkify.py::test_sarcasm PASSED
tests/test_linkify.py::test_set_attrs PASSED
tests/test_linkify.py::test_simple_link PASSED
tests/test_linkify.py::test_skip_tags PASSED
tests/test_linkify.py::test_stop_email PASSED
tests/test_linkify.py::test_tlds[bit.ly/fun-<a href="http://bit.ly/fun" rel="nofollow">bit.ly/fun</a>] PASSED
tests/test_linkify.py::test_tlds[brie-brie] PASSED
tests/test_linkify.py::test_tlds[example.co-<a href="http://example.co" rel="nofollow">example.co</a>] PASSED
tests/test_linkify.py::test_tlds[example.co.uk-<a href="http://example.co.uk" rel="nofollow">example.co.uk</a>] PASSED
tests/test_linkify.py::test_tlds[example.com-<a href="http://example.com" rel="nofollow">example.com</a>] PASSED
tests/test_linkify.py::test_tlds[example.edu-<a href="http://example.edu" rel="nofollow">example.edu</a>] PASSED
tests/test_linkify.py::test_tlds[example.xxx-<a href="http://example.xxx" rel="nofollow">example.xxx</a>] PASSED
tests/test_linkify.py::test_tlds[example.yyy-example.yyy] PASSED
tests/test_linkify.py::test_trailing_slash PASSED
tests/test_linkify.py::test_unsafe_url PASSED
tests/test_linkify.py::test_url_re_arg PASSED
tests/test_linkify.py::test_url_with_path PASSED
tests/test_linkify.py::test_wrapping_parentheses[(((example.com/))))-expected_parts3] PASSED
tests/test_linkify.py::test_wrapping_parentheses[((http://en.wikipedia.org/wiki/Test_(assessment))-expected_parts9] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(example.com)-expected_parts0] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(example.com/)-expected_parts1] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(example.com/foo)-expected_parts2] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(foo http://example.com)-expected_parts6] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(foo http://example.com/)-expected_parts5] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/)Test_(assessment-expected_parts11] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/Test_(assessment)))-expected_parts10] PASSED
tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/Test_(assessment))-expected_parts8] PASSED
tests/test_linkify.py::test_wrapping_parentheses[example.com/))-expected_parts4] PASSED
tests/test_linkify.py::test_wrapping_parentheses[hello (http://www.mu.de/blah.html) world-expected_parts12] PASSED
tests/test_linkify.py::test_wrapping_parentheses[hello (http://www.mu.de/blah.html). world-expected_parts13] PASSED
tests/test_linkify.py::test_wrapping_parentheses[http://en.wikipedia.org/wiki/Test_(assessment)-expected_parts7] PASSED
tests/test_parse_shim.py::test_urlparse[ foo.com  -expected9] PASSED
tests/test_parse_shim.py::test_urlparse[-expected0] PASSED
tests/test_parse_shim.py::test_urlparse[\t   :foo.com   \n-expected8] PASSED
tests/test_parse_shim.py::test_urlparse[a:\t foo.com-expected10] PASSED
tests/test_parse_shim.py::test_urlparse[http://2001::1]-ValueError] PASSED
tests/test_parse_shim.py::test_urlparse[http://example\t.\norg-expected1] PASSED
tests/test_parse_shim.py::test_urlparse[http://f: /c-expected19] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:/c-expected13] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:0/c-expected14] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:00000000000000/c-expected15] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:00000000000000000000080/c-expected16] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:21/ b ? d # e -expected11] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:999999/c-expected20] PASSED
tests/test_parse_shim.py::test_urlparse[http://f:b/c-expected18] PASSED
tests/test_parse_shim.py::test_urlparse[http://user:pass@foo:21/bar;par?b#c-expected2] PASSED
tests/test_parse_shim.py::test_urlparse[http:foo.com-expected7] PASSED
tests/test_parse_shim.py::test_urlparse[https://:@test-expected4] PASSED
tests/test_parse_shim.py::test_urlparse[https://test:@test-expected3] PASSED
tests/test_parse_shim.py::test_urlparse[lolscheme:x x#x x-expected12] PASSED
tests/test_parse_shim.py::test_urlparse[non-special://:@test/x-expected6] PASSED
tests/test_parse_shim.py::test_urlparse[non-special://test:@test/x-expected5] PASSED
tests/test_unicode.py::test_japanese_safe_simple PASSED
tests/test_unicode.py::test_japanese_strip PASSED
tests/test_unicode.py::test_mixed PASSED
tests/test_unicode.py::test_mixed_linkify PASSED
tests/test_unicode.py::test_russian_simple PASSED
tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/?f\xf3o=b\xe1r] PASSED
tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/?foo=bar] PASSED
tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/] PASSED
tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/] PASSED

======== 423 passed, 1 skipped, 4 xfailed ========
py$(PYV): commands[1]> python setup.py build
running build
running build_py
running egg_info
writing bleach.egg-info/PKG-INFO
writing dependency_links to bleach.egg-info/dependency_links.txt
writing requirements to bleach.egg-info/requires.txt
writing top-level names to bleach.egg-info/top_level.txt
reading manifest file 'bleach.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'bleach.egg-info/SOURCES.txt'
  py$(PYV): OK
  congratulations :)