-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbootstrap.php
More file actions
60 lines (47 loc) · 2.01 KB
/
bootstrap.php
File metadata and controls
60 lines (47 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
use Wporg\TranslationEvents\Upgrade;
$_tests_dir = getenv( 'WP_TESTS_DIR' );
if ( ! $_tests_dir ) {
$_tests_dir = rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress-tests-lib';
}
function _glotpress_path( string $path ): string {
$plugins_dir = dirname( __DIR__, 2 );
// GlotPress may be installed as 'glotpress' or 'GlotPress' depending on the environment.
foreach ( array( 'glotpress', 'GlotPress' ) as $dir_name ) {
if ( is_dir( $plugins_dir . '/' . $dir_name ) ) {
return $plugins_dir . '/' . $dir_name . '/' . $path;
}
}
// Fallback to lowercase.
return $plugins_dir . '/glotpress/' . $path;
}
// Forward custom PHPUnit Polyfills configuration to PHPUnit bootstrap file.
$_phpunit_polyfills_path = getenv( 'WP_TESTS_PHPUNIT_POLYFILLS_PATH' );
if ( false !== $_phpunit_polyfills_path ) {
define( 'WP_TESTS_PHPUNIT_POLYFILLS_PATH', $_phpunit_polyfills_path );
}
if ( ! file_exists( "$_tests_dir/includes/functions.php" ) ) {
echo "Could not find $_tests_dir/includes/functions.php, have you run bin/install-wp-tests.sh ?" . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
exit( 1 );
}
// Give access to tests_add_filter() function.
require_once "$_tests_dir/includes/functions.php";
/**
* Manually load the plugin being tested.
*/
function _manually_load_plugin() {
require_once _glotpress_path( '/tests/phpunit/includes/loader.php' );
require_once dirname( __DIR__ ) . '/wporg-gp-translation-events.php';
Upgrade::upgrade_if_needed();
}
tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' );
global $wp_tests_options;
$wp_tests_options['permalink_structure'] = '/%postname%';
// Start up the WP testing environment.
require "$_tests_dir/includes/bootstrap.php";
// Require GlotPress test code.
require_once _glotpress_path( '/tests/phpunit/lib/testcase.php' );
require_once _glotpress_path( '/tests/phpunit/lib/testcase-route.php' );
require_once _glotpress_path( '/tests/phpunit/lib/testcase-request.php' );
// Require our own test code.
require_once __DIR__ . '/base-test.php';