Back up and restore dropins during get_dropins()
tests.
This change ensures that the `get_dropins()` tests don't detect any actual dropins that you might be running on your develop.wordpress installation. Props valendesigns. Fixes #30860. git-svn-id: https://develop.svn.wordpress.org/trunk@31009 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
25e332e473
commit
be2ea9b9f9
@ -224,13 +224,20 @@ class Tests_Admin_includesPlugin extends WP_UnitTestCase {
|
|||||||
* @covers ::get_dropins
|
* @covers ::get_dropins
|
||||||
*/
|
*/
|
||||||
public function test_get_dropins_empty() {
|
public function test_get_dropins_empty() {
|
||||||
|
$this->_back_up_drop_ins();
|
||||||
|
|
||||||
$this->assertEquals( array(), get_dropins() );
|
$this->assertEquals( array(), get_dropins() );
|
||||||
|
|
||||||
|
// Clean up.
|
||||||
|
$this->_restore_drop_ins();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers ::get_dropins
|
* @covers ::get_dropins
|
||||||
*/
|
*/
|
||||||
public function test_get_dropins_not_empty() {
|
public function test_get_dropins_not_empty() {
|
||||||
|
$this->_back_up_drop_ins();
|
||||||
|
|
||||||
$p1 = $this->_create_plugin( "<?php\n//Test", 'advanced-cache.php', WP_CONTENT_DIR );
|
$p1 = $this->_create_plugin( "<?php\n//Test", 'advanced-cache.php', WP_CONTENT_DIR );
|
||||||
$p2 = $this->_create_plugin( "<?php\n//Test", 'not-a-dropin.php', WP_CONTENT_DIR );
|
$p2 = $this->_create_plugin( "<?php\n//Test", 'not-a-dropin.php', WP_CONTENT_DIR );
|
||||||
|
|
||||||
@ -239,6 +246,9 @@ class Tests_Admin_includesPlugin extends WP_UnitTestCase {
|
|||||||
|
|
||||||
unlink( $p1[1] );
|
unlink( $p1[1] );
|
||||||
unlink( $p2[1] );
|
unlink( $p2[1] );
|
||||||
|
|
||||||
|
// Clean up.
|
||||||
|
$this->_restore_drop_ins();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -415,4 +425,45 @@ class Tests_Admin_includesPlugin extends WP_UnitTestCase {
|
|||||||
rmdir( $mu_bu_dir );
|
rmdir( $mu_bu_dir );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move existing drop-ins to wp-content/drop-ins-backup.
|
||||||
|
*
|
||||||
|
* @since 4.2.0
|
||||||
|
*
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
private function _back_up_drop_ins() {
|
||||||
|
$di_bu_dir = WP_CONTENT_DIR . '/drop-ins-backup';
|
||||||
|
if ( ! is_dir( $di_bu_dir ) ) {
|
||||||
|
mkdir( $di_bu_dir );
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach( _get_dropins() as $file_to_move => $v ) {
|
||||||
|
if ( file_exists( WP_CONTENT_DIR . '/' . $file_to_move ) ) {
|
||||||
|
rename( WP_CONTENT_DIR . '/' . $file_to_move, $di_bu_dir . '/' . $file_to_move );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore backed-up drop-ins.
|
||||||
|
*
|
||||||
|
* @since 4.2.0
|
||||||
|
*
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
private function _restore_drop_ins() {
|
||||||
|
$di_bu_dir = WP_CONTENT_DIR . '/drop-ins-backup';
|
||||||
|
|
||||||
|
foreach( _get_dropins() as $file_to_move => $v ) {
|
||||||
|
if ( file_exists( $di_bu_dir . '/' . $file_to_move ) ) {
|
||||||
|
rename( $di_bu_dir . '/' . $file_to_move, WP_CONTENT_DIR . '/' . $file_to_move );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( is_dir( $di_bu_dir ) ) {
|
||||||
|
rmdir( $di_bu_dir );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user