function testGetEntityPages() { $v = new DocumentationViewer(); $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.3/subfolder/')); $pages = $v->getEntityPages(); $this->assertEquals(array('sort/', 'subfolder/', 'test.md'), $pages->column('Filename')); $this->assertEquals(array('link', 'current', 'link'), $pages->column('LinkingMode')); foreach ($pages as $page) { $page->setVersion('2.3'); } $links = $pages->column('Link'); $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/sort/', $links[0]); $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/', $links[1]); $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/test', $links[2]); // Children $pagesArr = $pages->toArray(); $child1 = $pagesArr[1]; $this->assertFalse($child1->Children); $child2 = $pagesArr[2]; $this->assertInstanceOf('DataObjectSet', $child2->Children); $this->assertEquals(array('subfolder/subpage.md', 'subfolder/subsubfolder/'), $child2->Children->column('Filename')); $children = $child2->Children; foreach ($children as $child) { $child->setVersion('2.3'); } $child2Links = $children->column('Link'); $subpage = $children->First(); $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/subpage', $child2Links[0]); $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/subsubfolder/', $child2Links[1]); }