Пример #1
0
 public function testSmartyTemplate()
 {
     $site = $this->getMockSite();
     $render = new CM_Frontend_Render(new CM_Frontend_Environment($site));
     $url = $render->getUrlResource('layout', 'browserconfig.xml');
     $request = new CM_Http_Request_Get($url, ['host' => $site->getHost()]);
     $response = $this->processRequest($request);
     $this->assertContains('Content-Type: application/xml', $response->getHeaders());
     $this->assertContains('Cache-Control: max-age=31536000', $response->getHeaders());
     $this->assertContains('Expires: ' . gmdate('D, d M Y H:i:s \\G\\M\\T', time() + 31536000), $response->getHeaders());
     $imgUrl = $render->getUrlResource('layout', 'img/meta/tile-small-128x128-transparent.png');
     $this->assertContains("src=\"{$imgUrl}\"", $response->getContent());
     $exception = $this->catchException(function () use($render) {
         $render->getLayoutFile('resource/browserconfig.xml');
     });
     $this->assertInstanceOf('CM_Exception_Invalid', $exception);
     /** @var CM_Exception_Invalid $exception */
     $this->assertSame('Can\'t find template', $exception->getMessage());
     $this->assertSame('resource/browserconfig.xml', $exception->getMetaInfo()['template']);
 }