mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Tests: Refactor Tests_Image_Functions::test_is_displayable_image_positive() to use a data provider.
Using a data provider has a number of advantages: 1. If the first test case fails, it won't prevent the other test cases from being tested. 2. While the assertion used in this test method ''does'' have a "failure message" (👍), the output from PHPUnit itself will already be more descriptive in case of failure when using a data provider. 3. Using named test cases in the data provider will also make the `--testdox` output much more descriptive and informative. The actual cases being tested, or the test itself have not been changed. Includes: * Changing the conditional addition of the `.ico` file type to be unconditional, it was only needed for PHP < 5.3. * Adding a `@covers` annotation. Follow-up to [184/tests], [42780], [53495], [53497], [53521], [53523], [53524]. Props jrf. See #55652. git-svn-id: https://develop.svn.wordpress.org/trunk@53525 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e7a9d91020
commit
2b9472a669
@ -138,12 +138,32 @@ class Tests_Image_Functions extends WP_UnitTestCase {
|
||||
return $this->text_array_to_dataprovider( $files );
|
||||
}
|
||||
|
||||
public function test_is_displayable_image_positive() {
|
||||
/**
|
||||
* @dataProvider data_is_displayable_image_positive
|
||||
*
|
||||
* @covers ::file_is_displayable_image
|
||||
*
|
||||
* @param string $file File name.
|
||||
*/
|
||||
public function test_is_displayable_image_positive( $file ) {
|
||||
$this->assertTrue(
|
||||
file_is_displayable_image( DIR_TESTDATA . '/images/' . $file ),
|
||||
"file_is_displayable_image( '$file' ) should return true"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function data_is_displayable_image_positive() {
|
||||
// These are all usable in typical web browsers.
|
||||
$files = array(
|
||||
'test-image.gif',
|
||||
'test-image.png',
|
||||
'test-image.jpg',
|
||||
'test-image.ico',
|
||||
);
|
||||
|
||||
// Add WebP images if the image editor supports them.
|
||||
@ -151,25 +171,13 @@ class Tests_Image_Functions extends WP_UnitTestCase {
|
||||
$editor = wp_get_image_editor( $file );
|
||||
|
||||
if ( ! is_wp_error( $editor ) && $editor->supports_mime_type( 'image/webp' ) ) {
|
||||
$files = array_merge(
|
||||
$files,
|
||||
array(
|
||||
'webp-animated.webp',
|
||||
'webp-lossless.webp',
|
||||
'webp-lossy.webp',
|
||||
'webp-transparent.webp',
|
||||
)
|
||||
);
|
||||
$files[] = 'webp-animated.webp';
|
||||
$files[] = 'webp-lossless.webp';
|
||||
$files[] = 'webp-lossy.webp';
|
||||
$files[] = 'webp-transparent.webp';
|
||||
}
|
||||
|
||||
// IMAGETYPE_ICO is only defined in PHP 5.3+.
|
||||
if ( defined( 'IMAGETYPE_ICO' ) ) {
|
||||
$files[] = 'test-image.ico';
|
||||
}
|
||||
|
||||
foreach ( $files as $file ) {
|
||||
$this->assertTrue( file_is_displayable_image( DIR_TESTDATA . '/images/' . $file ), "file_is_valid_image($file) should return true" );
|
||||
}
|
||||
return $this->text_array_to_dataprovider( $files );
|
||||
}
|
||||
|
||||
public function test_is_displayable_image_negative() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user