diff --git a/mwparserfromhell/wikicode.py b/mwparserfromhell/wikicode.py index f258921..1d5de5d 100644 --- a/mwparserfromhell/wikicode.py +++ b/mwparserfromhell/wikicode.py @@ -370,7 +370,7 @@ class Wikicode(StringMixIn): if self.nodes[i] in headings: this = self.nodes[i].level for (level, start) in buffers: - if not flat or this <= level: + if this <= level: buffers.remove((level, start)) sections.append(Wikicode(self.nodes[start:i])) buffers.append((this, i)) diff --git a/tests/test_wikicode.py b/tests/test_wikicode.py index 4aa07f1..1eacb11 100644 --- a/tests/test_wikicode.py +++ b/tests/test_wikicode.py @@ -305,8 +305,8 @@ Even more text. An invalid section!""" self.assertEqual([], parse(page1).get_sections()) - self.assertEqual(["==Heading=="], parse(page2).get_sections()) - self.assertEqual(["===Heading===\nFoo bar baz\n", "====Gnidaeh====\n"], parse(page2).get_sections()) + self.assertEqual(["", "==Heading=="], parse(page2).get_sections()) + self.assertEqual(["", "===Heading===\nFoo bar baz\n====Gnidaeh====\n", "====Gnidaeh====\n"], parse(page3).get_sections()) def test_strip_code(self): """test Wikicode.strip_code()"""