コード例 #1
0
 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]);
 }