From 74ca8e3f33d44475401be0bc418da83264f91207 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Fri, 2 Mar 2012 10:29:08 -0500 Subject: Brought the soupselect port up to date. --- bs4/tests/test_tree.py | 62 +++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 23 deletions(-) (limited to 'bs4/tests/test_tree.py') diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py index 6d22448..e9a5763 100644 --- a/bs4/tests/test_tree.py +++ b/bs4/tests/test_tree.py @@ -1308,37 +1308,43 @@ class TestNavigableStringSubclasses(SoupTest): class TestSoupSelector(TreeTest): - HTML = """ + HTML = """ + - The title - +The title +
-
-

An H1

-

Some text

-

Some more text

-

An H2

-

Another

- Bob -

Another H2

- me -
-

English

-

English UK

-

English US

-

French

+
+

An H1

+

Some text

+

Some more text

+

An H2

+

Another

+Bob +

Another H2

+me + +span1a1 +span1a2 test + +span2a1 + + + +
+

English

+

English UK

+

English US

+

French

- - - """ def setUp(self): @@ -1428,6 +1434,16 @@ class TestSoupSelector(TreeTest): '.class3', 'p.class3', 'html p.class2', 'div#inner .class2'): self.assertSelects(selector, ['pmulti']) + def test_multi_class_selection(self): + for selector in ('.class1.class3', '.class3.class2', + '.class1.class2.class3'): + self.assertSelects(selector, ['pmulti']) + + def test_child_selector(self): + self.assertSelects('.s1 > a', ['s1a1', 's1a2']) + self.assertSelects('.s1 > a span', ['s1a2s1']) + + def test_attribute_equals(self): self.assertSelectMultiple( ('p[class="onep"]', ['p1']), @@ -1481,7 +1497,7 @@ class TestSoupSelector(TreeTest): ('[href$=".css"]', ['l1']), ('link[href$=".css"]', ['l1']), ('link[id$="1"]', ['l1']), - ('[id$="1"]', ['l1', 'p1', 'header1']), + ('[id$="1"]', ['l1', 'p1', 'header1', 's1a1', 's2a1', 's1a2s1']), ('div[id$="1"]', []), ('[id$="noending"]', []), ) @@ -1504,7 +1520,7 @@ class TestSoupSelector(TreeTest): ('[href*=".css"]', ['l1']), ('link[href*=".css"]', ['l1']), ('link[id*="1"]', ['l1']), - ('[id*="1"]', ['l1', 'p1', 'header1']), + ('[id*="1"]', ['l1', 'p1', 'header1', 's1a1', 's1a2', 's2a1', 's1a2s1']), ('div[id*="1"]', []), ('[id*="noending"]', []), # New for this test -- cgit v1.2.3