def test_noIndent(self): adapter = SitemapRenderingAdapter(self.localSite, self.app.REQUEST) out = adapter.render(False) doc = etree.parse(StringIO(out)) self.assertEquals(doc.xpath('/ul/li/h3')[0].text, 'Local Site') rootDocs = [el.text for el in doc.xpath('/ul/li/a')] self.assertEquals(len(rootDocs), 8) self.assertEquals(rootDocs[0], 'Document 1 in root') self.assertEquals(rootDocs[1], 'Document 1 in Folder 1') self.assertEquals(rootDocs[2], 'Document 2 in Folder 1') self.assertEquals(rootDocs[3], 'Document 1 in Folder 2') self.assertEquals(rootDocs[4], 'Document 2 in Folder 2') self.assertEquals(rootDocs[5], 'SubSub 1 in Sub 2') self.assertEquals(rootDocs[6], 'Document 1 in Folder SubSub 1') self.assertEquals(rootDocs[7], 'Document 2 in root') rootDocURLs = doc.xpath('/ul/li/a/@href') self.assertEquals(len(rootDocURLs), 8) self.assertEquals(rootDocURLs[0], 'http://localhost/root/localSite/doc01') self.assertEquals(rootDocURLs[1], 'http://localhost/root/localSite/sub1/doc11') self.assertEquals(rootDocURLs[2], 'http://localhost/root/localSite/sub1/doc12') self.assertEquals(rootDocURLs[3], 'http://localhost/root/localSite/sub2/doc21') self.assertEquals(rootDocURLs[4], 'http://localhost/root/localSite/sub2/doc22') self.assertEquals(rootDocURLs[5], 'http://localhost/root/localSite/sub2/sub21') self.assertEquals(rootDocURLs[6], 'http://localhost/root/localSite/sub2/sub21/doc21_1') self.assertEquals(rootDocURLs[7], 'http://localhost/root/localSite/doc02') chapters = [el.text for el in doc.xpath('/ul/li/h4/a')] self.assertEquals(len(chapters), 2) self.assertEquals(chapters[0], 'Sub 1') self.assertEquals(chapters[1], 'Sub 2')
def test_filtered(self): adapter = SitemapRenderingAdapter(self.localSite, self.app.REQUEST) adapter.set_filters((InfrastructureFilter(['sitemap']),)) out = adapter.render(False) doc = etree.parse(StringIO(out)) self.assertEquals(doc.xpath('/ul/li/h3')[0].text, 'Local Site') chapters = [el.text for el in doc.xpath('/ul/li/h4/a')] self.assertEquals(len(chapters), 1) self.assertEquals(chapters[0], 'Sub')