WordPress.org

Make WordPress Core


Ignore:
Timestamp:
11/30/2014 07:53:18 PM (6 years ago)
Author:
wonderboymusic
Message:

Use round() instead of floor() when resizing image dimensions.

Updates unit tests.

Props SergeyBiryukov, kitchin.
Fixes #18532.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/image/size.php

    r27358 r30660  
    1414        // no constraint - should have no effect
    1515        $out = wp_constrain_dimensions(640, 480, 0, 0);
    16         $this->assertEquals(array(640, 480), $out);
     16        $this->assertSame( array( 640, 480 ), $out );
    1717
    1818        $out = wp_constrain_dimensions(640, 480);
    19         $this->assertEquals(array(640, 480), $out);
     19        $this->assertSame( array( 640, 480 ), $out );
    2020
    2121        $out = wp_constrain_dimensions(0, 0, 0, 0);
    22         $this->assertEquals(array(0, 0), $out);
     22        $this->assertSame( array( 0, 0 ), $out );
     23
     24        $out = wp_constrain_dimensions(465, 700, 177, 177);
     25        $this->assertSame( array( 118, 177 ), $out );
    2326    }
    2427
     
    2932        // image size is smaller than the constraint - no effect
    3033        $out = wp_constrain_dimensions(500, 600, 1024, 768);
    31         $this->assertEquals(array(500, 600), $out);
     34        $this->assertSame( array( 500, 600 ), $out );
    3235
    3336        $out = wp_constrain_dimensions(500, 600, 0, 768);
    34         $this->assertEquals(array(500, 600), $out);
     37        $this->assertSame( array( 500, 600 ), $out );
    3538
    3639        $out = wp_constrain_dimensions(500, 600, 1024, 0);
    37         $this->assertEquals(array(500, 600), $out);
     40        $this->assertSame( array( 500, 600 ), $out );
    3841    }
    3942
     
    4447        // image size is equal to the constraint - no effect
    4548        $out = wp_constrain_dimensions(1024, 768, 1024, 768);
    46         $this->assertequals(array(1024, 768), $out);
     49        $this->assertSame( array( 1024, 768 ), $out );
    4750
    4851        $out = wp_constrain_dimensions(1024, 768, 0, 768);
    49         $this->assertequals(array(1024, 768), $out);
     52        $this->assertSame( array( 1024, 768 ), $out );
    5053
    5154        $out = wp_constrain_dimensions(1024, 768, 1024, 0);
    52         $this->assertequals(array(1024, 768), $out);
     55        $this->assertSame( array( 1024, 768 ), $out );
    5356    }
    5457
     
    5962        // image size is larger than the constraint - result should be constrained
    6063        $out = wp_constrain_dimensions(1024, 768, 500, 600);
    61         $this->assertequals(array(500, 375), $out);
     64        $this->assertSame( array( 500, 375 ), $out );
    6265
    6366        $out = wp_constrain_dimensions(1024, 768, 0, 600);
    64         $this->assertequals(array(800, 600), $out);
     67        $this->assertSame( array( 800, 600 ), $out );
    6568
    6669        $out = wp_constrain_dimensions(1024, 768, 500, 0);
    67         $this->assertequals(array(500, 375), $out);
     70        $this->assertSame( array( 500, 375 ), $out );
    6871
    6972        // also try a portrait oriented image
    7073        $out = wp_constrain_dimensions(300, 800, 500, 600);
    71         $this->assertequals(array(225, 600), $out);
     74        $this->assertSame( array( 225, 600 ), $out );
    7275
    7376        $out = wp_constrain_dimensions(300, 800, 0, 600);
    74         $this->assertequals(array(225, 600), $out);
     77        $this->assertSame( array( 225, 600 ), $out );
    7578
    7679        $out = wp_constrain_dimensions(300, 800, 200, 0);
    77         $this->assertequals(array(200, 533), $out);
     80        $this->assertSame( array( 200, 533 ), $out );
    7881    }
    7982
     
    8487        // one dimension is larger than the constraint, one smaller - result should be constrained
    8588        $out = wp_constrain_dimensions(1024, 768, 500, 800);
    86         $this->assertequals(array(500, 375), $out);
     89        $this->assertSame( array( 500, 375 ), $out );
    8790
    8891        $out = wp_constrain_dimensions(1024, 768, 2000, 700);
    89         $this->assertequals(array(933, 700), $out);
     92        $this->assertSame( array( 933, 700 ), $out );
    9093
    9194        // portrait
    9295        $out = wp_constrain_dimensions(768, 1024, 800, 500);
    93         $this->assertequals(array(375, 500), $out);
     96        $this->assertSame( array( 375, 500 ), $out );
    9497
    9598        $out = wp_constrain_dimensions(768, 1024, 2000, 700);
    96         $this->assertequals(array(525, 700), $out);
     99        $this->assertSame( array( 525, 700 ), $out );
    97100    }
    98101
     
    102105    function test_shrink_dimensions_default() {
    103106        $out = wp_shrink_dimensions(640, 480);
    104         $this->assertEquals(array(128, 96), $out);
     107        $this->assertSame( array( 128, 96 ), $out );
    105108
    106109        $out = wp_shrink_dimensions(480, 640);
    107         $this->assertEquals(array(72, 96), $out);
     110        $this->assertSame( array( 72, 96 ), $out );
    108111    }
    109112
     
    114117        // image size is smaller than the constraint - no effect
    115118        $out = wp_shrink_dimensions(500, 600, 1024, 768);
    116         $this->assertEquals(array(500, 600), $out);
     119        $this->assertSame( array( 500, 600 ), $out );
    117120
    118121        $out = wp_shrink_dimensions(600, 500, 1024, 768);
    119         $this->assertEquals(array(600, 500), $out);
     122        $this->assertSame( array( 600, 500 ), $out );
    120123    }
    121124
     
    126129        // image size is equal to the constraint - no effect
    127130        $out = wp_shrink_dimensions(500, 600, 500, 600);
    128         $this->assertEquals(array(500, 600), $out);
     131        $this->assertSame( array( 500, 600 ), $out );
    129132
    130133        $out = wp_shrink_dimensions(600, 500, 600, 500);
    131         $this->assertEquals(array(600, 500), $out);
     134        $this->assertSame( array( 600, 500 ), $out );
    132135    }
    133136
     
    138141        // image size is larger than the constraint - result should be constrained
    139142        $out = wp_shrink_dimensions(1024, 768, 500, 600);
    140         $this->assertequals(array(500, 375), $out);
     143        $this->assertSame( array( 500, 375 ), $out );
    141144
    142145        $out = wp_shrink_dimensions(300, 800, 500, 600);
    143         $this->assertequals(array(225, 600), $out);
     146        $this->assertSame( array( 225, 600 ), $out );
    144147    }
    145148
     
    150153        // one dimension is larger than the constraint, one smaller - result should be constrained
    151154        $out = wp_shrink_dimensions(1024, 768, 500, 800);
    152         $this->assertequals(array(500, 375), $out);
     155        $this->assertSame( array( 500, 375 ), $out );
    153156
    154157        $out = wp_shrink_dimensions(1024, 768, 2000, 700);
    155         $this->assertequals(array(933, 700), $out);
     158        $this->assertSame( array( 933, 700 ), $out );
    156159
    157160        // portrait
    158161        $out = wp_shrink_dimensions(768, 1024, 800, 500);
    159         $this->assertequals(array(375, 500), $out);
     162        $this->assertSame( array( 375, 500 ), $out );
    160163
    161164        $out = wp_shrink_dimensions(768, 1024, 2000, 700);
    162         $this->assertequals(array(525, 700), $out);
     165        $this->assertSame( array( 525, 700 ), $out );
    163166    }
    164167
    165168    function test_constrain_size_for_editor_thumb() {
    166169        $out = image_constrain_size_for_editor(600, 400, 'thumb');
    167         $this->assertEquals(array(150, 100), $out);
     170        $this->assertSame( array( 150, 100 ), $out );
    168171
    169172        $out = image_constrain_size_for_editor(64, 64, 'thumb');
    170         $this->assertEquals(array(64, 64), $out);
     173        $this->assertSame( array( 64, 64 ), $out );
    171174    }
    172175
     
    182185
    183186        $out = image_constrain_size_for_editor(600, 400, 'medium');
    184         $this->assertEquals(array(500, 333), $out);
     187        $this->assertSame( array( 500, 333 ), $out );
    185188
    186189        $out = image_constrain_size_for_editor(400, 600, 'medium');
    187         $this->assertEquals(array(400, 600), $out);
     190        $this->assertSame( array( 400, 600 ), $out );
    188191
    189192        $out = image_constrain_size_for_editor(64, 64, 'medium');
    190         $this->assertEquals(array(64, 64), $out);
     193        $this->assertSame( array( 64, 64 ), $out );
    191194
    192195        // content_width should be ignored
    193196        $content_width = 350;
    194197        $out = image_constrain_size_for_editor(600, 400, 'medium');
    195         $this->assertEquals(array(500, 333), $out);
     198        $this->assertSame( array( 500, 333 ), $out );
    196199
    197200        $content_width = $_content_width;
     
    205208        $content_width = 400;
    206209        $out = image_constrain_size_for_editor(600, 400, 'full');
    207         $this->assertEquals(array(600, 400), $out);
     210        $this->assertSame( array( 600, 400 ), $out );
    208211
    209212        $out = image_constrain_size_for_editor(64, 64, 'full');
    210         $this->assertEquals(array(64, 64), $out);
     213        $this->assertSame( array( 64, 64 ), $out );
    211214
    212215        // content_width default is 500
     
    214217
    215218        $out = image_constrain_size_for_editor(600, 400, 'full');
    216         $this->assertEquals(array(600, 400), $out);
     219        $this->assertSame( array( 600, 400 ), $out );
    217220
    218221        $out = image_constrain_size_for_editor(64, 64, 'full');
    219         $this->assertEquals(array(64, 64), $out);
     222        $this->assertSame( array( 64, 64 ), $out );
    220223
    221224        $content_width = $_content_width;
Note: See TracChangeset for help on using the changeset viewer.