mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-13 05:10:18 +00:00
Move PHPUnit tests into a tests/phpunit directory.
wp-tests-config.php can/should reside in the root of a develop checkout. `phpunit` should be run from the root. see #25088. git-svn-id: https://develop.svn.wordpress.org/trunk@25165 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Test cases for deprecated functions, arguments, and files
|
||||
*
|
||||
* @package WordPress
|
||||
* @subpackage Unit Tests
|
||||
* @since 3.5
|
||||
* @group deprecated
|
||||
*/
|
||||
class Test_Functions_Deprecated extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* List of functions that have been passed through _deprecated_function()
|
||||
* @var string[]
|
||||
*/
|
||||
protected $_deprecated_functions = array();
|
||||
|
||||
/**
|
||||
* List of arguments that have been passed through _deprecated_argument()
|
||||
* @var string[]
|
||||
*/
|
||||
protected $_deprecated_arguments = array();
|
||||
|
||||
/**
|
||||
* List of files that have been passed through _deprecated_file()
|
||||
* @var string[]
|
||||
*/
|
||||
protected $_deprecated_files = array();
|
||||
|
||||
/**
|
||||
* Set up the test fixture
|
||||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->_deprecated_functions = array();
|
||||
$this->_deprecated_arguments = array();
|
||||
$this->_deprecated_files = array();
|
||||
add_action( 'deprecated_function_run' , array( $this, 'deprecated_function' ), 10, 3 );
|
||||
add_action( 'deprecated_function_trigger_error', '__return_false' );
|
||||
add_action( 'deprecated_argument_run' , array( $this, 'deprecated_argument' ), 10, 3 );
|
||||
add_action( 'deprecated_argument_trigger_error', '__return_false' );
|
||||
add_action( 'deprecated_file_included' , array( $this, 'deprecated_file' ), 10, 4 );
|
||||
add_action( 'deprecated_file_trigger_error', '__return_false' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tear down the test fixture
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
remove_action( 'deprecated_function_run' , array( $this, 'deprecated_function' ), 10, 3 );
|
||||
remove_action( 'deprecated_function_trigger_error', '__return_false' );
|
||||
remove_action( 'deprecated_argument_run' , array( $this, 'deprecated_argument' ), 10, 3 );
|
||||
remove_action( 'deprecated_argument_trigger_error', '__return_false' );
|
||||
remove_action( 'deprecated_file_included' , array( $this, 'deprecated_argument' ), 10, 4 );
|
||||
remove_action( 'deprecated_file_trigger_error', '__return_false' );
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch functions that have passed through _deprecated_function
|
||||
* @param string $function
|
||||
* @param string $replacement
|
||||
* @param float $version
|
||||
* @return void
|
||||
*/
|
||||
public function deprecated_function( $function, $replacement, $version ) {
|
||||
$this->_deprecated_functions[] = array(
|
||||
'function' => $function,
|
||||
'replacement' => $replacement,
|
||||
'version' => $version
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch arguments that have passed through _deprecated_argument
|
||||
* @param string $argument
|
||||
* @param string $message
|
||||
* @param float $version
|
||||
* @return void
|
||||
*/
|
||||
public function deprecated_argument( $argument, $message, $version ) {
|
||||
$this->_deprecated_arguments[] = array(
|
||||
'argument' => $argument,
|
||||
'message' => $message,
|
||||
'version' => $version
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch arguments that have passed through _deprecated_argument
|
||||
* @param string $argument
|
||||
* @param string $message
|
||||
* @param float $version
|
||||
* @return void
|
||||
*/
|
||||
public function deprecated_file( $file, $version, $replacement, $message ) {
|
||||
$this->_deprecated_files[] = array(
|
||||
'file' => $file,
|
||||
'version' => $version,
|
||||
'replacement' => $replacement,
|
||||
'message' => $message
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if something was deprecated
|
||||
* @param string $type argument|function|file
|
||||
* @param string $name
|
||||
* @return array|false
|
||||
*/
|
||||
protected function was_deprecated( $type, $name ) {
|
||||
switch ( $type ) {
|
||||
case 'argument' :
|
||||
$search = $this->_deprecated_arguments;
|
||||
$key = 'argument';
|
||||
break;
|
||||
case 'function' :
|
||||
$search = $this->_deprecated_functions;
|
||||
$key = 'function';
|
||||
break;
|
||||
default :
|
||||
$search = $this->_deprecated_files;
|
||||
$key = 'file';
|
||||
}
|
||||
foreach ( $search as $v ) {
|
||||
if ( $name == $v[$key] ) {
|
||||
return $v;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that wp_save_image_file has a deprecated argument when passed a GD resource
|
||||
* @ticket 6821
|
||||
*/
|
||||
public function test_wp_save_image_file_deprecated_with_gd_resource() {
|
||||
if ( !function_exists( 'imagejpeg' ) )
|
||||
$this->markTestSkipped( 'jpeg support unavailable' );
|
||||
|
||||
// Call wp_save_image_file
|
||||
include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
|
||||
$file = wp_tempnam();
|
||||
$img = imagecreatefromjpeg( DIR_TESTDATA . '/images/canola.jpg' );
|
||||
wp_save_image_file( $file, $img, 'image/jpeg', 1 );
|
||||
imagedestroy( $img );
|
||||
@unlink($file);
|
||||
|
||||
// Check if the arg was deprecated
|
||||
$check = $this->was_deprecated( 'argument', 'wp_save_image_file' );
|
||||
$this->assertNotEmpty( $check );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that wp_save_image_file doesn't have a deprecated argument when passed a WP_Image_Editor
|
||||
* @ticket 6821
|
||||
*/
|
||||
public function test_wp_save_image_file_not_deprecated_with_wp_image_editor() {
|
||||
if ( !function_exists( 'imagejpeg' ) )
|
||||
$this->markTestSkipped( 'jpeg support unavailable' );
|
||||
|
||||
// Call wp_save_image_file
|
||||
include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
|
||||
$file = wp_tempnam();
|
||||
$img = wp_get_image_editor( DIR_TESTDATA . '/images/canola.jpg' );
|
||||
wp_save_image_file( $file, $img, 'image/jpeg', 1 );
|
||||
unset( $img );
|
||||
@unlink($file);
|
||||
|
||||
// Check if the arg was deprecated
|
||||
$check = $this->was_deprecated( 'argument', 'wp_save_image_file' );
|
||||
$this->assertFalse( $check );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user