function testCompress() { $conf = Configuration::load(TEST_FIXTURES_PATH . "squeeze/assets.yml"); $compressor = new Compressor($conf); $paths = array("src/bar.js", "src/foo.js"); $this->assertStringEqualsFile(TEST_FIXTURES_PATH . 'squeeze/compressed/test.js', $compressor->compress($paths)); }
function setUp() { $this->original_assets_url = \Assets::url(); \Assets::set_assets_url(self::ASSETS_URL); $this->conf = Configuration::load(TEST_FIXTURES_PATH . "squeeze/assets.yml"); $this->rmTmpDir(); $this->output_directory = $this->getTmpDir(); $this->STUDIP_BASE_PATH = $GLOBALS['STUDIP_BASE_PATH']; $GLOBALS['STUDIP_BASE_PATH'] = realpath(dirname(__FILE__) . '/../../../../../'); }
/** * Depending on \Studip\ENV, either includes individual script * elements for each JS file in every package, or a single script * element containing the squeezed source code for every package. */ private static function includeSqueezePackages() { global $STUDIP_BASE_PATH; $config_path = "{$STUDIP_BASE_PATH}/config/assets.yml"; $configuration = Configuration::load($config_path); $packager = new Packager($configuration); $javascripts = \Studip\Squeeze\includePackages($packager, self::getSqueezePackages()); $css = array(); foreach (self::getSqueezePackages() as $package) { if (isset($configuration['css'][$package])) { foreach ($configuration['css'][$package] as $filename => $media) { $attributes = array('rel' => 'stylesheet', 'href' => \Studip\Squeeze\shouldPackage() ? $configuration['package_url'] . '/' . $package . '-' . $filename : Assets::stylesheet_path($filename), 'media' => $media); $css[$package . '-' . $filename] = array('name' => 'link', 'attributes' => $attributes); } } } $files = array_merge($css, $javascripts); // When not in development mode, add the current version number to // the assets file, so browser caches will be informed about an // update if (Studip\ENV !== 'development') { $v = preg_replace('/^(\\d+(?:\\.\\d+)*).*$/', '$1', $GLOBALS['SOFTWARE_VERSION']); $files = array_map(function ($file) use($v) { if ($file['name'] === 'link') { $file['attributes']['href'] = URLHelper::getURL($file['attributes']['href'], compact('v'), true); } else { if ($file['name'] === 'script') { $file['attributes']['src'] = URLHelper::getURL($file['attributes']['src'], compact('v'), true); } } return $file; }, $files); } return $files; }
/** * @dataProvider providerFileContent */ function testShouldLoadFileWithCorrectContent($key, $expectedValue) { $configuration = Configuration::load(TEST_FIXTURES_PATH . "squeeze/assets.yml"); $this->assertEquals($expectedValue, $configuration[$key]); }