def test_outdent_parse(self):
        text = "\n".join(
            [
                SECTION1,
                LEVEL0,
                LEVEL0 + SIGNATURE,
                LEVEL1,
                LEVEL1 + SIGNATURE,
                LEVEL2 + SIGNATURE,
                OUTDENT + LEVEL0 + SIGNATURE
            ]
        )

        output = tpp.parse(text)

        self.assertTrue(verify(output), error_msg(output))
        self.assertEqual(len(output['sections']), 1)
        self.assertEqual(len(output['sections'][0]['comments']), 1)
        self.assertEqual(len(output['sections'][0]['comments'][0]['comments']), 1)
        self.assertEqual(len(output['sections'][0]
                                   ['comments'][0]
                                   ['comments'][0]
                                   ['comments']), 1)
        self.assertEqual(len(output['sections'][0]
                                   ['comments'][0]
                                   ['comments'][0]
                                   ['comments'][0]
                                   ['comments']), 1)
 def __init__(self, files, warn = False):
   
   self.talk_entries = list()
   self.failed_files = list()
   
   for file in files:
     with open(file, "r") as f:
       text = f.read()
       try:
         parsed = talkpageparser.parse(text)
         self.talk_entries.append(self.extract_sections(parsed))
       except:
         self.failed_files.append(file)
   if warn is True:
     if len(self.failed_files) > 0:
       warnings.warn("Some files failed to be read and parsed. See the failed_files list in the talk_collection object")
    def test_multi_sections(self):
        text = "\n".join(
            [
                SECTION1,
                LEVEL0,
                LEVEL0 + SIGNATURE,
                SECTION1,
                LEVEL0,
                LEVEL0 + SIGNATURE,
            ]
        )

        output = tpp.parse(text)

        self.assertTrue(verify(output), error_msg(output))
        self.assertEqual(len(output['sections']), 2)
        self.assertEqual(len(output['sections'][0]['comments']), 1)
        self.assertEqual(len(output['sections'][1]['comments']), 1)