コード例 #1
0
 /**
  * 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;
 }