From b225c0cedf7e17b9780df7cab99dd6cd0c0a88e7 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Wed, 8 May 2013 12:06:35 -0400 Subject: Aaand... it's now trivial to implement sibling selectors. --- bs4/tests/test_tree.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'bs4/tests/test_tree.py') diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py index 47afb81..db5d602 100644 --- a/bs4/tests/test_tree.py +++ b/bs4/tests/test_tree.py @@ -1786,3 +1786,16 @@ class TestSoupSelector(TreeTest): def test_overspecified_child_id(self): self.assertSelects(".fancy #inner", ['inner']) self.assertSelects(".normal #inner", []) + + def test_adjacent_sibling_selector(self): + self.assertSelects('#p1 + h2', ['header2']) + self.assertSelects('#p1 + h2 + p', ['pmulti']) + self.assertSelects('#p1 + #header2 + .class1', ['pmulti']) + self.assertEqual([], self.soup.select('#p1 + p')) + + def test_general_sibling_selector(self): + self.assertSelects('#p1 ~ h2', ['header2', 'header3']) + self.assertSelects('#p1 ~ #header2', ['header2']) + self.assertSelects('#p1 ~ h2 + a', ['me']) + self.assertSelects('#p1 ~ h2 + [rel="me"]', ['me']) + self.assertEqual([], self.soup.select('#inner ~ h2')) -- cgit v1.2.3