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'])); }