/** * A method to set up the environment based on * the layer the test/s is/are in. * * @param string $layer The layer the test/s is/are in. * @param bool $keepDatabase True if the dabase needs to be preserved. */ function setupEnv($layer, $keepDatabase = false) { if (is_null($layer)) { $layer = $_GET['layer']; } $type = $GLOBALS['_MAX']['TEST']['test_type']; $envType = $GLOBALS['_MAX']['TEST'][$type . '_layers'][$layer][1]; // Ensure the config file is fresh TestEnv::restoreConfig(); // Tear down the database, if needed if (!$keepDatabase) { TestEnv::teardownDB(); } TestEnv::backupPluginSchemaFiles(); // Setup the database, if needed if ($envType == DB_NO_TABLES) { TestEnv::setupDB($keepDatabase); } elseif ($envType == DB_WITH_TABLES) { TestEnv::setupDB($keepDatabase); TestEnv::setupCoreTables(); } elseif ($envType == DB_WITH_DATA) { TestEnv::setupDB($keepDatabase); TestEnv::setupCoreTables(); TestEnv::setupDefaultData(); } // Store the layer in a global variable, so the environment // can be completely re-built during tests using the // TestEnv::restoreEnv() method $GLOBALS['_MAX']['TEST']['layerEnv'] = $layer; }