/** * @dataProvider pageWithAssetDataProvider */ public function testPageWithAsset($siteRoot, $prettyUrls, $name, $expectedName, $expectedAsset) { $fs = MockFileSystem::create()->withConfig(array('site' => array('root' => $siteRoot, 'pretty_urls' => $prettyUrls)))->withPage($name, array('layout' => 'none', 'format' => 'none'), "Some contents:\n{{ assets.foo }}")->withAsset('_content/pages/blah-assets/foo.txt', 'FOO!'); $app = new PieCrust(array('root' => $fs->url('kitchen'))); $page = Page::createFromUri($app, '/' . $name, false); $baker = new PageBaker($app, $fs->url('counter'), null, array('copy_assets' => true)); $baker->bake($page); $this->assertFalse($baker->wasPaginationDataAccessed()); $this->assertEquals(1, $baker->getPageCount()); $this->assertEquals(array($fs->url('counter/' . $expectedName)), $baker->getBakedFiles()); $this->assertFileExists($fs->url('counter/' . $expectedName)); $this->assertEquals("Some contents:\n" . $expectedAsset, file_get_contents($fs->url('counter/' . $expectedName))); $expectedAssetPath = substr($expectedAsset, strlen($siteRoot)); $this->assertFileExists($fs->url('counter/' . $expectedAssetPath)); $this->assertEquals('FOO!', file_get_contents($fs->url('counter/' . $expectedAssetPath))); }
protected function bakePage(IPage $page) { $start = microtime(true); $baker = new PageBaker($this->getBakeDir(), $this->getPageBakerParameters(), $this->logger); $didBake = $baker->bake($page); if (!$didBake) { return; } if ($baker->wasPaginationDataAccessed()) { $relativePath = PageHelper::getRelativePath($page); $this->bakeRecord->addPageUsingPosts($relativePath); } $pageCount = $baker->getPageCount(); $this->logger->info(self::formatTimed($start, ($page->getUri() == '' ? '[main page]' : $page->getUri()) . ($pageCount > 1 ? " [{$pageCount}]" : ""))); return true; }