﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
23690	Allow plugin test bootstraps access to tests_add_filter() earlier	scribu	scribu	"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';
}}}"	enhancement	closed	normal	WordPress.org	Unit Tests		normal	fixed		
