$paths = $projConfiguration->getPluginPaths();
$t->is($paths[0], realpath(dirname(__FILE__) . '/../../lib/plugins/sfDoctrineGuardPlugin'), 'The plugin path of the core plugin is inside the lib/plugins dir of sympal');
$t->info('  2.4 - Disable a core plugin');
$enabler->disableSympalCorePlugins(array('sfDoctrineGuardPlugin'));
$t->is(count($projConfiguration->getPlugins()), 0, '->disableSympalCorePlugins() disables the core plugin');
$corePluginsCount = count(sfSympalPluginConfiguration::$corePlugins);
$installedPluginsCount = 3;
// in the test project's plugin directory
$otherPluginsCount = 2;
// sfSympalPlugin + sfDoctrinePlugin
$totalPluginsCount = $corePluginsCount + $installedPluginsCount + $otherPluginsCount;
$enabler->enableSympalPlugins();
$enablerApp1->enableSympalPlugins();
$enablerApp2->enableSympalPlugins();
$t->is(count($projConfiguration->getPlugins()), $totalPluginsCount, '->enableSympalPlugins() enables core plugins + anything in the plugins directory');
$t->is(count($appEnabledConfiguration->getPlugins()), $totalPluginsCount, '->enableSympalPlugins() enables core plugins + anything in the plugins directory');
$t->is(count($appDisabledConfiguration->getPlugins()), 0, '->enableSympalPlugins() enables no plugins if sympal is disabled for the application');
$t->info('  2.5 - Test overrideSympalPlugin()');
$projConfiguration->disablePlugins($projConfiguration->getPlugins());
$enabler->enableSympalCorePlugins(array('sfDoctrineGuardPlugin'));
$t->is(count($projConfiguration->getPlugins()), 1, 'Sanity check');
$enabler->overrideSympalPlugin('sfDoctrineGuardPlugin');
$t->is(count($projConfiguration->getPlugins()), 1, 'After overrideSympalPlugin(), the sfDoctrineGuardPlugin is still enabled');
$paths = $projConfiguration->getPluginPaths();
/*
 * The plugin path is false because it doesn't exist in the plugins directory.
 * I can't think of a good way to test this short of creating an sfDoctrineGuardPlugin
 * somewhere and pointing there. sfProjectConfiguration calls realpath, so
 * my attempts to set it to a non-existent dir result in a path of "false"
 */
$t->is($paths[0], false, 'The plugin path to the plugin has changed, however');