diff options
author | Leonard Richardson <leonardr@segfault.org> | 2015-09-28 19:45:23 -0400 |
---|---|---|
committer | Leonard Richardson <leonardr@segfault.org> | 2015-09-28 19:45:23 -0400 |
commit | 85049f49a4571c4419440e72e8faed062516858d (patch) | |
tree | b32f62badf5cc38e1c450cb3dc8a91623032db51 /bs4/tests/test_tree.py | |
parent | 6a52d2e45195049ed7ef5b5862edf530eba518d0 (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.py | 27 |
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']) |