1 py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
2 py$(PYV): commands[0]> python -m pytest -v
3 ============================= test session starts ==============================
4 platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
5 cachedir: .tox/py$(PYV)/.pytest_cache
8 collecting ... collected 427 items / 1 skipped
10 tests/test_callbacks.py::TestNofollowCallback::test_basic PASSED
11 tests/test_callbacks.py::TestNofollowCallback::test_blank PASSED
12 tests/test_callbacks.py::TestNofollowCallback::test_has_nofollow_already PASSED
13 tests/test_callbacks.py::TestNofollowCallback::test_mailto PASSED
14 tests/test_callbacks.py::TestNofollowCallback::test_no_href PASSED
15 tests/test_callbacks.py::TestNofollowCallback::test_other_rel PASSED
16 tests/test_callbacks.py::TestTargetBlankCallback::test_add_target PASSED
17 tests/test_callbacks.py::TestTargetBlankCallback::test_empty PASSED
18 tests/test_callbacks.py::TestTargetBlankCallback::test_mailto PASSED
19 tests/test_callbacks.py::TestTargetBlankCallback::test_stomp_target PASSED
20 tests/test_clean.py::TestCleaner::test_basics PASSED
21 tests/test_clean.py::TestCleaner::test_filters PASSED
22 tests/test_clean.py::test_attributes_callable PASSED
23 tests/test_clean.py::test_attributes_list PASSED
24 tests/test_clean.py::test_attributes_tag_callable PASSED
25 tests/test_clean.py::test_attributes_tag_list PASSED
26 tests/test_clean.py::test_attributes_wildcard PASSED
27 tests/test_clean.py::test_attributes_wildcard_callable PASSED
28 tests/test_clean.py::test_bare_entities_get_escaped_correctly[an & entity-an & entity] PASSED
29 tests/test_clean.py::test_bare_entities_get_escaped_correctly[an < entity-an < entity] PASSED
30 tests/test_clean.py::test_bare_entities_get_escaped_correctly[tag < <em>and</em> entity-tag < <em>and</em> entity] PASSED
31 tests/test_clean.py::test_character_entities_handling[&#-&#] PASSED
32 tests/test_clean.py::test_character_entities_handling[{-{] PASSED
33 tests/test_clean.py::test_character_entities_handling["-"] PASSED
34 tests/test_clean.py::test_character_entities_handling['"-'"] PASSED
35 tests/test_clean.py::test_character_entities_handling['-'] PASSED
36 tests/test_clean.py::test_character_entities_handling[&#<-&#<] PASSED
37 tests/test_clean.py::test_character_entities_handling[{-{] PASSED
38 tests/test_clean.py::test_character_entities_handling[{-{] PASSED
39 tests/test_clean.py::test_character_entities_handling[&& is cool-&& is cool] PASSED
40 tests/test_clean.py::test_character_entities_handling[&adp;-&adp;] PASSED
41 tests/test_clean.py::test_character_entities_handling[& is cool &&-& is cool &&] PASSED
42 tests/test_clean.py::test_character_entities_handling[&-&] PASSED
43 tests/test_clean.py::test_character_entities_handling[&is cool-&is cool] PASSED
44 tests/test_clean.py::test_character_entities_handling[&currdupe;-&currdupe;] PASSED
45 tests/test_clean.py::test_character_entities_handling[<em>strong</em>-<em>strong</em>] PASSED
46 tests/test_clean.py::test_character_entities_handling[ test string - test string ] PASSED
47 tests/test_clean.py::test_character_entities_handling[ - ] PASSED
48 tests/test_clean.py::test_character_entities_handling[&xx;-&xx;] PASSED
49 tests/test_clean.py::test_character_entities_handling[<a href="?art&copy">foo</a>-<a href="?art&copy">foo</a>] PASSED
50 tests/test_clean.py::test_character_entities_handling[<a href="?this=>that">foo</a>-<a href="?this=>that">foo</a>] PASSED
51 tests/test_clean.py::test_character_entities_handling[<a href="http://example.com/&xx;">foo</a>-<a href="http://example.com/&xx;">foo</a>] PASSED
52 tests/test_clean.py::test_character_entities_handling[<a href="http://example.com?&adp;">foo</a>-<a href="http://example.com?&adp;">foo</a>] PASSED
53 tests/test_clean.py::test_character_entities_handling[<a href="http://example.com?active=true¤t=true">foo</a>-<a href="http://example.com?active=true&current=true">foo</a>] PASSED
54 tests/test_clean.py::test_character_entities_handling[cool &-cool &] PASSED
55 tests/test_clean.py::test_character_entities_handling[http://example.com?active=true¤t=true-http://example.com?active=true&current=true] PASSED
56 tests/test_clean.py::test_character_entities_handling[this & that-this &amp that] PASSED
57 tests/test_clean.py::test_clean_idempotent[& &] PASSED
58 tests/test_clean.py::test_clean_idempotent[<a href="http://example.com?foo=bar&bar=foo&biz=bash">] PASSED
59 tests/test_clean.py::test_clean_idempotent[<span>text & </span>] PASSED
60 tests/test_clean.py::test_clean_idempotent[a < b] PASSED
61 tests/test_clean.py::test_clean_idempotent[jim ¤t joe] PASSED
62 tests/test_clean.py::test_clean_idempotent[jim &xx; joe] PASSED
63 tests/test_clean.py::test_clean_idempotent[link http://link.com] PASSED
64 tests/test_clean.py::test_clean_idempotent[text<em>] PASSED
65 tests/test_clean.py::test_clean_idempotent_img PASSED
66 tests/test_clean.py::test_comments[<!-- comment -->text-False-<!-- comment -->text] PASSED
67 tests/test_clean.py::test_comments[<!-- comment -->text-True-text] PASSED
68 tests/test_clean.py::test_comments[<!-- open comment-False-<!-- open comment-->] PASSED
69 tests/test_clean.py::test_comments[<!-- open comment-True-] PASSED
70 tests/test_clean.py::test_comments[<!-- this is a comment -->-True-] PASSED
71 tests/test_clean.py::test_comments[<!--comment-->text-False-<!--comment-->text] PASSED
72 tests/test_clean.py::test_comments[<!--comment-->text-True-text] PASSED
73 tests/test_clean.py::test_comments[<!--open comment-False-<!--open comment-->] PASSED
74 tests/test_clean.py::test_comments[<!--open comment-True-] PASSED
75 tests/test_clean.py::test_comments[text<!-- comment -->-False-text<!-- comment -->] PASSED
76 tests/test_clean.py::test_comments[text<!-- comment -->-True-text] PASSED
77 tests/test_clean.py::test_comments[text<!--comment-->-False-text<!--comment-->] PASSED
78 tests/test_clean.py::test_comments[text<!--comment-->-True-text] PASSED
79 tests/test_clean.py::test_content_has_allowed_html[an <strong>allowed</strong> tag-an <strong>allowed</strong> tag] PASSED
80 tests/test_clean.py::test_content_has_allowed_html[another <em>good</em> tag-another <em>good</em> tag] PASSED
81 tests/test_clean.py::test_content_has_no_html PASSED
82 tests/test_clean.py::test_css_sanitizer_warning[attr0] PASSED
83 tests/test_clean.py::test_css_sanitizer_warning[attr1] PASSED
84 tests/test_clean.py::test_disallowed_attr PASSED
85 tests/test_clean.py::test_empty PASSED
86 tests/test_clean.py::test_escaping_tags[</ sarcasm >-</ sarcasm >] PASSED
87 tests/test_clean.py::test_escaping_tags[</ sarcasm>-</ sarcasm>] PASSED
88 tests/test_clean.py::test_escaping_tags[</3-</3] PASSED
89 tests/test_clean.py::test_escaping_tags[</sarcasm>-</sarcasm>] PASSED
90 tests/test_clean.py::test_escaping_tags[<bar@example.com>-<bar@example.com>] PASSED
91 tests/test_clean.py::test_escaping_tags[<img src="javascript:alert('XSS');">-<img src="javascript:alert('XSS');">] PASSED
92 tests/test_clean.py::test_escaping_tags[<isindex>-<isindex>] PASSED
93 tests/test_clean.py::test_escaping_tags[<sarcasm/>-<sarcasm/>] PASSED
94 tests/test_clean.py::test_escaping_tags[<sarcasm>-<sarcasm>] PASSED
95 tests/test_clean.py::test_escaping_tags[<script>safe()</script>-<script>safe()</script>] PASSED
96 tests/test_clean.py::test_escaping_tags[<style>body{}</style>-<style>body{}</style>] PASSED
97 tests/test_clean.py::test_escaping_tags[<ul><li><script></li></ul>-<ul><li><script></li></ul>] PASSED
98 tests/test_clean.py::test_escaping_tags[Favorite movie: <name of movie>-Favorite movie: <name of movie>] PASSED
99 tests/test_clean.py::test_href_with_wrong_tag PASSED
100 tests/test_clean.py::test_html_comments_escaped[math-br-iframe-<math></br><iframe><!--</iframe><img src/onerror=alert(1)>-<math><br><iframe><!--</iframe><img src/onerror=alert(1)>--></iframe></math>] PASSED
101 tests/test_clean.py::test_html_comments_escaped[math-br-noembed-<math></br><noembed><!--</noembed><img src/onerror=alert(1)>-<math><br><noembed><!--</noembed><img src/onerror=alert(1)>--></noembed></math>] PASSED
102 tests/test_clean.py::test_html_comments_escaped[math-br-noframes-<math></br><noframes><!--</noframes><img src/onerror=alert(1)>-<math><br><noframes><!--</noframes><img src/onerror=alert(1)>--></noframes></math>] PASSED
103 tests/test_clean.py::test_html_comments_escaped[math-br-noscript-<math></br><noscript><!--</noscript><img src/onerror=alert(1)>-<math><br><noscript><!--</noscript><img src/onerror=alert(1)>--></noscript></math>] PASSED
104 tests/test_clean.py::test_html_comments_escaped[math-br-script-<math></br><script><!--</script><img src/onerror=alert(1)>-<math><br><script><!--</script><img src/onerror=alert(1)>--></script></math>] PASSED
105 tests/test_clean.py::test_html_comments_escaped[math-br-style-<math></br><style><!--</style><img src/onerror=alert(1)>-<math><br><style><!--</style><img src/onerror=alert(1)>--></style></math>] PASSED
106 tests/test_clean.py::test_html_comments_escaped[math-br-textarea-<math></br><textarea><!--</textarea><img src/onerror=alert(1)>-<math><br><textarea><!--</textarea><img src/onerror=alert(1)>--></textarea></math>] PASSED
107 tests/test_clean.py::test_html_comments_escaped[math-br-title-<math></br><title><!--</title><img src/onerror=alert(1)>-<math><br><title><!--</title><img src/onerror=alert(1)>--></title></math>] PASSED
108 tests/test_clean.py::test_html_comments_escaped[math-br-xmp-<math></br><xmp><!--</xmp><img src/onerror=alert(1)>-<math><br><xmp><!--</xmp><img src/onerror=alert(1)>--></xmp></math>] PASSED
109 tests/test_clean.py::test_html_comments_escaped[math-p-iframe-<math></p><iframe><!--</iframe><img src/onerror=alert(1)>-<math><p></p><iframe><!--</iframe><img src/onerror=alert(1)>--></iframe></math>] PASSED
110 tests/test_clean.py::test_html_comments_escaped[math-p-noembed-<math></p><noembed><!--</noembed><img src/onerror=alert(1)>-<math><p></p><noembed><!--</noembed><img src/onerror=alert(1)>--></noembed></math>] PASSED
111 tests/test_clean.py::test_html_comments_escaped[math-p-noframes-<math></p><noframes><!--</noframes><img src/onerror=alert(1)>-<math><p></p><noframes><!--</noframes><img src/onerror=alert(1)>--></noframes></math>] PASSED
112 tests/test_clean.py::test_html_comments_escaped[math-p-noscript-<math></p><noscript><!--</noscript><img src/onerror=alert(1)>-<math><p></p><noscript><!--</noscript><img src/onerror=alert(1)>--></noscript></math>] PASSED
113 tests/test_clean.py::test_html_comments_escaped[math-p-script-<math></p><script><!--</script><img src/onerror=alert(1)>-<math><p></p><script><!--</script><img src/onerror=alert(1)>--></script></math>] PASSED
114 tests/test_clean.py::test_html_comments_escaped[math-p-style-<math></p><style><!--</style><img src/onerror=alert(1)>-<math><p></p><style><!--</style><img src/onerror=alert(1)>--></style></math>] PASSED
115 tests/test_clean.py::test_html_comments_escaped[math-p-textarea-<math></p><textarea><!--</textarea><img src/onerror=alert(1)>-<math><p></p><textarea><!--</textarea><img src/onerror=alert(1)>--></textarea></math>] PASSED
116 tests/test_clean.py::test_html_comments_escaped[math-p-title-<math></p><title><!--</title><img src/onerror=alert(1)>-<math><p></p><title><!--</title><img src/onerror=alert(1)>--></title></math>] PASSED
117 tests/test_clean.py::test_html_comments_escaped[math-p-xmp-<math></p><xmp><!--</xmp><img src/onerror=alert(1)>-<math><p></p><xmp><!--</xmp><img src/onerror=alert(1)>--></xmp></math>] PASSED
118 tests/test_clean.py::test_html_comments_escaped[svg-br-iframe-<svg></br><iframe><!--</iframe><img src/onerror=alert(1)>-<svg><br><iframe><!--</iframe><img src/onerror=alert(1)>--></iframe></svg>] PASSED
119 tests/test_clean.py::test_html_comments_escaped[svg-br-noembed-<svg></br><noembed><!--</noembed><img src/onerror=alert(1)>-<svg><br><noembed><!--</noembed><img src/onerror=alert(1)>--></noembed></svg>] PASSED
120 tests/test_clean.py::test_html_comments_escaped[svg-br-noframes-<svg></br><noframes><!--</noframes><img src/onerror=alert(1)>-<svg><br><noframes><!--</noframes><img src/onerror=alert(1)>--></noframes></svg>] PASSED
121 tests/test_clean.py::test_html_comments_escaped[svg-br-noscript-<svg></br><noscript><!--</noscript><img src/onerror=alert(1)>-<svg><br><noscript><!--</noscript><img src/onerror=alert(1)>--></noscript></svg>] PASSED
122 tests/test_clean.py::test_html_comments_escaped[svg-br-script-<svg></br><script><!--</script><img src/onerror=alert(1)>-<svg><br><script><!--</script><img src/onerror=alert(1)>--></script></svg>] PASSED
123 tests/test_clean.py::test_html_comments_escaped[svg-br-style-<svg></br><style><!--</style><img src/onerror=alert(1)>-<svg><br><style><!--</style><img src/onerror=alert(1)>--></style></svg>] PASSED
124 tests/test_clean.py::test_html_comments_escaped[svg-br-textarea-<svg></br><textarea><!--</textarea><img src/onerror=alert(1)>-<svg><br><textarea><!--</textarea><img src/onerror=alert(1)>--></textarea></svg>] PASSED
125 tests/test_clean.py::test_html_comments_escaped[svg-br-title-<svg></br><title><!--</title><img src/onerror=alert(1)>-<svg><br><title><!--</title><img src/onerror=alert(1)>--></title></svg>] PASSED
126 tests/test_clean.py::test_html_comments_escaped[svg-br-xmp-<svg></br><xmp><!--</xmp><img src/onerror=alert(1)>-<svg><br><xmp><!--</xmp><img src/onerror=alert(1)>--></xmp></svg>] PASSED
127 tests/test_clean.py::test_html_comments_escaped[svg-p-iframe-<svg></p><iframe><!--</iframe><img src/onerror=alert(1)>-<svg><p></p><iframe><!--</iframe><img src/onerror=alert(1)>--></iframe></svg>] PASSED
128 tests/test_clean.py::test_html_comments_escaped[svg-p-noembed-<svg></p><noembed><!--</noembed><img src/onerror=alert(1)>-<svg><p></p><noembed><!--</noembed><img src/onerror=alert(1)>--></noembed></svg>] PASSED
129 tests/test_clean.py::test_html_comments_escaped[svg-p-noframes-<svg></p><noframes><!--</noframes><img src/onerror=alert(1)>-<svg><p></p><noframes><!--</noframes><img src/onerror=alert(1)>--></noframes></svg>] PASSED
130 tests/test_clean.py::test_html_comments_escaped[svg-p-noscript-<svg></p><noscript><!--</noscript><img src/onerror=alert(1)>-<svg><p></p><noscript><!--</noscript><img src/onerror=alert(1)>--></noscript></svg>] PASSED
131 tests/test_clean.py::test_html_comments_escaped[svg-p-script-<svg></p><script><!--</script><img src/onerror=alert(1)>-<svg><p></p><script><!--</script><img src/onerror=alert(1)>--></script></svg>] PASSED
132 tests/test_clean.py::test_html_comments_escaped[svg-p-style-<svg></p><style><!--</style><img src/onerror=alert(1)>-<svg><p></p><style><!--</style><img src/onerror=alert(1)>--></style></svg>] PASSED
133 tests/test_clean.py::test_html_comments_escaped[svg-p-textarea-<svg></p><textarea><!--</textarea><img src/onerror=alert(1)>-<svg><p></p><textarea><!--</textarea><img src/onerror=alert(1)>--></textarea></svg>] PASSED
134 tests/test_clean.py::test_html_comments_escaped[svg-p-title-<svg></p><title><!--</title><img src/onerror=alert(1)>-<svg><p></p><title><!--</title><img src/onerror=alert(1)>--></title></svg>] PASSED
135 tests/test_clean.py::test_html_comments_escaped[svg-p-xmp-<svg></p><xmp><!--</xmp><img src/onerror=alert(1)>-<svg><p></p><xmp><!--</xmp><img src/onerror=alert(1)>--></xmp></svg>] PASSED
136 tests/test_clean.py::test_html_is_lowercased PASSED
137 tests/test_clean.py::test_invalid_char_in_tag PASSED
138 tests/test_clean.py::test_invalid_filter_attr PASSED
139 tests/test_clean.py::test_invisible_characters[1\x0723-1?23] PASSED
140 tests/test_clean.py::test_invisible_characters[1\x0823-1?23] PASSED
141 tests/test_clean.py::test_invisible_characters[1\x0b23-1?23] PASSED
142 tests/test_clean.py::test_invisible_characters[1\x0c23-1?23] PASSED
143 tests/test_clean.py::test_invisible_characters[import y\x08ose\x08m\x08i\x08t\x08e\x08-import y?ose?m?i?t?e?] PASSED
144 tests/test_clean.py::test_lessthan_escaping[<some thing thing-<some thing thing] PASSED
145 tests/test_clean.py::test_lessthan_escaping[<some thing thing2 -<some thing thing2 ] PASSED
146 tests/test_clean.py::test_lessthan_escaping[<some thing-<some thing] PASSED
147 tests/test_clean.py::test_lessthan_escaping[<some thing=foo-<some thing=foo] PASSED
148 tests/test_clean.py::test_lessthan_escaping[<y-<y] PASSED
149 tests/test_clean.py::test_lessthan_escaping[<y>-<y>] PASSED
150 tests/test_clean.py::test_lessthan_escaping[x < y-x < y] PASSED
151 tests/test_clean.py::test_lessthan_escaping[x<y-x<y] PASSED
152 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-iframe-<math><iframe><img src=x onerror=alert(1)>-<math><iframe><img src=x onerror=alert(1)></iframe></math>] PASSED
153 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noembed-<math><noembed><img src=x onerror=alert(1)>-<math><noembed><img src=x onerror=alert(1)></noembed></math>] PASSED
154 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noframes-<math><noframes><img src=x onerror=alert(1)>-<math><noframes><img src=x onerror=alert(1)></noframes></math>] PASSED
155 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-noscript-<math><noscript><img src=x onerror=alert(1)>-<math><noscript><img src=x onerror=alert(1)></noscript></math>] PASSED
156 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-script-<math><script><img src=x onerror=alert(1)>-<math><script><img src=x onerror=alert(1)></script></math>] PASSED
157 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-style-<math><style><img src=x onerror=alert(1)>-<math><style><img src=x onerror=alert(1)></style></math>] PASSED
158 tests/test_clean.py::test_namespace_rc_data_element_strip_false[math-xmp-<math><xmp><img src=x onerror=alert(1)>-<math><xmp><img src=x onerror=alert(1)></xmp></math>] PASSED
159 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-iframe-<svg><iframe><img src=x onerror=alert(1)>-<svg><iframe><img src=x onerror=alert(1)></iframe></svg>] PASSED
160 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noembed-<svg><noembed><img src=x onerror=alert(1)>-<svg><noembed><img src=x onerror=alert(1)></noembed></svg>] PASSED
161 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noframes-<svg><noframes><img src=x onerror=alert(1)>-<svg><noframes><img src=x onerror=alert(1)></noframes></svg>] PASSED
162 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-noscript-<svg><noscript><img src=x onerror=alert(1)>-<svg><noscript><img src=x onerror=alert(1)></noscript></svg>] PASSED
163 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-script-<svg><script><img src=x onerror=alert(1)>-<svg><script><img src=x onerror=alert(1)></script></svg>] PASSED
164 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-style-<svg><style><img src=x onerror=alert(1)>-<svg><style><img src=x onerror=alert(1)></style></svg>] PASSED
165 tests/test_clean.py::test_namespace_rc_data_element_strip_false[svg-xmp-<svg><xmp><img src=x onerror=alert(1)>-<svg><xmp><img src=x onerror=alert(1)></xmp></svg>] PASSED
166 tests/test_clean.py::test_nested_script_tag PASSED
167 tests/test_clean.py::test_nonexistent_namespace PASSED
168 tests/test_clean.py::test_noscript_rawtag_[iframe-<noscript><iframe></noscript><img src=x onerror=alert(1) />-<noscript><iframe></noscript><img src=x onerror=alert(1) />] PASSED
169 tests/test_clean.py::test_noscript_rawtag_[noembed-<noscript><noembed></noscript><img src=x onerror=alert(1) />-<noscript><noembed></noscript><img src=x onerror=alert(1) />] PASSED
170 tests/test_clean.py::test_noscript_rawtag_[noframes-<noscript><noframes></noscript><img src=x onerror=alert(1) />-<noscript><noframes></noscript><img src=x onerror=alert(1) />] PASSED
171 tests/test_clean.py::test_noscript_rawtag_[script-<noscript><script></noscript><img src=x onerror=alert(1) />-<noscript><script></noscript><img src=x onerror=alert(1) />] PASSED
172 tests/test_clean.py::test_noscript_rawtag_[style-<noscript><style></noscript><img src=x onerror=alert(1) />-<noscript><style></noscript><img src=x onerror=alert(1) />] PASSED
173 tests/test_clean.py::test_noscript_rawtag_[textarea-<noscript><textarea></noscript><img src=x onerror=alert(1) />-<noscript><textarea></noscript><img src=x onerror=alert(1) />] PASSED
174 tests/test_clean.py::test_noscript_rawtag_[title-<noscript><title></noscript><img src=x onerror=alert(1) />-<noscript><title></noscript><img src=x onerror=alert(1) />] PASSED
175 tests/test_clean.py::test_noscript_rawtag_[xmp-<noscript><xmp></noscript><img src=x onerror=alert(1) />-<noscript><xmp></noscript><img src=x onerror=alert(1) />] PASSED
176 tests/test_clean.py::test_only_text_is_cleaned PASSED
177 tests/test_clean.py::test_poster_attribute PASSED
178 tests/test_clean.py::test_preserves_attributes_order PASSED
179 tests/test_clean.py::test_regressions[1.test] PASSED
180 tests/test_clean.py::test_regressions[10.test] PASSED
181 tests/test_clean.py::test_regressions[11.test] PASSED
182 tests/test_clean.py::test_regressions[12.test] PASSED
183 tests/test_clean.py::test_regressions[13.test] PASSED
184 tests/test_clean.py::test_regressions[14.test] PASSED
185 tests/test_clean.py::test_regressions[15.test] PASSED
186 tests/test_clean.py::test_regressions[16.test] PASSED
187 tests/test_clean.py::test_regressions[17.test] PASSED
188 tests/test_clean.py::test_regressions[18.test] PASSED
189 tests/test_clean.py::test_regressions[19.test] PASSED
190 tests/test_clean.py::test_regressions[2.test] PASSED
191 tests/test_clean.py::test_regressions[20.test] PASSED
192 tests/test_clean.py::test_regressions[3.test] PASSED
193 tests/test_clean.py::test_regressions[4.test] PASSED
194 tests/test_clean.py::test_regressions[5.test] PASSED
195 tests/test_clean.py::test_regressions[6.test] PASSED
196 tests/test_clean.py::test_regressions[7.test] PASSED
197 tests/test_clean.py::test_regressions[8.test] PASSED
198 tests/test_clean.py::test_regressions[9.test] PASSED
199 tests/test_clean.py::test_self_closing_tags_self_close[area] PASSED
200 tests/test_clean.py::test_self_closing_tags_self_close[base] PASSED
201 tests/test_clean.py::test_self_closing_tags_self_close[br] PASSED
202 tests/test_clean.py::test_self_closing_tags_self_close[embed] PASSED
203 tests/test_clean.py::test_self_closing_tags_self_close[hr] PASSED
204 tests/test_clean.py::test_self_closing_tags_self_close[img] PASSED
205 tests/test_clean.py::test_self_closing_tags_self_close[input] PASSED
206 tests/test_clean.py::test_self_closing_tags_self_close[keygen] XFAIL
207 tests/test_clean.py::test_self_closing_tags_self_close[link] PASSED
208 tests/test_clean.py::test_self_closing_tags_self_close[menuitem] XFAIL
209 tests/test_clean.py::test_self_closing_tags_self_close[meta] PASSED
210 tests/test_clean.py::test_self_closing_tags_self_close[param] PASSED
211 tests/test_clean.py::test_self_closing_tags_self_close[source] PASSED
212 tests/test_clean.py::test_self_closing_tags_self_close[track] PASSED
213 tests/test_clean.py::test_self_closing_tags_self_close[wbr] XFAIL
214 tests/test_clean.py::test_strip_respects_block_level_elements[<div><p>This is our <b>description!</b> &</p></div><p>nice!</p>-\nThis is our description! &\nnice!] PASSED
215 tests/test_clean.py::test_strip_respects_block_level_elements[<div><p>This is our <b>description!</b> &</p><p>1</p><ul><li>a</li><li>b</li><li>c</li></ul></div><p>nice!</p>-\nThis is our description! &\n1\n\na\nb\nc\nnice!] PASSED
216 tests/test_clean.py::test_strip_respects_block_level_elements[<p>Te<b>st</b>!</p><p>Hello</p>-Test!\nHello] PASSED
217 tests/test_clean.py::test_strip_respects_block_level_elements[<p>This is our <b>description!</b> &</p><p>nice!</p>-This is our description! &\nnice!] PASSED
218 tests/test_clean.py::test_stripping_tags[</ sarcasm >-kwargs11-</ sarcasm >] PASSED
219 tests/test_clean.py::test_stripping_tags[</ sarcasm>-kwargs10-</ sarcasm>] PASSED
220 tests/test_clean.py::test_stripping_tags[</3-kwargs14-</3] PASSED
221 tests/test_clean.py::test_stripping_tags[</sarcasm>-kwargs9-] PASSED
222 tests/test_clean.py::test_stripping_tags[<isindex>-kwargs6-] PASSED
223 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
224 tests/test_clean.py::test_stripping_tags[<p><a href="http://example.com/">link text</a></p>-kwargs2-<p>link text</p>] PASSED
225 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
226 tests/test_clean.py::test_stripping_tags[<sarcasm>-kwargs8-] PASSED
227 tests/test_clean.py::test_stripping_tags[<ul><li><script></li></ul>-kwargs4-<ul><li></li></ul>] PASSED
228 tests/test_clean.py::test_stripping_tags[Favorite movie: <name of movie>-kwargs13-Favorite movie: ] PASSED
229 tests/test_clean.py::test_stripping_tags[Foo <bar@example.com>-kwargs12-Foo ] PASSED
230 tests/test_clean.py::test_stripping_tags[Yeah right <sarcasm/>-kwargs7-Yeah right ] PASSED
231 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
232 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
233 tests/test_clean.py::test_stripping_tags_is_safe[<scri<scri<script>pt>pt>alert(1)</script>-pt>pt>alert(1)] PASSED
234 tests/test_clean.py::test_stripping_tags_is_safe[<scri<script>pt>alert(1)</scr</script>ipt>-pt>alert(1)ipt>] PASSED
235 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
236 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
237 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
238 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
239 tests/test_clean.py::test_svg_attr_val_allows_ref PASSED
240 tests/test_clean.py::test_unclosed_tag PASSED
241 tests/test_clean.py::test_unquoted_attr_values_are_quoted PASSED
242 tests/test_clean.py::test_unquoted_event_handler_attr_value PASSED
243 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="#example.com">foo</a>-kwargs7-<a href="#example.com">foo</a>] PASSED
244 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="#section-1">foo</a>-kwargs6-<a href="#section-1">foo</a>] PASSED
245 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="javascript:alert(1)">alert</a>-kwargs24-<a>alert</a>] PASSED
246 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="/path">valid</a>-kwargs8-<a href="/path">valid</a>] PASSED
247 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="/path">valid</a>-kwargs9-<a href="/path">valid</a>] PASSED
248 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100">foo</a>-kwargs21-<a>foo</a>] PASSED
249 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
250 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="192.168.100.100:8000">foo</a>-kwargs22-<a>foo</a>] PASSED
251 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
252 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
253 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="data:text/javascript,prompt(1)">foo</a>-kwargs1-<a>foo</a>] PASSED
254 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com">foo</a>-kwargs17-<a>foo</a>] PASSED
255 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com">valid</a>-kwargs10-<a href="example.com">valid</a>] PASSED
256 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="example.com:8000">foo</a>-kwargs18-<a>foo</a>] PASSED
257 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
258 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="file:///tmp/foo">foo</a>-kwargs3-<a>foo</a>] PASSED
259 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com">invalid href</a>-kwargs5-<a>invalid href</a>] PASSED
260 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com/?foo bar">foo</a>-kwargs25-<a href="http://example.com/?foo bar">foo</a>] PASSED
261 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="http://example.com]">text</a>-kwargs0-<a>text</a>] PASSED
262 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="javas	cript:alert(1)">alert</a>-kwargs23-<a>alert</a>] PASSED
263 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="javascript:alert('XSS')">xss</a>-kwargs2-<a>xss</a>] PASSED
264 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost">foo</a>-kwargs19-<a>foo</a>] PASSED
265 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost">valid</a>-kwargs12-<a href="localhost">valid</a>] PASSED
266 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost:8000">foo</a>-kwargs20-<a>foo</a>] PASSED
267 tests/test_clean.py::test_uri_value_allowed_protocols[<a href="localhost:8000">valid</a>-kwargs13-<a href="localhost:8000">valid</a>] PASSED
268 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
269 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args0-<meta charset="utf-8">-<meta charset="utf-8">] PASSED
270 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args1-text &>"-text &amp;&gt;&quot;] PASSED
271 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args2-text &>"-text &>"] PASSED
272 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args3-<a href="http://example.com"">-<a href="http://example.com"></a>] PASSED
273 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args4-<a href='http://example.com''>-<a href="http://example.com"></a>] PASSED
274 tests/test_html5lib_shim.py::test_bleach_html_parser[parser_args5-</ chars-<!-- chars-->] PASSED
275 tests/test_html5lib_shim.py::test_convert_entities[&#-1;-&#-1;] PASSED
276 tests/test_html5lib_shim.py::test_convert_entities[ - ] PASSED
277 tests/test_html5lib_shim.py::test_convert_entities[�-�] PASSED
278 tests/test_html5lib_shim.py::test_convert_entities[&#;-&#;] PASSED
279 tests/test_html5lib_shim.py::test_convert_entities[&#x-1;-&#x-1;] PASSED
280 tests/test_html5lib_shim.py::test_convert_entities[�-�] PASSED
281 tests/test_html5lib_shim.py::test_convert_entities[�-�] PASSED
282 tests/test_html5lib_shim.py::test_convert_entities[ - ] PASSED
283 tests/test_html5lib_shim.py::test_convert_entities[&#x;-&#x;] PASSED
284 tests/test_html5lib_shim.py::test_convert_entities[ -\xa0] PASSED
285 tests/test_html5lib_shim.py::test_convert_entities[&xx;-&xx;] PASSED
286 tests/test_html5lib_shim.py::test_convert_entities[-] PASSED
287 tests/test_html5lib_shim.py::test_convert_entities[abc-abc] PASSED
288 tests/test_html5lib_shim.py::test_convert_entities[this & that & that-this & that & that] PASSED
289 tests/test_html5lib_shim.py::test_serializer[&-&] PASSED
290 tests/test_html5lib_shim.py::test_serializer[-] PASSED
291 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&key2=value">tag</a>] PASSED
292 tests/test_html5lib_shim.py::test_serializer[<a href="http://example.com?key=value¤t=value">tag</a>-<a href="http://example.com?key=value&current=value">tag</a>] PASSED
293 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&key2=value">tag</a>] PASSED
294 tests/test_html5lib_shim.py::test_serializer[a & b-a &amp; b] PASSED
295 tests/test_html5lib_shim.py::test_serializer[text-text] PASSED
296 tests/test_linkify.py::TestLinkify::test_no_href_links PASSED
297 tests/test_linkify.py::TestLinkify::test_only_text_is_linkified PASSED
298 tests/test_linkify.py::TestLinkify::test_rel_already_there PASSED
299 tests/test_linkify.py::test_add_rel_nofollow PASSED
300 tests/test_linkify.py::test_drop_link_tags PASSED
301 tests/test_linkify.py::test_elements_inside_links PASSED
302 tests/test_linkify.py::test_email_link["\\\n"@opa.ru-True-"\\\n"@opa.ru] PASSED
303 tests/test_linkify.py::test_email_link[<br>jinkyun@example.com-True-<br><a href="mailto:jinkyun@example.com">jinkyun@example.com</a>] PASSED
304 tests/test_linkify.py::test_email_link[a james@example.com mailto-False-a james@example.com mailto] PASSED
305 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
306 tests/test_linkify.py::test_email_link[a james@example.com.au mailto-False-a james@example.com.au mailto] PASSED
307 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
308 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
309 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
310 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
311 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
312 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
313 tests/test_linkify.py::test_email_link_escaping["ja>mes"@example.com-<a href="mailto:%22ja%3Emes%22@example.com">"ja>mes"@example.com</a>] PASSED
314 tests/test_linkify.py::test_email_link_escaping["james"@example.com-<a href="mailto:%22james%22@example.com">"james"@example.com</a>] PASSED
315 tests/test_linkify.py::test_email_re_arg PASSED
316 tests/test_linkify.py::test_empty PASSED
317 tests/test_linkify.py::test_end_of_clause PASSED
318 tests/test_linkify.py::test_end_of_sentence[ex.com/foo-....] PASSED
319 tests/test_linkify.py::test_end_of_sentence[ex.com/foo-.] PASSED
320 tests/test_linkify.py::test_end_of_sentence[example.com-...] PASSED
321 tests/test_linkify.py::test_end_of_sentence[example.com-.] PASSED
322 tests/test_linkify.py::test_escaped_html PASSED
323 tests/test_linkify.py::test_escaping[< unrelated-< unrelated] PASSED
324 tests/test_linkify.py::test_escaping[<U \x7f=&#;>-<u \x7f="&#;"></u>] PASSED
325 tests/test_linkify.py::test_hang PASSED
326 tests/test_linkify.py::test_hyphen_in_mail PASSED
327 tests/test_linkify.py::test_ignore_bad_protocols PASSED
328 tests/test_linkify.py::test_javascript_url PASSED
329 tests/test_linkify.py::test_libgl PASSED
330 tests/test_linkify.py::test_link_emails_and_urls PASSED
331 tests/test_linkify.py::test_link_entities_in_a_tag PASSED
332 tests/test_linkify.py::test_link_entities_in_characters_token PASSED
333 tests/test_linkify.py::test_link_entities_in_qs PASSED
334 tests/test_linkify.py::test_link_fragment PASSED
335 tests/test_linkify.py::test_link_ftp PASSED
336 tests/test_linkify.py::test_link_http_complete PASSED
337 tests/test_linkify.py::test_link_in_html PASSED
338 tests/test_linkify.py::test_link_query PASSED
339 tests/test_linkify.py::test_link_with_qs_with_array PASSED
340 tests/test_linkify.py::test_linkify_filter[abc-abc] PASSED
341 tests/test_linkify.py::test_linkify_filter[example.com-<a href="http://example.com" rel="nofollow">example.com</a>] PASSED
342 tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&c=2-<a href="http://example.com?b=1&c=2" rel="nofollow">http://example.com?b=1&c=2</a>] PASSED
343 tests/test_linkify.py::test_linkify_filter[http://example.com?b=1&c=2-<a href="http://example.com?b=1&c=2" rel="nofollow">http://example.com?b=1&c=2</a>] PASSED
344 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
345 tests/test_linkify.py::test_linkify_idempotent[<a href="http://example.com?foo=bar&bar=foo&biz=bash">] PASSED
346 tests/test_linkify.py::test_linkify_idempotent[<span>text & </span>] PASSED
347 tests/test_linkify.py::test_linkify_idempotent[a < b] PASSED
348 tests/test_linkify.py::test_linkify_idempotent[jim ¤t joe] PASSED
349 tests/test_linkify.py::test_linkify_idempotent[link http://link.com] PASSED
350 tests/test_linkify.py::test_linkify_idempotent[text<em>] PASSED
351 tests/test_linkify.py::test_links_case_insensitive PASSED
352 tests/test_linkify.py::test_links_https PASSED
353 tests/test_linkify.py::test_mangle_link PASSED
354 tests/test_linkify.py::test_mangle_text PASSED
355 tests/test_linkify.py::test_naughty_unescaping[<br> <br> http://example.com-<br> <br> <a href="http://example.com" rel="nofollow">http://example.com</a>] PASSED
356 tests/test_linkify.py::test_naughty_unescaping[<br> http://example.com-<br> <a href="http://example.com" rel="nofollow">http://example.com</a>] PASSED
357 tests/test_linkify.py::test_naughty_unescaping[<br>-<br>] PASSED
358 tests/test_linkify.py::test_nofollow_off PASSED
359 tests/test_linkify.py::test_non_url PASSED
360 tests/test_linkify.py::test_only_proto_links PASSED
361 tests/test_linkify.py::test_parentheses_with_removing PASSED
362 tests/test_linkify.py::test_ports[http://bar.com:xkcd-http://bar.com-:xkcd] PASSED
363 tests/test_linkify.py::test_ports[http://foo.com:-http://foo.com-:] PASSED
364 tests/test_linkify.py::test_ports[http://foo.com:8000-http://foo.com:8000-] PASSED
365 tests/test_linkify.py::test_ports[http://foo.com:8000/-http://foo.com:8000/-] PASSED
366 tests/test_linkify.py::test_ports[http://foo.com:81/bar-http://foo.com:81/bar-] PASSED
367 tests/test_linkify.py::test_ports[http://foo.com:\U0001d7e0\U0001d7d8/-http://foo.com-:\U0001d7e0\U0001d7d8/] PASSED
368 tests/test_linkify.py::test_ports[http://foo.com:\u0663\u0669/-http://foo.com-:\u0663\u0669/] PASSED
369 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
370 tests/test_linkify.py::test_prevent_links[callback1-a ex.mp <a href="http://example.com">example</a>] PASSED
371 tests/test_linkify.py::test_prevent_links[callback2-a ex.mp <a href="http://example.com">example</a>] PASSED
372 tests/test_linkify.py::test_prevent_links[callback3-a <a href="http://ex.mp">ex.mp</a> example] PASSED
373 tests/test_linkify.py::test_prevent_links[callback4-a <a href="http://ex.mp">ex.mp</a> example] PASSED
374 tests/test_linkify.py::test_prevent_links[callback5-a ex.mp example] PASSED
375 tests/test_linkify.py::test_recognized_tags_arg PASSED
376 tests/test_linkify.py::test_sarcasm PASSED
377 tests/test_linkify.py::test_set_attrs PASSED
378 tests/test_linkify.py::test_simple_link PASSED
379 tests/test_linkify.py::test_skip_tags PASSED
380 tests/test_linkify.py::test_stop_email PASSED
381 tests/test_linkify.py::test_tlds[bit.ly/fun-<a href="http://bit.ly/fun" rel="nofollow">bit.ly/fun</a>] PASSED
382 tests/test_linkify.py::test_tlds[brie-brie] PASSED
383 tests/test_linkify.py::test_tlds[example.co-<a href="http://example.co" rel="nofollow">example.co</a>] PASSED
384 tests/test_linkify.py::test_tlds[example.co.uk-<a href="http://example.co.uk" rel="nofollow">example.co.uk</a>] PASSED
385 tests/test_linkify.py::test_tlds[example.com-<a href="http://example.com" rel="nofollow">example.com</a>] PASSED
386 tests/test_linkify.py::test_tlds[example.edu-<a href="http://example.edu" rel="nofollow">example.edu</a>] PASSED
387 tests/test_linkify.py::test_tlds[example.xxx-<a href="http://example.xxx" rel="nofollow">example.xxx</a>] PASSED
388 tests/test_linkify.py::test_tlds[example.yyy-example.yyy] PASSED
389 tests/test_linkify.py::test_trailing_slash PASSED
390 tests/test_linkify.py::test_unsafe_url PASSED
391 tests/test_linkify.py::test_url_re_arg PASSED
392 tests/test_linkify.py::test_url_with_path PASSED
393 tests/test_linkify.py::test_wrapping_parentheses[(((example.com/))))-expected_parts3] PASSED
394 tests/test_linkify.py::test_wrapping_parentheses[((http://en.wikipedia.org/wiki/Test_(assessment))-expected_parts9] PASSED
395 tests/test_linkify.py::test_wrapping_parentheses[(example.com)-expected_parts0] PASSED
396 tests/test_linkify.py::test_wrapping_parentheses[(example.com/)-expected_parts1] PASSED
397 tests/test_linkify.py::test_wrapping_parentheses[(example.com/foo)-expected_parts2] PASSED
398 tests/test_linkify.py::test_wrapping_parentheses[(foo http://example.com)-expected_parts6] PASSED
399 tests/test_linkify.py::test_wrapping_parentheses[(foo http://example.com/)-expected_parts5] PASSED
400 tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/)Test_(assessment-expected_parts11] PASSED
401 tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/Test_(assessment)))-expected_parts10] PASSED
402 tests/test_linkify.py::test_wrapping_parentheses[(http://en.wikipedia.org/wiki/Test_(assessment))-expected_parts8] PASSED
403 tests/test_linkify.py::test_wrapping_parentheses[example.com/))-expected_parts4] PASSED
404 tests/test_linkify.py::test_wrapping_parentheses[hello (http://www.mu.de/blah.html) world-expected_parts12] PASSED
405 tests/test_linkify.py::test_wrapping_parentheses[hello (http://www.mu.de/blah.html). world-expected_parts13] PASSED
406 tests/test_linkify.py::test_wrapping_parentheses[http://en.wikipedia.org/wiki/Test_(assessment)-expected_parts7] PASSED
407 tests/test_parse_shim.py::test_urlparse[ foo.com -expected9] PASSED
408 tests/test_parse_shim.py::test_urlparse[-expected0] PASSED
409 tests/test_parse_shim.py::test_urlparse[\t :foo.com \n-expected8] PASSED
410 tests/test_parse_shim.py::test_urlparse[a:\t foo.com-expected10] PASSED
411 tests/test_parse_shim.py::test_urlparse[http://2001::1]-ValueError] PASSED
412 tests/test_parse_shim.py::test_urlparse[http://example\t.\norg-expected1] PASSED
413 tests/test_parse_shim.py::test_urlparse[http://f: /c-expected19] PASSED
414 tests/test_parse_shim.py::test_urlparse[http://f:/c-expected13] PASSED
415 tests/test_parse_shim.py::test_urlparse[http://f:0/c-expected14] PASSED
416 tests/test_parse_shim.py::test_urlparse[http://f:00000000000000/c-expected15] PASSED
417 tests/test_parse_shim.py::test_urlparse[http://f:00000000000000000000080/c-expected16] PASSED
418 tests/test_parse_shim.py::test_urlparse[http://f:21/ b ? d # e -expected11] PASSED
419 tests/test_parse_shim.py::test_urlparse[http://f:999999/c-expected20] PASSED
420 tests/test_parse_shim.py::test_urlparse[http://f:b/c-expected18] PASSED
421 tests/test_parse_shim.py::test_urlparse[http://user:pass@foo:21/bar;par?b#c-expected2] PASSED
422 tests/test_parse_shim.py::test_urlparse[http:foo.com-expected7] PASSED
423 tests/test_parse_shim.py::test_urlparse[https://:@test-expected4] PASSED
424 tests/test_parse_shim.py::test_urlparse[https://test:@test-expected3] PASSED
425 tests/test_parse_shim.py::test_urlparse[lolscheme:x x#x x-expected12] PASSED
426 tests/test_parse_shim.py::test_urlparse[non-special://:@test/x-expected6] PASSED
427 tests/test_parse_shim.py::test_urlparse[non-special://test:@test/x-expected5] PASSED
428 tests/test_unicode.py::test_japanese_safe_simple PASSED
429 tests/test_unicode.py::test_japanese_strip PASSED
430 tests/test_unicode.py::test_mixed PASSED
431 tests/test_unicode.py::test_mixed_linkify PASSED
432 tests/test_unicode.py::test_russian_simple PASSED
433 tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/?f\xf3o=b\xe1r] PASSED
434 tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/?foo=bar] PASSED
435 tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/\xed\xe0\xf1\xe1/] PASSED
436 tests/test_unicode.py::test_url_utf8[http://\xe9x\xe1mpl\xe9.com/] PASSED
438 ======== 423 passed, 1 skipped, 4 xfailed ========
439 py$(PYV): commands[1]> python setup.py build
443 writing bleach.egg-info/PKG-INFO
444 writing dependency_links to bleach.egg-info/dependency_links.txt
445 writing requirements to bleach.egg-info/requires.txt
446 writing top-level names to bleach.egg-info/top_level.txt
447 reading manifest file 'bleach.egg-info/SOURCES.txt'
448 reading manifest template 'MANIFEST.in'
449 adding license file 'LICENSE'
450 writing manifest file 'bleach.egg-info/SOURCES.txt'