Fix the unit tests for Imagick alpha.
These tests were written to use the `assertImageAtAlpha()` helper method, whose internals were specific to GD. As a result, the tests could not pass. This changeset introduces GD- and Imagick-specific versions of this method. Props voldemortensen. Fixes #24871. git-svn-id: https://develop.svn.wordpress.org/trunk@30549 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
951409119e
commit
7c8c493a9c
@ -36,13 +36,13 @@ abstract class WP_Image_UnitTestCase extends WP_UnitTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper assertion for testing alpha on images
|
* Helper assertion for testing alpha on images using GD library
|
||||||
*
|
*
|
||||||
* @param string $image_path
|
* @param string $image_path
|
||||||
* @param array $point array(x,y)
|
* @param array $point array(x,y)
|
||||||
* @param int $alpha
|
* @param int $alpha
|
||||||
*/
|
*/
|
||||||
protected function assertImageAlphaAtPoint( $image_path, $point, $alpha ) {
|
protected function assertImageAlphaAtPointGD( $image_path, $point, $alpha ) {
|
||||||
$im = imagecreatefrompng( $image_path );
|
$im = imagecreatefrompng( $image_path );
|
||||||
$rgb = imagecolorat( $im, $point[0], $point[1] );
|
$rgb = imagecolorat( $im, $point[0], $point[1] );
|
||||||
|
|
||||||
@ -51,6 +51,20 @@ abstract class WP_Image_UnitTestCase extends WP_UnitTestCase {
|
|||||||
$this->assertEquals( $alpha, $colors['alpha'] );
|
$this->assertEquals( $alpha, $colors['alpha'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper assertion for testing alpha on images using Imagick
|
||||||
|
*
|
||||||
|
* @param string $image_path
|
||||||
|
* @param array $point array(x,y)
|
||||||
|
* @param int $expected
|
||||||
|
*/
|
||||||
|
protected function assertImageAlphaAtPointImagick( $image_path, $point, $expected ) {
|
||||||
|
$im = new Imagick( $image_path );
|
||||||
|
$pixel = $im->getImagePixelColor( $point[0], $point[1] );
|
||||||
|
$color = $pixel->getColorValue( imagick::COLOR_ALPHA );
|
||||||
|
$this->assertEquals( $expected, $color );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper assertion to check actual image dimensions on disk
|
* Helper assertion to check actual image dimensions on disk
|
||||||
*
|
*
|
||||||
|
@ -472,7 +472,7 @@ class Tests_Image_Editor_GD extends WP_Image_UnitTestCase {
|
|||||||
|
|
||||||
$editor->save( $save_to_file );
|
$editor->save( $save_to_file );
|
||||||
|
|
||||||
$this->assertImageAlphaAtPoint( $save_to_file, array( 0,0 ), 127 );
|
$this->assertImageAlphaAtPointGD( $save_to_file, array( 0,0 ), 127 );
|
||||||
|
|
||||||
unlink( $save_to_file );
|
unlink( $save_to_file );
|
||||||
}
|
}
|
||||||
@ -495,7 +495,7 @@ class Tests_Image_Editor_GD extends WP_Image_UnitTestCase {
|
|||||||
|
|
||||||
$editor->save( $save_to_file );
|
$editor->save( $save_to_file );
|
||||||
|
|
||||||
$this->assertImageAlphaAtPoint( $save_to_file, array( 0,0 ), 127 );
|
$this->assertImageAlphaAtPointGD( $save_to_file, array( 0,0 ), 127 );
|
||||||
|
|
||||||
unlink( $save_to_file );
|
unlink( $save_to_file );
|
||||||
}
|
}
|
||||||
|
@ -472,7 +472,11 @@ class Tests_Image_Editor_Imagick extends WP_Image_UnitTestCase {
|
|||||||
|
|
||||||
$editor->save( $save_to_file );
|
$editor->save( $save_to_file );
|
||||||
|
|
||||||
$this->assertImageAlphaAtPoint( $save_to_file, array( 0,0 ), 127 );
|
$im = new Imagick( $save_to_file );
|
||||||
|
$pixel = $im->getImagePixelColor( 0, 0 );
|
||||||
|
$expected = $pixel->getColorValue( imagick::COLOR_ALPHA );
|
||||||
|
|
||||||
|
$this->assertImageAlphaAtPointImagick( $save_to_file, array( 0,0 ), $expected );
|
||||||
|
|
||||||
unlink( $save_to_file );
|
unlink( $save_to_file );
|
||||||
}
|
}
|
||||||
@ -495,7 +499,11 @@ class Tests_Image_Editor_Imagick extends WP_Image_UnitTestCase {
|
|||||||
|
|
||||||
$editor->save( $save_to_file );
|
$editor->save( $save_to_file );
|
||||||
|
|
||||||
$this->assertImageAlphaAtPoint( $save_to_file, array( 0,0 ), 127 );
|
$im = new Imagick( $save_to_file );
|
||||||
|
$pixel = $im->getImagePixelColor( 0, 0 );
|
||||||
|
$expected = $pixel->getColorValue( imagick::COLOR_ALPHA );
|
||||||
|
|
||||||
|
$this->assertImageAlphaAtPointImagick( $save_to_file, array( 0,0 ), $expected );
|
||||||
|
|
||||||
unlink( $save_to_file );
|
unlink( $save_to_file );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user