/** * Pushes a class and template manifest instance that include tests onto the * top of the loader stacks. */ public static function use_test_manifest() { $flush = true; if (isset($_GET['flush']) && $_GET['flush'] === '0') { $flush = false; } $classManifest = new ClassManifest(BASE_PATH, true, $flush); ClassLoader::instance()->pushManifest($classManifest, false); SapphireTest::set_test_class_manifest($classManifest); ThemeResourceLoader::instance()->addSet('$default', new ThemeManifest(BASE_PATH, project(), true, $flush)); Config::inst()->pushConfigStaticManifest(new ConfigStaticManifest(BASE_PATH, true, $flush)); // Invalidate classname spec since the test manifest will now pull out new subclasses for each internal class // (e.g. Member will now have various subclasses of DataObjects that implement TestOnly) DataObject::reset(); }