/** * Installs WordPress for the purpose of the unit-tests * */ error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); $configuration = unserialize($argv[1]); $multisite = !empty($argv[2]) ? $argv[2] : false; // require_once 'vendor/autoload.php'; require_once $configuration['autoload']; if (!empty($multisite)) { wpbrowser_include_patchwork(); Patchwork\redefine('is_multisite', function () { global $_is_multisite; if (empty($_is_multisite)) { return Patchwork\relay(); } return true; }); } if (!empty($configuration['activePlugins'])) { $activePlugins = $configuration['activePlugins']; } else { $activePlugins = []; } printf("\nConfiguration:\n\n%s\n\n", json_encode($configuration, JSON_PRETTY_PRINT)); foreach ($configuration['constants'] as $key => $value) { define($key, $value); } $table_prefix = WP_TESTS_TABLE_PREFIX; define('WP_INSTALLING', true);
/** * Calls the original function or static method with the given arguments * and returns the return value if any. * * @param array $args * * @return mixed */ public static function callOriginal(array $args = null) { return \Patchwork\relay($args); }