summaryrefslogtreecommitdiff
path: root/bs4/tests/test_tree.py
diff options
context:
space:
mode:
authorLeonard Richardson <leonardr@segfault.org>2015-09-28 19:45:23 -0400
committerLeonard Richardson <leonardr@segfault.org>2015-09-28 19:45:23 -0400
commit85049f49a4571c4419440e72e8faed062516858d (patch)
treeb32f62badf5cc38e1c450cb3dc8a91623032db51 /bs4/tests/test_tree.py
parent6a52d2e45195049ed7ef5b5862edf530eba518d0 (diff)
Improved the implementation of CSS selector grouping. Thanks to Orangain for the patch. [bug=1484543]
Diffstat (limited to 'bs4/tests/test_tree.py')
-rw-r--r--bs4/tests/test_tree.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py
index a5cf9e9..6b2a123 100644
--- a/bs4/tests/test_tree.py
+++ b/bs4/tests/test_tree.py
@@ -1971,22 +1971,25 @@ class TestSoupSelector(TreeTest):
# Test the selector grouping operator (the comma)
def test_multiple_select(self):
- self.assertSelects('x, y',['xid','yid'])
+ self.assertSelects('x, y', ['xid', 'yid'])
def test_multiple_select_with_no_space(self):
- self.assertSelects('x,y',['xid','yid'])
+ self.assertSelects('x,y', ['xid', 'yid'])
def test_multiple_select_with_more_space(self):
- self.assertSelects('x, y',['xid', 'yid'])
+ self.assertSelects('x, y', ['xid', 'yid'])
+
+ def test_multiple_select_duplicated(self):
+ self.assertSelects('x, x', ['xid'])
def test_multiple_select_sibling(self):
- self.assertSelects('x, y ~ p[lang=fr]',['lang-fr'])
+ self.assertSelects('x, y ~ p[lang=fr]', ['xid', 'lang-fr'])
- def test_multiple_select(self):
- self.assertSelects('x, y > z', ['zida', 'zidb', 'zidab', 'zidac'])
+ def test_multiple_select_tag_and_direct_descendant(self):
+ self.assertSelects('x, y > z', ['xid', 'zidb'])
- def test_multiple_select_direct_descendant(self):
- self.assertSelects('div > x, y, z', ['xid', 'yid'])
+ def test_multiple_select_direct_descendant_and_tags(self):
+ self.assertSelects('div > x, y, z', ['xid', 'yid', 'zida', 'zidb', 'zidab', 'zidac'])
def test_multiple_select_indirect_descendant(self):
self.assertSelects('div x,y, z', ['xid', 'yid', 'zida', 'zidb', 'zidab', 'zidac'])
@@ -1995,14 +1998,14 @@ class TestSoupSelector(TreeTest):
self.assertRaises(ValueError, self.soup.select, ',x, y')
self.assertRaises(ValueError, self.soup.select, 'x,,y')
- def test_multiple_select(self):
- self.assertSelects('p[lang=en], p[lang=en-gb]',['lang-en','lang-en-gb'])
+ def test_multiple_select_attrs(self):
+ self.assertSelects('p[lang=en], p[lang=en-gb]', ['lang-en', 'lang-en-gb'])
def test_multiple_select_ids(self):
- self.assertSelects('x, y > z[id=zida], z[id=zidab], z[id=zidb]', ['zida', 'zidb','zidab'])
+ self.assertSelects('x, y > z[id=zida], z[id=zidab], z[id=zidb]', ['xid', 'zidb', 'zidab'])
def test_multiple_select_nested(self):
- self.assertSelects('body > div > x, y > z', ['zida', 'zidb', 'zidab', 'zidac'])
+ self.assertSelects('body > div > x, y > z', ['xid', 'zidb'])