summaryrefslogtreecommitdiff
path: root/bs4
diff options
context:
space:
mode:
Diffstat (limited to 'bs4')
-rw-r--r--bs4/element.py8
-rw-r--r--bs4/tests/test_tree.py6
2 files changed, 7 insertions, 7 deletions
diff --git a/bs4/element.py b/bs4/element.py
index 71cdb65..526db28 100644
--- a/bs4/element.py
+++ b/bs4/element.py
@@ -992,11 +992,11 @@ class Tag(PageElement):
attribute."""
return self.attrs.get(key, default)
- def get_attribute_text(self, key, default=None):
- """The same as get(), but converts lists of values to strings."""
+ def get_attribute_list(self, key, default=None):
+ """The same as get(), but always returns a list."""
value = self.get(key, default)
- if isinstance(value, list):
- value = " ".join(value)
+ if not isinstance(value, list):
+ value = [value]
return value
def has_attr(self, key):
diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py
index 90a6d25..c0e7c40 100644
--- a/bs4/tests/test_tree.py
+++ b/bs4/tests/test_tree.py
@@ -1286,9 +1286,9 @@ class TestCDAtaListAttributes(SoupTest):
soup = self.soup("<a class='foo\tbar'>")
self.assertEqual(b'<a class="foo bar"></a>', soup.a.encode())
- def test_attribute_values_joined_into_string_through_string_attr(self):
- soup = self.soup("<a class='foo\tbar'>")
- self.assertEqual('foo bar', soup.a.get_attribute_text('class'))
+ def test_get_attribute_list(self):
+ soup = self.soup("<a id='abc def'>")
+ self.assertEqual(['abc def'], soup.a.get_attribute_list('id'))
def test_accept_charset(self):
soup = self.soup('<form accept-charset="ISO-8859-1 UTF-8">')