Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.

This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

git-svn-id: https://develop.svn.wordpress.org/trunk@48937 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2020-09-02 00:35:36 +00:00
parent ba7c6a2d5f
commit 164b22cf6a
426 changed files with 7959 additions and 7949 deletions
+36 -36
View File
@@ -148,7 +148,7 @@ class Tests_DB extends WP_UnitTestCase {
);
foreach ( $inputs as $key => $input ) {
$this->assertEquals( $expected[ $key ], $wpdb->esc_like( $input ) );
$this->assertSame( $expected[ $key ], $wpdb->esc_like( $input ) );
}
}
@@ -167,7 +167,7 @@ class Tests_DB extends WP_UnitTestCase {
*/
function test_like_query( $data, $like, $result ) {
global $wpdb;
return $this->assertEquals( $result, $wpdb->get_var( $wpdb->prepare( 'SELECT %s LIKE %s', $data, $wpdb->esc_like( $like ) ) ) );
return $this->assertSame( $result, $wpdb->get_var( $wpdb->prepare( 'SELECT %s LIKE %s', $data, $wpdb->esc_like( $like ) ) ) );
}
function data_like_query() {
@@ -253,7 +253,7 @@ class Tests_DB extends WP_UnitTestCase {
$wpdb->col_meta = $new_meta;
$this->assertNotEquals( $col_meta, $new_meta );
$this->assertEquals( $col_meta, $wpdb->col_meta );
$this->assertSame( $col_meta, $wpdb->col_meta );
}
/**
@@ -281,7 +281,7 @@ class Tests_DB extends WP_UnitTestCase {
$this->assertContains( $wpdb->placeholder_escape(), $sql );
$sql = $wpdb->remove_placeholder_escape( $sql );
$this->assertEquals( "UPDATE test_table SET string_column = '%f is a float, %d is an int 3, %s is a string', field = '4'", $sql );
$this->assertSame( "UPDATE test_table SET string_column = '%f is a float, %d is an int 3, %s is a string', field = '4'", $sql );
}
@@ -367,14 +367,14 @@ class Tests_DB extends WP_UnitTestCase {
// This, obviously, is an incorrect prepare.
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = $id", $id );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 0", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 0", $prepared );
}
function test_prepare_sprintf() {
global $wpdb;
$prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, 'admin' );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
}
/**
@@ -385,18 +385,18 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, array( 'admin' ) );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1 ), 'admin' );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
}
function test_prepare_vsprintf() {
global $wpdb;
$prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, 'admin' ) );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
}
/**
@@ -407,11 +407,11 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, array( 'admin' ) ) );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( array( 1 ), 'admin' ) );
$this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
$this->assertSame( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
}
/**
@@ -490,7 +490,7 @@ class Tests_DB extends WP_UnitTestCase {
$str = $wpdb->get_caller();
$calls = explode( ', ', $str );
$called = join( '->', array( __CLASS__, __FUNCTION__ ) );
$this->assertEquals( $called, end( $calls ) );
$this->assertSame( $called, end( $calls ) );
}
function test_has_cap() {
@@ -501,11 +501,11 @@ class Tests_DB extends WP_UnitTestCase {
$this->assertTrue( $wpdb->has_cap( 'COLLATION' ) );
$this->assertTrue( $wpdb->has_cap( 'GROUP_CONCAT' ) );
$this->assertTrue( $wpdb->has_cap( 'SUBQUERIES' ) );
$this->assertEquals(
$this->assertSame(
version_compare( $wpdb->db_version(), '5.0.7', '>=' ),
$wpdb->has_cap( 'set_charset' )
);
$this->assertEquals(
$this->assertSame(
version_compare( $wpdb->db_version(), '5.0.7', '>=' ),
$wpdb->has_cap( 'SET_CHARSET' )
);
@@ -548,29 +548,29 @@ class Tests_DB extends WP_UnitTestCase {
$wpdb->get_results( "SELECT ID FROM $wpdb->users" );
$this->assertEquals( array( 'ID' ), $wpdb->get_col_info() );
$this->assertEquals( array( $wpdb->users ), $wpdb->get_col_info( 'table' ) );
$this->assertEquals( $wpdb->users, $wpdb->get_col_info( 'table', 0 ) );
$this->assertSame( array( 'ID' ), $wpdb->get_col_info() );
$this->assertSame( array( $wpdb->users ), $wpdb->get_col_info( 'table' ) );
$this->assertSame( $wpdb->users, $wpdb->get_col_info( 'table', 0 ) );
}
function test_query_and_delete() {
global $wpdb;
$rows = $wpdb->query( "INSERT INTO $wpdb->users (display_name) VALUES ('Walter Sobchak')" );
$this->assertEquals( 1, $rows );
$this->assertSame( 1, $rows );
$this->assertNotEmpty( $wpdb->insert_id );
$d_rows = $wpdb->delete( $wpdb->users, array( 'ID' => $wpdb->insert_id ) );
$this->assertEquals( 1, $d_rows );
$this->assertSame( 1, $d_rows );
}
function test_get_row() {
global $wpdb;
$rows = $wpdb->query( "INSERT INTO $wpdb->users (display_name) VALUES ('Walter Sobchak')" );
$this->assertEquals( 1, $rows );
$this->assertSame( 1, $rows );
$this->assertNotEmpty( $wpdb->insert_id );
$row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE ID = %d", $wpdb->insert_id ) );
$this->assertInternalType( 'object', $row );
$this->assertEquals( 'Walter Sobchak', $row->display_name );
$this->assertSame( 'Walter Sobchak', $row->display_name );
}
/**
@@ -667,7 +667,7 @@ class Tests_DB extends WP_UnitTestCase {
function test_replace() {
global $wpdb;
$rows1 = $wpdb->insert( $wpdb->users, array( 'display_name' => 'Walter Sobchak' ) );
$this->assertEquals( 1, $rows1 );
$this->assertSame( 1, $rows1 );
$this->assertNotEmpty( $wpdb->insert_id );
$last = $wpdb->insert_id;
@@ -678,13 +678,13 @@ class Tests_DB extends WP_UnitTestCase {
'display_name' => 'Walter Replace Sobchak',
)
);
$this->assertEquals( 2, $rows2 );
$this->assertSame( 2, $rows2 );
$this->assertNotEmpty( $wpdb->insert_id );
$this->assertEquals( $last, $wpdb->insert_id );
$this->assertSame( $last, $wpdb->insert_id );
$row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE ID = %d", $last ) );
$this->assertEquals( 'Walter Replace Sobchak', $row->display_name );
$this->assertSame( 'Walter Replace Sobchak', $row->display_name );
}
/**
@@ -699,13 +699,13 @@ class Tests_DB extends WP_UnitTestCase {
$expected1 = "UPDATE `{$wpdb->posts}` SET `post_name` = 'burrito' WHERE ";
$this->assertNotEmpty( $wpdb->last_error );
$this->assertEquals( $expected1, $wpdb->last_query );
$this->assertSame( $expected1, $wpdb->last_query );
$wpdb->update( $wpdb->posts, array( 'post_name' => 'burrito' ), array( 'post_status' => 'taco' ) );
$expected2 = "UPDATE `{$wpdb->posts}` SET `post_name` = 'burrito' WHERE `post_status` = 'taco'";
$this->assertEmpty( $wpdb->last_error );
$this->assertEquals( $expected2, $wpdb->last_query );
$this->assertSame( $expected2, $wpdb->last_query );
$wpdb->suppress_errors( $suppress );
}
@@ -875,7 +875,7 @@ class Tests_DB extends WP_UnitTestCase {
* @ticket 21212
*/
function test_get_table_from_query( $query, $table ) {
$this->assertEquals( $table, self::$_wpdb->get_table_from_query( $query ) );
$this->assertSame( $table, self::$_wpdb->get_table_from_query( $query ) );
}
function data_get_table_from_query_false() {
@@ -917,7 +917,7 @@ class Tests_DB extends WP_UnitTestCase {
* @ticket 38751
*/
function test_get_escaped_table_from_show_query( $query, $table ) {
$this->assertEquals( $table, self::$_wpdb->get_table_from_query( $query ) );
$this->assertSame( $table, self::$_wpdb->get_table_from_query( $query ) );
}
/**
@@ -1084,7 +1084,7 @@ class Tests_DB extends WP_UnitTestCase {
$charset = self::$_wpdb->get_table_charset( 'some_table' );
remove_filter( 'pre_get_table_charset', array( $this, 'filter_pre_get_table_charset' ), 10 );
$this->assertEquals( $charset, 'fake_charset' );
$this->assertSame( $charset, 'fake_charset' );
}
function filter_pre_get_table_charset( $charset, $table ) {
return 'fake_charset';
@@ -1098,7 +1098,7 @@ class Tests_DB extends WP_UnitTestCase {
$charset = self::$_wpdb->get_col_charset( 'some_table', 'some_col' );
remove_filter( 'pre_get_col_charset', array( $this, 'filter_pre_get_col_charset' ), 10 );
$this->assertEquals( $charset, 'fake_col_charset' );
$this->assertSame( $charset, 'fake_col_charset' );
}
function filter_pre_get_col_charset( $charset, $table, $column ) {
return 'fake_col_charset';
@@ -1366,7 +1366,7 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.DB.PreparedSQL
$sql = $wpdb->prepare( $sql, ...$values );
$this->assertEquals( $expected, $sql );
$this->assertSame( $expected, $sql );
}
/**
@@ -1385,7 +1385,7 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.DB.PreparedSQL
$sql = $wpdb->prepare( $sql, $values );
$this->assertEquals( $expected, $sql );
$this->assertSame( $expected, $sql );
}
function data_prepare_with_placeholders() {
@@ -1580,7 +1580,7 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
$actual = $wpdb->prepare( $sql, $values );
$this->assertEquals( $expected, $actual );
$this->assertSame( $expected, $actual );
}
function data_escape_and_prepare() {
@@ -1668,7 +1668,7 @@ class Tests_DB extends WP_UnitTestCase {
$wpdb->query( "DROP TABLE {$wpdb->prefix}test_placeholder" );
$this->assertNotContains( '%s', $sql );
$this->assertEquals( $value, $actual );
$this->assertSame( $value, $actual );
}
function test_esc_sql_with_unsupported_placeholder_type() {
@@ -1678,7 +1678,7 @@ class Tests_DB extends WP_UnitTestCase {
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$sql = $wpdb->prepare( " $sql %s ", 'foo' );
$this->assertEquals( " 'foo' {$wpdb->placeholder_escape()}1\$c 'foo' ", $sql );
$this->assertSame( " 'foo' {$wpdb->placeholder_escape()}1\$c 'foo' ", $sql );
}
/**