コード例 #1
0
 public function testNamespaces()
 {
     $theme = Theme::load('test');
     $page = Page::load($theme, 'code-namespaces.htm');
     $this->assertNotEmpty($page);
     $parser = new CodeParser($page);
     $info = $parser->parse();
     $this->assertInternalType('array', $info);
     $this->assertArrayHasKey('filePath', $info);
     $this->assertArrayHasKey('className', $info);
     $this->assertArrayHasKey('source', $info);
     $this->assertFileExists($info['filePath']);
     $controller = new Controller($theme);
     $obj = $parser->source($page, null, $controller);
     $this->assertInstanceOf('\\Cms\\Classes\\PageCode', $obj);
     $referenceFilePath = base_path() . '/tests/fixtures/cms/reference/namespaces.php';
     $this->assertFileExists($referenceFilePath);
     $referenceContents = $this->getContents($referenceFilePath);
     $referenceContents = str_replace('{className}', $info['className'], $referenceContents);
     $this->assertEquals($referenceContents, $this->getContents($info['filePath']));
 }