Remove non-built-in post statuses during each unit test teardown.
See #29167. git-svn-id: https://develop.svn.wordpress.org/trunk@31046 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
2003fcae83
commit
04eef529b0
@ -47,6 +47,7 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
|
||||
if ( defined( 'WP_RUN_CORE_TESTS' ) && WP_RUN_CORE_TESTS ) {
|
||||
$this->reset_post_types();
|
||||
$this->reset_taxonomies();
|
||||
$this->reset_post_statuses();
|
||||
}
|
||||
|
||||
$this->start_transaction();
|
||||
@ -107,6 +108,15 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
|
||||
create_initial_taxonomies();
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister non-built-in post statuses.
|
||||
*/
|
||||
protected function reset_post_statuses() {
|
||||
foreach ( get_post_stati( array( '_builtin' => false ) ) as $post_status ) {
|
||||
_unregister_post_status( $post_status );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the action and filter-related globals so they can be restored later.
|
||||
*
|
||||
|
@ -331,6 +331,17 @@ function _unregister_taxonomy( $taxonomy_name ) {
|
||||
unset( $GLOBALS['wp_taxonomies'][$taxonomy_name] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a post status.
|
||||
*
|
||||
* @since 4.2.0
|
||||
*
|
||||
* @param string $status
|
||||
*/
|
||||
function _unregister_post_status( $status ) {
|
||||
unset( $GLOBALS['wp_post_statuses'][ $status ] );
|
||||
}
|
||||
|
||||
function _cleanup_query_vars() {
|
||||
// clean out globals to stop them polluting wp and wp_query
|
||||
foreach ( $GLOBALS['wp']->public_query_vars as $v )
|
||||
|
@ -159,4 +159,13 @@ class Tests_TestHelpers extends WP_UnitTestCase {
|
||||
$this->assertEqualSetsWithIndex( $expected, $actual );
|
||||
}
|
||||
}
|
||||
|
||||
public function test__unregister_post_status() {
|
||||
register_post_status( 'foo' );
|
||||
_unregister_post_status( 'foo' );
|
||||
|
||||
$stati = get_post_stati();
|
||||
|
||||
$this->assertFalse( isset( $stati['foo'] ) );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user