You are here

function CssOptimizerUnitTest::providerTestOptimize in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php \Drupal\Tests\Core\Asset\CssOptimizerUnitTest::providerTestOptimize()

Provides data for the CSS asset optimizing test.

File

core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php, line 67
Contains \Drupal\Tests\Core\Asset\CssOptimizerUnitTest.

Class

CssOptimizerUnitTest
Tests the CSS asset optimizer.

Namespace

Drupal\Tests\Core\Asset

Code

function providerTestOptimize() {
  $path = dirname(__FILE__) . '/css_test_files/';
  return array(
    // File. Tests:
    // - Stripped comments and white-space.
    // - Retain white-space in selectors. (https://www.drupal.org/node/472820)
    // - Retain pseudo-selectors. (https://www.drupal.org/node/460448)
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.012,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_without_import.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_without_import.css',
      ),
      file_get_contents($path . 'css_input_without_import.css.optimized.css'),
    ),
    // File. Tests:
    // - Proper URLs in imported files. (https://www.drupal.org/node/265719)
    // - A background image with relative paths, which must be rewritten.
    // - The rewritten background image path must also be passed through
    //   file_create_url(). (https://www.drupal.org/node/1961340)
    // - Imported files that are external (protocol-relative URL or not)
    //   should not be expanded. (https://www.drupal.org/node/2014851)
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_with_import.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_import.css',
      ),
      str_replace('url(images/icon.png)', 'url(' . file_create_url($path . 'images/icon.png') . ')', file_get_contents($path . 'css_input_with_import.css.optimized.css')),
    ),
    // File. Tests:
    // - Retain comment hacks.
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'comment_hacks.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'comment_hacks.css',
      ),
      file_get_contents($path . 'comment_hacks.css.optimized.css'),
    ),
    // File in subfolder. Tests:
    // - CSS import path is properly interpreted.
    //   (https://www.drupal.org/node/1198904)
    // - Don't adjust data URIs (https://www.drupal.org/node/2142441)
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_subfolder/css_input_with_import.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_import.css',
      ),
      str_replace('url(../images/icon.png)', 'url(' . file_create_url($path . 'images/icon.png') . ')', file_get_contents($path . 'css_subfolder/css_input_with_import.css.optimized.css')),
    ),
    // File. Tests:
    // - Any @charaset declaration at the beginning of a file should be
    //   removed without breaking subsequent CSS.
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'charset_sameline.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'charset_sameline.css',
      ),
      file_get_contents($path . 'charset.css.optimized.css'),
    ),
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'charset_newline.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'charset_newline.css',
      ),
      file_get_contents($path . 'charset.css.optimized.css'),
    ),
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_with_bom.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_bom.css',
      ),
      '.byte-order-mark-test{content:"☃";}' . "\n",
    ),
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_with_charset.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_charset.css',
      ),
      '.charset-test{content:"€";}' . "\n",
    ),
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_with_bom_and_charset.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_bom_and_charset.css',
      ),
      '.byte-order-mark-charset-test{content:"☃";}' . "\n",
    ),
    array(
      array(
        'group' => -100,
        'type' => 'file',
        'weight' => 0.013,
        'media' => 'all',
        'preprocess' => TRUE,
        'data' => $path . 'css_input_with_utf16_bom.css',
        'browsers' => array(
          'IE' => TRUE,
          '!IE' => TRUE,
        ),
        'basename' => 'css_input_with_utf16_bom.css',
      ),
      '.utf16-byte-order-mark-test{content:"☃";}' . "\n",
    ),
  );
}