Make WordPress Core


Ignore:
Timestamp:
10/31/2015 08:49:26 PM (8 years ago)
Author:
wonderboymusic
Message:

Media: add a new image size, medium_large. Bumps db version to add new options.

Adds unit tests.

Props DH-Shredder, joemcgill, azaozz.
Fixes #34196.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/post/attachments.php

    r35309 r35479  
    3636        $this->assertFalse( image_get_intermediate_size($id, 'thumbnail') );
    3737        $this->assertFalse( image_get_intermediate_size($id, 'medium') );
    38 
    39         // medium and full size will both point to the original
     38        $this->assertFalse( image_get_intermediate_size($id, 'medium_large') );
     39
     40        // medium, medium_large, and full size will both point to the original
    4041        $downsize = image_downsize($id, 'medium');
    4142        $this->assertEquals( basename( $upload['file'] ), basename($downsize[0]) );
     
    4344        $this->assertEquals( 50, $downsize[2] );
    4445
     46        $downsize = image_downsize($id, 'medium_large');
     47        $this->assertEquals( basename( $upload['file'] ), basename($downsize[0]) );
     48        $this->assertEquals( 50, $downsize[1] );
     49        $this->assertEquals( 50, $downsize[2] );
     50
    4551        $downsize = image_downsize($id, 'full');
    4652        $this->assertEquals( basename( $upload['file'] ), basename($downsize[0]) );
     
    7379
    7480        $this->assertFalse( image_get_intermediate_size($id, 'medium') );
     81        $this->assertFalse( image_get_intermediate_size($id, 'medium_large') );
    7582
    7683        // the thumb url should point to the thumbnail intermediate
     
    8390        $this->assertEquals( 150, $downsize[2] );
    8491
    85         // medium and full will both point to the original
     92        // medium, medium_large, and full will both point to the original
    8693        $downsize = image_downsize($id, 'medium');
    8794        $this->assertEquals( 'a2-small.jpg', basename($downsize[0]) );
     
    8996        $this->assertEquals( 300, $downsize[2] );
    9097
     98        $downsize = image_downsize($id, 'medium_large');
     99        $this->assertEquals( 'a2-small.jpg', basename($downsize[0]) );
     100        $this->assertEquals( 400, $downsize[1] );
     101        $this->assertEquals( 300, $downsize[2] );
     102
    91103        $downsize = image_downsize($id, 'full');
    92104        $this->assertEquals( 'a2-small.jpg', basename($downsize[0]) );
     
    96108    }
    97109
    98     function test_insert_image_medium() {
     110    function test_insert_image_medium_sizes() {
    99111        if ( !function_exists( 'imagejpeg' ) )
    100112            $this->markTestSkipped( 'jpeg support unavailable' );
     
    102114        update_option('medium_size_w', 400);
    103115        update_option('medium_size_h', 0);
     116
     117        update_option('medium_large_size_w', 600);
     118        update_option('medium_large_size_h', 0);
    104119
    105120        $filename = ( DIR_TESTDATA.'/images/2007-06-17DSC_4173.JPG' );
     
    120135        $this->assertEquals( '2007-06-17DSC_4173-400x602.jpg', $medium['file'] );
    121136        $this->assertTrue( is_file($uploads['basedir'] . DIRECTORY_SEPARATOR . $medium['path']) );
     137
     138        $medium_large = image_get_intermediate_size($id, 'medium_large');
     139        $this->assertEquals( '2007-06-17DSC_4173-600x904.jpg', $medium_large['file'] );
     140        $this->assertTrue( is_file($uploads['basedir'] . DIRECTORY_SEPARATOR . $medium_large['path']) );
    122141
    123142        // the thumb url should point to the thumbnail intermediate
     
    135154        $this->assertEquals( 602, $downsize[2] );
    136155
     156        $downsize = image_downsize($id, 'medium_large');
     157        $this->assertEquals( '2007-06-17DSC_4173-600x904.jpg', basename($downsize[0]) );
     158        $this->assertEquals( 600, $downsize[1] );
     159        $this->assertEquals( 904, $downsize[2] );
     160
    137161        $downsize = image_downsize($id, 'full');
    138162        $this->assertEquals( '2007-06-17DSC_4173.jpg', basename($downsize[0]) );
     
    149173        update_option('medium_size_h', 0);
    150174
     175        update_option('medium_large_size_w', 600);
     176        update_option('medium_large_size_h', 0);
     177
    151178        $filename = ( DIR_TESTDATA.'/images/2007-06-17DSC_4173.JPG' );
    152179        $contents = file_get_contents($filename);
     
    167194        $this->assertTrue( is_file($uploads['basedir'] . DIRECTORY_SEPARATOR . $medium['path']) );
    168195
     196        $medium_large = image_get_intermediate_size($id, 'medium_large');
     197        $this->assertEquals( '2007-06-17DSC_4173-600x904.jpg', $medium_large['file'] );
     198        $this->assertTrue( is_file($uploads['basedir'] . DIRECTORY_SEPARATOR . $medium_large['path']) );
     199
    169200        $meta = wp_get_attachment_metadata($id);
    170201        $original = $meta['file'];
     
    176207        $this->assertFalse( is_file($thumb['path']) );
    177208        $this->assertFalse( is_file($medium['path']) );
     209        $this->assertFalse( is_file($medium_large['path']) );
    178210        $this->assertFalse( is_file($original) );
    179211    }
Note: See TracChangeset for help on using the changeset viewer.