Example #1
0
 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));
 }
Example #2
0
 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__) . '/../../../../../');
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 /**
  * @dataProvider providerFileContent
  */
 function testShouldLoadFileWithCorrectContent($key, $expectedValue)
 {
     $configuration = Configuration::load(TEST_FIXTURES_PATH . "squeeze/assets.yml");
     $this->assertEquals($expectedValue, $configuration[$key]);
 }