forked from WordPress/wordpress-develop
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tests: add a dedicated test file for the wpdb::_real_escape() method
- Loading branch information
Showing
1 changed file
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
<?php | ||
|
||
/** | ||
* Test WPDB _real_escape() method. | ||
* | ||
* @group wpdb | ||
* @covers wpdb::_real_escape | ||
*/ | ||
class Tests_DB_RealEscape extends WP_UnitTestCase { | ||
|
||
/** | ||
* Test that various types of input passed to `wpdb::_real_escape()` are handled correctly. | ||
* | ||
* Note: this test does not test the actual escaping or other logic in the function. | ||
* It just and only tests and documents how the function handles verious input types. | ||
* | ||
* @ticket 53635 | ||
* | ||
* @dataProvider data_real_escape_input_type_handling | ||
* | ||
* @param mixed $input The input to escape. | ||
* @param string $expected The expected function output. | ||
*/ | ||
function test_real_escape_input_type_handling( $input, $expected ) { | ||
global $wpdb; | ||
|
||
$this->assertSame( $expected, $wpdb->_real_escape( $input ) ); | ||
} | ||
|
||
/** | ||
* Data provider. | ||
* | ||
* @var array | ||
*/ | ||
public function data_real_escape_input_type_handling() { | ||
return array( | ||
'null' => array( | ||
'input' => null, | ||
'expected' => '', | ||
), | ||
'boolean false' => array( | ||
'input' => false, | ||
'expected' => '', | ||
), | ||
'boolean true' => array( | ||
'input' => true, | ||
'expected' => '1', | ||
), | ||
'integer zero' => array( | ||
'input' => 0, | ||
'expected' => '0', | ||
), | ||
'negative integer' => array( | ||
'input' => -1327, | ||
'expected' => '-1327', | ||
), | ||
'positive integer' => array( | ||
'input' => 47896, | ||
'expected' => '47896', | ||
), | ||
'float zero' => array( | ||
'input' => 0.0, | ||
'expected' => '0', | ||
), | ||
'positive float' => array( | ||
'input' => 25.52, | ||
'expected' => '25.52', | ||
), | ||
'simple string' => array( | ||
'input' => 'foobar', | ||
'expected' => 'foobar', | ||
), | ||
'empty array' => array( | ||
'input' => array(), | ||
'expected' => '', | ||
), | ||
'non-empty array' => array( | ||
'input' => array( 1, 2, 3 ), | ||
'expected' => '', | ||
), | ||
'simple object' => array( | ||
'input' => new stdClass(), | ||
'expected' => '', | ||
), | ||
); | ||
} | ||
} |