summaryrefslogtreecommitdiff
path: root/bs4/tests
diff options
context:
space:
mode:
authorLeonard Richardson <leonard.richardson@canonical.com>2012-04-18 14:37:44 -0400
committerLeonard Richardson <leonard.richardson@canonical.com>2012-04-18 14:37:44 -0400
commit7b9d05ec019d59575a0280c6e109e794e142f8cf (patch)
treed9d204abf24e9947e70b40e7ec233c3d1cc58efe /bs4/tests
parentce805a11981bf58b7b005b81f56a80ea1a1bb8f9 (diff)
Made encoding substitution in <meta> tags completely transparent (no more %SOUP-ENCODING%).
Diffstat (limited to 'bs4/tests')
-rw-r--r--bs4/tests/test_soup.py18
-rw-r--r--bs4/tests/test_tree.py6
2 files changed, 20 insertions, 4 deletions
diff --git a/bs4/tests/test_soup.py b/bs4/tests/test_soup.py
index ddbffd4..39e1964 100644
--- a/bs4/tests/test_soup.py
+++ b/bs4/tests/test_soup.py
@@ -7,6 +7,8 @@ from bs4 import (
BeautifulStoneSoup,
)
from bs4.element import (
+ CharsetMetaAttributeValue,
+ ContentMetaAttributeValue,
SoupStrainer,
NamespacedAttribute,
)
@@ -299,3 +301,19 @@ class TestNamedspacedAttribute(SoupTest):
e = NamespacedAttribute("z", "b", "c")
self.assertNotEqual(a, e)
+
+
+class TestAttributeValueWithCharsetSubstitution(unittest.TestCase):
+
+ def test_content_meta_attribute_value(self):
+ value = CharsetMetaAttributeValue("euc-jp")
+ self.assertEqual("euc-jp", value)
+ self.assertEqual("euc-jp", value.original_value)
+ self.assertEqual("utf8", value.encode("utf8"))
+
+
+ def test_content_meta_attribute_value(self):
+ value = ContentMetaAttributeValue("text/html; charset=euc-jp")
+ self.assertEqual("text/html; charset=euc-jp", value)
+ self.assertEqual("text/html; charset=euc-jp", value.original_value)
+ self.assertEqual("text/html; charset=utf8", value.encode("utf8"))
diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py
index 661decb..6cb1b7f 100644
--- a/bs4/tests/test_tree.py
+++ b/bs4/tests/test_tree.py
@@ -1262,10 +1262,8 @@ class TestSubstitutions(SoupTest):
'http-equiv="Content-type"/>')
soup = self.soup(meta_tag)
- # Parse the document, and the charset is replaced with a
- # generic value.
- self.assertEqual(soup.meta['content'],
- 'text/html; charset=%SOUP-ENCODING%')
+ # Parse the document, and the charset apprears unchanged.
+ self.assertEqual(soup.meta['content'], 'text/html; charset=x-sjis')
# Encode the document into some encoding, and the encoding is
# substituted into the meta tag.