public function testGetSkinFile() { $expected = '%s/frontend/package/custom_theme/skin/theme_nested_skin/Fixture_Module/fixture_script.js'; $params = array('package' => 'package', 'theme' => 'custom_theme', 'skin' => 'theme_nested_skin'); $actual = $this->_model->getSkinFile('Fixture_Module::fixture_script.js', $params); $this->_testExpectedVersusActualFilename($expected, $actual); }
public function testGetSkinFile() { $params = array('area' => 'some_area', 'package' => 'some_package', 'theme' => 'some_theme', 'skin' => 'some_skin', 'locale' => 'some_locale'); $file = 'Some_Module::some_file.ext'; $expectedParams = $params + array('module' => 'Some_Module'); $expected = 'path/to/some_file.ext'; $this->_model->expects($this->once())->method('_getFallback')->with($expectedParams)->will($this->returnValue($this->_fallback)); $this->_fallback->expects($this->once())->method('getSkinFile')->with('some_file.ext', 'Some_Module')->will($this->returnValue($expected)); $actual = $this->_model->getSkinFile($file, $params); $this->assertEquals($expected, $actual); }
/** * Materialization of skin files in development mode * * @param string $application * @param string $package * @param string $theme * @param string $skin * @param string $file * @dataProvider materializeSkinFileDataProvider */ public function testMaterializeSkinFile($application, $package, $theme, $skin, $file) { // determine path where a materialized file is to be expected $expectedModule = false; $targetFile = $file; if (false !== strpos($file, '::')) { $targetFile = explode('::', $file); $expectedModule = $targetFile[0]; $targetFile = $targetFile[1]; } $path = array(Mage::getBaseDir('media'), 'skin', $application, $package, $theme, $skin, 'en_US'); if ($expectedModule) { $path[] = $expectedModule; } $path[] = $targetFile; $targetFile = implode(DIRECTORY_SEPARATOR, $path); // test doesn't make sense if the original file doesn't exist or the target file already exists $params = array('_area' => $application, '_package' => $package, '_theme' => $theme, '_skin' => $skin); $originalFile = $this->_model->getSkinFile($file, $params); $this->assertFileExists($originalFile); // getSkinUrl() will trigger materialization in development mode $this->assertFileNotExists($targetFile, 'Please verify isolation from previous test(s).'); $this->_model->getSkinUrl($file, $params); $this->assertFileExists($targetFile); // as soon as the files are materialized, they must have the same mtime as originals $this->assertEquals(filemtime($originalFile), filemtime($targetFile), "These files mtime must be equal: {$originalFile} / {$targetFile}"); }
/** * Publication of skin files in development mode * * @param string $application * @param string $package * @param string $theme * @param string $skin * @param string $file * @param string $expectedFile * @dataProvider publishSkinFileDataProvider */ public function testPublishSkinFile($file, $designParams, $expectedFile) { $expectedFile = self::$_skinPublicDir . '/' . $expectedFile; // test doesn't make sense if the original file doesn't exist or the target file already exists $originalFile = $this->_model->getSkinFile($file, $designParams); $this->assertFileExists($originalFile); // getSkinUrl() will trigger publication in development mode $this->assertFileNotExists($expectedFile, 'Please verify isolation from previous test(s).'); $this->_model->getSkinUrl($file, $designParams); $this->assertFileExists($expectedFile); // as soon as the files are published, they must have the same mtime as originals $this->assertEquals(filemtime($originalFile), filemtime($expectedFile), "These files mtime must be equal: {$originalFile} / {$expectedFile}"); }