function CssCollectionRendererUnitTest::providerTestRender

Same name in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php \Drupal\Tests\Core\Asset\CssCollectionRendererUnitTest::providerTestRender()
  2. 10 core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php \Drupal\Tests\Core\Asset\CssCollectionRendererUnitTest::providerTestRender()
  3. 11.x core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php \Drupal\Tests\Core\Asset\CssCollectionRendererUnitTest::providerTestRender()

Provides data for the CSS asset rendering test.

See also

testRender

File

core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php, line 82

Class

CssCollectionRendererUnitTest
Tests the CSS asset collection renderer.

Namespace

Drupal\Tests\Core\Asset

Code

public function providerTestRender() {
    $create_link_element = function ($href, $media = 'all', $browsers = [], $custom_attributes = []) {
        $attributes = [
            'rel' => 'stylesheet',
            'media' => $media,
            'href' => $href,
        ];
        return [
            '#type' => 'html_tag',
            '#tag' => 'link',
            '#attributes' => array_replace($attributes, $custom_attributes),
            '#browsers' => $browsers,
        ];
    };
    $create_file_css_asset = function ($data, $media = 'all', $preprocess = TRUE) {
        return [
            'group' => 0,
            'type' => 'file',
            'media' => $media,
            'preprocess' => $preprocess,
            'data' => $data,
            'browsers' => [],
        ];
    };
    $custom_attributes = [
        'integrity' => 'sha384-psK1OYPAYjYUhtDYW+Pj2yc',
        'crossorigin' => 'anonymous',
        'random-attribute' => 'test',
    ];
    return [
        // Single external CSS asset.
0 => [
            // CSS assets.
[
                0 => [
                    'group' => 0,
                    'type' => 'external',
                    'media' => 'all',
                    'preprocess' => TRUE,
                    'data' => 'http://example.com/popular.js',
                    'browsers' => [],
                ],
            ],
            // Render elements.
[
                0 => $create_link_element('http://example.com/popular.js', 'all'),
            ],
        ],
        // Single file CSS asset.
1 => [
            [
                0 => [
                    'group' => 0,
                    'type' => 'file',
                    'media' => 'all',
                    'preprocess' => TRUE,
                    'data' => 'public://css/file-all',
                    'browsers' => [],
                ],
            ],
            [
                0 => $create_link_element('generated-relative-url:public://css/file-all' . '?', 'all'),
            ],
        ],
        // Single file CSS asset with custom attributes.
2 => [
            [
                0 => [
                    'group' => 0,
                    'type' => 'file',
                    'media' => 'all',
                    'preprocess' => TRUE,
                    'data' => 'public://css/file-all',
                    'browsers' => [],
                    'attributes' => $custom_attributes,
                ],
            ],
            [
                0 => $create_link_element('generated-relative-url:public://css/file-all' . '?', 'all', [], $custom_attributes),
            ],
        ],
        // 31 file CSS assets: expect 31 link elements.
3 => [
            [
                0 => $create_file_css_asset('public://css/1.css'),
                1 => $create_file_css_asset('public://css/2.css'),
                2 => $create_file_css_asset('public://css/3.css'),
                3 => $create_file_css_asset('public://css/4.css'),
                4 => $create_file_css_asset('public://css/5.css'),
                5 => $create_file_css_asset('public://css/6.css'),
                6 => $create_file_css_asset('public://css/7.css'),
                7 => $create_file_css_asset('public://css/8.css'),
                8 => $create_file_css_asset('public://css/9.css'),
                9 => $create_file_css_asset('public://css/10.css'),
                10 => $create_file_css_asset('public://css/11.css'),
                11 => $create_file_css_asset('public://css/12.css'),
                12 => $create_file_css_asset('public://css/13.css'),
                13 => $create_file_css_asset('public://css/14.css'),
                14 => $create_file_css_asset('public://css/15.css'),
                15 => $create_file_css_asset('public://css/16.css'),
                16 => $create_file_css_asset('public://css/17.css'),
                17 => $create_file_css_asset('public://css/18.css'),
                18 => $create_file_css_asset('public://css/19.css'),
                19 => $create_file_css_asset('public://css/20.css'),
                20 => $create_file_css_asset('public://css/21.css'),
                21 => $create_file_css_asset('public://css/22.css'),
                22 => $create_file_css_asset('public://css/23.css'),
                23 => $create_file_css_asset('public://css/24.css'),
                24 => $create_file_css_asset('public://css/25.css'),
                25 => $create_file_css_asset('public://css/26.css'),
                26 => $create_file_css_asset('public://css/27.css'),
                27 => $create_file_css_asset('public://css/28.css'),
                28 => $create_file_css_asset('public://css/29.css'),
                29 => $create_file_css_asset('public://css/30.css'),
                30 => $create_file_css_asset('public://css/31.css'),
            ],
            [
                0 => $create_link_element('generated-relative-url:public://css/1.css' . '?'),
                1 => $create_link_element('generated-relative-url:public://css/2.css' . '?'),
                2 => $create_link_element('generated-relative-url:public://css/3.css' . '?'),
                3 => $create_link_element('generated-relative-url:public://css/4.css' . '?'),
                4 => $create_link_element('generated-relative-url:public://css/5.css' . '?'),
                5 => $create_link_element('generated-relative-url:public://css/6.css' . '?'),
                6 => $create_link_element('generated-relative-url:public://css/7.css' . '?'),
                7 => $create_link_element('generated-relative-url:public://css/8.css' . '?'),
                8 => $create_link_element('generated-relative-url:public://css/9.css' . '?'),
                9 => $create_link_element('generated-relative-url:public://css/10.css' . '?'),
                10 => $create_link_element('generated-relative-url:public://css/11.css' . '?'),
                11 => $create_link_element('generated-relative-url:public://css/12.css' . '?'),
                12 => $create_link_element('generated-relative-url:public://css/13.css' . '?'),
                13 => $create_link_element('generated-relative-url:public://css/14.css' . '?'),
                14 => $create_link_element('generated-relative-url:public://css/15.css' . '?'),
                15 => $create_link_element('generated-relative-url:public://css/16.css' . '?'),
                16 => $create_link_element('generated-relative-url:public://css/17.css' . '?'),
                17 => $create_link_element('generated-relative-url:public://css/18.css' . '?'),
                18 => $create_link_element('generated-relative-url:public://css/19.css' . '?'),
                19 => $create_link_element('generated-relative-url:public://css/20.css' . '?'),
                20 => $create_link_element('generated-relative-url:public://css/21.css' . '?'),
                21 => $create_link_element('generated-relative-url:public://css/22.css' . '?'),
                22 => $create_link_element('generated-relative-url:public://css/23.css' . '?'),
                23 => $create_link_element('generated-relative-url:public://css/24.css' . '?'),
                24 => $create_link_element('generated-relative-url:public://css/25.css' . '?'),
                25 => $create_link_element('generated-relative-url:public://css/26.css' . '?'),
                26 => $create_link_element('generated-relative-url:public://css/27.css' . '?'),
                27 => $create_link_element('generated-relative-url:public://css/28.css' . '?'),
                28 => $create_link_element('generated-relative-url:public://css/29.css' . '?'),
                29 => $create_link_element('generated-relative-url:public://css/30.css' . '?'),
                30 => $create_link_element('generated-relative-url:public://css/31.css' . '?'),
            ],
        ],
        // 32 file CSS assets with the same properties, except for the 10th and
        // 20th files, they have different 'media' properties.
4 => [
            [
                0 => $create_file_css_asset('public://css/1.css'),
                1 => $create_file_css_asset('public://css/2.css'),
                2 => $create_file_css_asset('public://css/3.css'),
                3 => $create_file_css_asset('public://css/4.css'),
                4 => $create_file_css_asset('public://css/5.css'),
                5 => $create_file_css_asset('public://css/6.css'),
                6 => $create_file_css_asset('public://css/7.css'),
                7 => $create_file_css_asset('public://css/8.css'),
                8 => $create_file_css_asset('public://css/9.css'),
                9 => $create_file_css_asset('public://css/10.css', 'screen'),
                10 => $create_file_css_asset('public://css/11.css'),
                11 => $create_file_css_asset('public://css/12.css'),
                12 => $create_file_css_asset('public://css/13.css'),
                13 => $create_file_css_asset('public://css/14.css'),
                14 => $create_file_css_asset('public://css/15.css'),
                15 => $create_file_css_asset('public://css/16.css'),
                16 => $create_file_css_asset('public://css/17.css'),
                17 => $create_file_css_asset('public://css/18.css'),
                18 => $create_file_css_asset('public://css/19.css'),
                19 => $create_file_css_asset('public://css/20.css', 'print'),
                20 => $create_file_css_asset('public://css/21.css'),
                21 => $create_file_css_asset('public://css/22.css'),
                22 => $create_file_css_asset('public://css/23.css'),
                23 => $create_file_css_asset('public://css/24.css'),
                24 => $create_file_css_asset('public://css/25.css'),
                25 => $create_file_css_asset('public://css/26.css'),
                26 => $create_file_css_asset('public://css/27.css'),
                27 => $create_file_css_asset('public://css/28.css'),
                28 => $create_file_css_asset('public://css/29.css'),
                29 => $create_file_css_asset('public://css/30.css'),
                30 => $create_file_css_asset('public://css/31.css'),
                31 => $create_file_css_asset('public://css/32.css'),
            ],
            [
                0 => $create_link_element('generated-relative-url:public://css/1.css' . '?'),
                1 => $create_link_element('generated-relative-url:public://css/2.css' . '?'),
                2 => $create_link_element('generated-relative-url:public://css/3.css' . '?'),
                3 => $create_link_element('generated-relative-url:public://css/4.css' . '?'),
                4 => $create_link_element('generated-relative-url:public://css/5.css' . '?'),
                5 => $create_link_element('generated-relative-url:public://css/6.css' . '?'),
                6 => $create_link_element('generated-relative-url:public://css/7.css' . '?'),
                7 => $create_link_element('generated-relative-url:public://css/8.css' . '?'),
                8 => $create_link_element('generated-relative-url:public://css/9.css' . '?'),
                9 => $create_link_element('generated-relative-url:public://css/10.css' . '?', 'screen'),
                10 => $create_link_element('generated-relative-url:public://css/11.css' . '?'),
                11 => $create_link_element('generated-relative-url:public://css/12.css' . '?'),
                12 => $create_link_element('generated-relative-url:public://css/13.css' . '?'),
                13 => $create_link_element('generated-relative-url:public://css/14.css' . '?'),
                14 => $create_link_element('generated-relative-url:public://css/15.css' . '?'),
                15 => $create_link_element('generated-relative-url:public://css/16.css' . '?'),
                16 => $create_link_element('generated-relative-url:public://css/17.css' . '?'),
                17 => $create_link_element('generated-relative-url:public://css/18.css' . '?'),
                18 => $create_link_element('generated-relative-url:public://css/19.css' . '?'),
                19 => $create_link_element('generated-relative-url:public://css/20.css' . '?', 'print'),
                20 => $create_link_element('generated-relative-url:public://css/21.css' . '?'),
                21 => $create_link_element('generated-relative-url:public://css/22.css' . '?'),
                22 => $create_link_element('generated-relative-url:public://css/23.css' . '?'),
                23 => $create_link_element('generated-relative-url:public://css/24.css' . '?'),
                24 => $create_link_element('generated-relative-url:public://css/25.css' . '?'),
                25 => $create_link_element('generated-relative-url:public://css/26.css' . '?'),
                26 => $create_link_element('generated-relative-url:public://css/27.css' . '?'),
                27 => $create_link_element('generated-relative-url:public://css/28.css' . '?'),
                28 => $create_link_element('generated-relative-url:public://css/29.css' . '?'),
                29 => $create_link_element('generated-relative-url:public://css/30.css' . '?'),
                30 => $create_link_element('generated-relative-url:public://css/31.css' . '?'),
                31 => $create_link_element('generated-relative-url:public://css/32.css' . '?'),
            ],
        ],
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.