#23690 closed enhancement (fixed)
Allow plugin test bootstraps access to tests_add_filter() earlier
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Milestone: | WordPress.org | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Unit Tests | Keywords: | |
| Focuses: | Cc: |
Description (last modified by )
Currently, plugins that have their own unit tests have a bootstrap.php file that looks like this:
<?php
$GLOBALS['wp_tests_options'] = array(
'active_plugins' => array( basename( dirname( dirname( __FILE__ ) ) ) . '/my-plugin.php' ),
);
require getenv( 'WP_TESTS_DIR' ) . '/includes/bootstrap.php';
The problem is that the plugin folder needs to be inside WP_CONTENT_DIR . '/plugins/', which is an artificial requirement.
The bootstrap file could just require() the plugin file themselves and everything will work, *except* for one thing: hooks such as 'plugins_loaded' or 'init'.
With the attached patch, the file could look like this:
<?php
require_once getenv( 'WP_TESTS_DIR' ) . '/includes/functions.php';
tests_add_filter( 'muplugins_loaded', function() {
require __DIR__ . '/../my-plugin.php';
} );
require getenv( 'WP_TESTS_DIR' ) . '/includes/bootstrap.php';
Attachments (1)
Change History (3)
Note: See
TracTickets for help on using
tickets.
In 1232/tests: