1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
Index: python-pattern-2.6+git20150109/pattern/web/__init__.py
===================================================================
--- python-pattern-2.6+git20150109.orig/pattern/web/__init__.py
+++ python-pattern-2.6+git20150109/pattern/web/__init__.py
@@ -36,7 +36,7 @@ import simplejson as json
import locale
import feedparser
-import BeautifulSoup
+import bs4 as BeautifulSoup
try:
# Import persistent Cache.
Index: python-pattern-2.6+git20150109/test/test_web.py
===================================================================
--- python-pattern-2.6+git20150109.orig/test/test_web.py
+++ python-pattern-2.6+git20150109/test/test_web.py
@@ -308,7 +308,9 @@ class TestPlaintext(unittest.TestCase):
( "<p>text</p>", "text\n\n"),
( "<li>text</li>", "* text\n"),
( "<td>text</td>", "text\t"),
- ( "<br /><br/><br>", "\n\n\n")):
+ ( "<br>", "\n"),
+ ( "<br/>", "\n\n"),
+ ( "<br /><br/><br>", "\n\n\n\n\n")):
self.assertEqual(web.strip_tags(html), plain)
# Assert exclude tags and attributes
v = web.strip_tags("<a href=\"\" onclick=\"\">text</a>", exclude={"a": ["href"]})
@@ -749,17 +751,17 @@ class TestDOM(unittest.TestCase):
# Assert Node properties.
v1 = web.Document(self.html)
self.assertEqual(v1.type, web.DOCUMENT)
- self.assertEqual(v1.source[:10], "<!doctype ") # Note: BeautifulSoup strips whitespace.
+ self.assertEqual(v1.source[:10], "<!DOCTYPE ") # Note: BeautifulSoup strips whitespace.
self.assertEqual(v1.parent, None)
# Assert Node traversal.
v2 = v1.children[0].next
- self.assertEqual(v2.type, web.TEXT)
+ self.assertEqual(v2.type, web.ELEMENT)
self.assertEqual(v2.previous, v1.children[0])
# Assert Document properties.
v3 = v1.declaration
self.assertEqual(v3, v1.children[0])
self.assertEqual(v3.parent, v1)
- self.assertEqual(v3.source, "<!doctype html>")
+ self.assertEqual(v3.source, "html")
self.assertEqual(v1.head.type, web.ELEMENT)
self.assertEqual(v1.body.type, web.ELEMENT)
self.assertTrue(v1.head.source.startswith("<head"))
@@ -783,7 +785,7 @@ class TestDOM(unittest.TestCase):
v = web.DOM(self.html).body
self.assertEqual(v.tag, "body")
self.assertEqual(v.attributes["id"], "front")
- self.assertEqual(v.attributes["class"], "comments")
+ self.assertEqual(v.attributes["class"], ["comments"])
self.assertTrue(v.content.startswith("\n<script"))
# Assert Element.getElementsByTagname() (test navigation links).
a = v.by_tag("a")
@@ -794,8 +796,8 @@ class TestDOM(unittest.TestCase):
# Assert Element.getElementsByClassname() (test <p class="comment">).
a = v.by_class("comment")
self.assertEqual(a[0].tag, "p")
- self.assertEqual(a[0].by_tag("span")[0].attributes["class"], "date")
- self.assertEqual(a[0].by_tag("span")[1].attributes["class"], "author")
+ self.assertEqual(a[0].by_tag("span")[0].attributes["class"], ["date"])
+ self.assertEqual(a[0].by_tag("span")[1].attributes["class"], ["author"])
for selector in (".comment", "p.comment", "*.comment"):
self.assertEqual(v.by_tag(selector)[0], a[0])
# Assert Element.getElementById() (test <div id="content">).
|