function ImageTest::providerTestScaleDimensions

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Component/Utility/ImageTest.php \Drupal\Tests\Component\Utility\ImageTest::providerTestScaleDimensions()
  2. 8.9.x core/tests/Drupal/Tests/Component/Utility/ImageTest.php \Drupal\Tests\Component\Utility\ImageTest::providerTestScaleDimensions()
  3. 11.x core/tests/Drupal/Tests/Component/Utility/ImageTest.php \Drupal\Tests\Component\Utility\ImageTest::providerTestScaleDimensions()

Provides data for image dimension scale tests.

Return value

array Keyed array containing:

  • 'input' - Array which contains input for Image::scaleDimensions().
  • 'output' - Array which contains expected output after passing through Image::scaleDimensions. Also contains a boolean 'return_value' which should match the expected return value.

See also

testScaleDimensions()

File

core/tests/Drupal/Tests/Component/Utility/ImageTest.php, line 47

Class

ImageTest
@coversDefaultClass \Drupal\Component\Utility\Image @group Image

Namespace

Drupal\Tests\Component\Utility

Code

public static function providerTestScaleDimensions() {
    // Define input / output datasets to test different branch conditions.
    $tests = [];
    // Test branch conditions:
    // - No height.
    // - Upscale, don't need to upscale.
    $tests[] = [
        'input' => [
            'dimensions' => [
                'width' => 1000,
                'height' => 2000,
            ],
            'width' => 200,
            'height' => NULL,
            'upscale' => TRUE,
        ],
        'output' => [
            'dimensions' => [
                'width' => 200,
                'height' => 400,
            ],
            'return_value' => TRUE,
        ],
    ];
    // Test branch conditions:
    // - No width.
    // - Don't upscale, don't need to upscale.
    $tests[] = [
        'input' => [
            'dimensions' => [
                'width' => 1000,
                'height' => 800,
            ],
            'width' => NULL,
            'height' => 140,
            'upscale' => FALSE,
        ],
        'output' => [
            'dimensions' => [
                'width' => 175,
                'height' => 140,
            ],
            'return_value' => TRUE,
        ],
    ];
    // Test branch conditions:
    // - Source aspect ratio greater than target.
    // - Upscale, need to upscale.
    $tests[] = [
        'input' => [
            'dimensions' => [
                'width' => 8,
                'height' => 20,
            ],
            'width' => 200,
            'height' => 140,
            'upscale' => TRUE,
        ],
        'output' => [
            'dimensions' => [
                'width' => 56,
                'height' => 140,
            ],
            'return_value' => TRUE,
        ],
    ];
    // Test branch condition: target aspect ratio greater than source.
    $tests[] = [
        'input' => [
            'dimensions' => [
                'width' => 2000,
                'height' => 800,
            ],
            'width' => 200,
            'height' => 140,
            'upscale' => FALSE,
        ],
        'output' => [
            'dimensions' => [
                'width' => 200,
                'height' => 80,
            ],
            'return_value' => TRUE,
        ],
    ];
    // Test branch condition: don't upscale, need to upscale.
    $tests[] = [
        'input' => [
            'dimensions' => [
                'width' => 100,
                'height' => 50,
            ],
            'width' => 200,
            'height' => 140,
            'upscale' => FALSE,
        ],
        'output' => [
            'dimensions' => [
                'width' => 100,
                'height' => 50,
            ],
            'return_value' => FALSE,
        ],
    ];
    return $tests;
}

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