Build/Test Tools: Replace assertInternalType() usage in unit tests.

The `assertInternalType()` and `assertNotInternalType()` methods are deprecated in PHPUnit 8 and removed in PHPUnit 9.

While WordPress test suite currently only supports PHPUnit up to 7.5.x, this allows us to switch to newer assertions ahead of adding full support for PHPUnit 8+.

These methods introduced in PHPUnit 7.5 should be used as an alternative:

* `assertIsArray()`
* `assertIsBool()`
* `assertIsFloat()`
* `assertIsInt()`
* `assertIsNumeric()`
* `assertIsObject()`
* `assertIsResource()`
* `assertIsString()`
* `assertIsScalar()`
* `assertIsCallable()`
* `assertIsIterable()`
* `assertIsNotArray()`
* `assertIsNotBool()`
* `assertIsNotFloat()`
* `assertIsNotInt()`
* `assertIsNotNumeric()`
* `assertIsNotObject()`
* `assertIsNotResource()`
* `assertIsNotString()`
* `assertIsNotScalar()`
* `assertIsNotCallable()`
* `assertIsNotIterable()`

As WordPress currently uses PHPUnit 5.7.x to run tests on PHP 5.6, polyfills for these methods are now added to the `WP_UnitTestCase` class for PHPUnit < 7.5.

Props pbearne, jrf, dd32, SergeyBiryukov.
Fixes #53491. See #46149.

git-svn-id: https://develop.svn.wordpress.org/trunk@51331 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2021-07-05 17:21:53 +00:00
parent fee45f935c
commit bca693b190
104 changed files with 884 additions and 535 deletions

View File

@@ -97,29 +97,29 @@ class Tests_Term_GetTerm extends WP_UnitTestCase {
public function test_output_object() {
$t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
$this->assertInternalType( 'object', get_term( $t, 'wptests_tax', OBJECT ) );
$this->assertIsObject( get_term( $t, 'wptests_tax', OBJECT ) );
}
public function test_output_array_a() {
$t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
$term = get_term( $t, 'wptests_tax', ARRAY_A );
$this->assertInternalType( 'array', $term );
$this->assertIsArray( $term );
$this->assertTrue( isset( $term['term_id'] ) );
}
public function test_output_array_n() {
$t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
$term = get_term( $t, 'wptests_tax', ARRAY_N );
$this->assertInternalType( 'array', $term );
$this->assertIsArray( $term );
$this->assertFalse( isset( $term['term_id'] ) );
foreach ( $term as $k => $v ) {
$this->assertInternalType( 'integer', $k );
$this->assertIsInt( $k );
}
}
public function test_output_should_fall_back_to_object_for_invalid_input() {
$t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
$this->assertInternalType( 'object', get_term( $t, 'wptests_tax', 'foo' ) );
$this->assertIsObject( get_term( $t, 'wptests_tax', 'foo' ) );
}
/**
@@ -140,11 +140,11 @@ class Tests_Term_GetTerm extends WP_UnitTestCase {
$found = get_term( $term_data, '', OBJECT, $context );
$this->assertInstanceOf( 'WP_Term', $found );
$this->assertInternalType( 'int', $found->term_id );
$this->assertInternalType( 'int', $found->term_taxonomy_id );
$this->assertInternalType( 'int', $found->parent );
$this->assertInternalType( 'int', $found->count );
$this->assertInternalType( 'int', $found->term_group );
$this->assertIsInt( $found->term_id );
$this->assertIsInt( $found->term_taxonomy_id );
$this->assertIsInt( $found->parent );
$this->assertIsInt( $found->count );
$this->assertIsInt( $found->term_group );
}
}