PHP code example of jdgrimes / wp-plugin-uninstall-tester
1. Go to this page and download the library: Download jdgrimes/wp-plugin-uninstall-tester library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jdgrimes / wp-plugin-uninstall-tester example snippets
/*
* This needs to go after you .php file.
*/
// Include the uninstall test tools functions.
in_uninstall_tests() ) {
tests_add_filter( 'muplugins_loaded', 'my_plugin_activate' );
}
/*
* This needs to be extends WordPress's WP_UnitTestCase class.
*/
/**
* Test uninstallation.
*/
/**
* Plugin uninstall test case.
*
* Be sure to add "@group uninstall", so that the test will run only as part of the
* uninstall group.
*
* @group uninstall
*/
class My_Plugin_Uninstall_Test extends WP_Plugin_Uninstall_UnitTestCase {
//
// Protected properties.
//
/**
* The full path to the main plugin file.
*
* @type string $plugin_file
*/
protected $plugin_file;
//
// Public methods.
//
/**
* Set up for the tests.
*/
public function setUp() {
// You must set the path to your plugin here.
// This should be the path relative to the plugin directory on the test site.
// You will need to copy or symlink your plugin's folder there if it isn't
// already.
$this->plugin_file = 'my-plugin/my-plugin.php';
// Don't forget to call the parent's setUp(), or the plugin won't get installed.
parent::setUp();
}
/**
* Test installation and uninstallation.
*/
public function test_uninstall() {
global $wpdb;
/*
* First test that the plugin installed itself properly.
*/
// Check that a database table was added.
$this->assertTableExists( $wpdb->prefix . 'myplugin_table' );
// Check that an option was added to the database.
$this->assertEquals( 'default', get_option( 'myplugin_option' ) );
/*
* Now, test that it uninstalls itself properly.
*/
// You must call this to perform uninstallation.
$this->uninstall();
// Check that the table was deleted.
$this->assertTableNotExists( $wpdb->prefix . 'myplugin_table' );
// Check that all options with a prefix was deleted.
$this->assertNoOptionsWithPrefix( 'myplugin' );
// Same for usermeta and comment meta.
$this->assertNoUserMetaWithPrefix( 'myplugin' );
$this->assertNoCommentMetaWithPrefix( 'myplugin' );
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.