public function testCheckConfiguration() { $this->init(); $configurationHandler = new ConfigurationHandler(vfsStream::url('RedKiteCMS'), 'redkitecms.com', 'vendor/redkitecms-framework'); $configurationHandler->boot(); $this->assertEquals('vfs://RedKiteCMS/app', $configurationHandler->appDir()); $this->assertEquals('vfs://RedKiteCMS/app/logs', $configurationHandler->logDir()); $this->assertEquals('vfs://RedKiteCMS/app/cache', $configurationHandler->cacheDir()); $this->assertEquals('vfs://RedKiteCMS/app/cache/redkitecms.com', $configurationHandler->siteCacheDir()); $this->assertEquals('vfs://RedKiteCMS/app/data', $configurationHandler->dataDir()); $this->assertEquals('vfs://RedKiteCMS/app/data/redkitecms.com', $configurationHandler->siteDir()); $this->assertEquals('vfs://RedKiteCMS/app/data/redkitecms.com/users', $configurationHandler->usersDir()); $this->assertEquals('vfs://RedKiteCMS/web', $configurationHandler->webDir()); $this->assertEquals('vfs://RedKiteCMS/vendor/redkitecms-framework/plugins/RedKiteCms', $configurationHandler->corePluginsDir()); $this->assertEquals('vfs://RedKiteCMS/app/plugins/RedKiteCms', $configurationHandler->customPluginsDir()); $this->assertEquals('vfs://RedKiteCMS/app/data/redkitecms.com/pages', $configurationHandler->pagesRootDir()); $this->assertEquals('vfs://RedKiteCMS/app/data/redkitecms.com/pages/removed', $configurationHandler->pagesRemovedDir()); $this->assertEquals('vfs://RedKiteCMS/web/upload/assets/redkitecms.com/backend', $configurationHandler->uploadAssetsDir()); $this->assertEquals('vfs://RedKiteCMS/web/upload/assets/redkitecms.com/production', $configurationHandler->uploadAssetsDirProduction()); $this->assertEquals('/upload/assets/redkitecms.com/backend', $configurationHandler->absoluteUploadAssetsDir()); $this->assertEquals('vfs://RedKiteCMS/vendor/redkitecms-framework/config', $configurationHandler->coreConfigDir()); $this->assertEquals('web', $configurationHandler->webDirname()); $this->assertEquals(true, $configurationHandler->isProduction()); $this->assertEquals(false, $configurationHandler->isTheme()); $this->assertEquals(array("vfs://RedKiteCMS/vendor/redkitecms-framework/plugins/RedKiteCms", "vfs://RedKiteCMS/app/plugins/RedKiteCms", "/vendor/redkite-labs/redkitecms-plugins/RedKiteCms"), $configurationHandler->pluginFolders()); $this->assertEmpty($configurationHandler->handledTheme()); $this->assertEquals("SimpleTheme", $configurationHandler->theme()); $this->assertEquals("en-gb-homepage", $configurationHandler->homepagePermalink()); $this->assertEquals("en_GB", $configurationHandler->defaultLanguage()); $this->assertEquals(array("en_GB"), $configurationHandler->languages()); $this->assertEquals("homepage", $configurationHandler->homepage()); $this->assertEquals("home", $configurationHandler->homepageTemplate()); $expectedSiteInfo = array("theme" => "SimpleTheme", "homepage" => "homepage", "locale_default" => "en_GB", "homepage_permalink" => "en-gb-homepage", "languages" => array("en_GB"), "handled_theme" => ""); $this->assertEquals($expectedSiteInfo, $configurationHandler->siteInfo()); $expectedConfiguration = array("assets" => array("prod" => array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/components/redkitecms/twitter-bootstrap/css/bootstrap.min.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/jquery/jquery.min.js")), "cms" => array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/plugins/redkitecms/css/skins/redkite/skin.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/redkitecms/jquery-ui/jquery-ui.min.js")), "dashboard" => array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/components/redkitecms/twitter-bootstrap/css/bootstrap.min.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/jquery/jquery.min.js"))), "general" => array("skin" => "RedKiteCms/public/css/skins/redkite", "baseTemplate" => "RedKiteCms/Resources/views/Frontend/base.html.twig"), "foo" => array("bar")); $this->assertEquals($expectedConfiguration, $configurationHandler->configuration()); $this->assertEquals('en', $configurationHandler->language()); $this->assertEquals('GB', $configurationHandler->country()); $this->assertEmpty($configurationHandler->getAssetsByType('foo')); $expectedAssets = array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/components/redkitecms/twitter-bootstrap/css/bootstrap.min.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/jquery/jquery.min.js")); $this->assertEquals($expectedAssets, $configurationHandler->getAssetsByType('prod')); $expectedAssets = array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/plugins/redkitecms/css/skins/redkite/skin.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/redkitecms/jquery-ui/jquery-ui.min.js")); $this->assertEquals($expectedAssets, $configurationHandler->getAssetsByType('cms')); $expectedAssets = array("getExternalStylesheets" => array("vfs://RedKiteCMS/web/components/redkitecms/twitter-bootstrap/css/bootstrap.min.css"), "getExternalJavascripts" => array("vfs://RedKiteCMS/web/components/jquery/jquery.min.js")); $this->assertEquals($expectedAssets, $configurationHandler->getAssetsByType('dashboard')); $this->assertEquals("RedKiteCms/public/css/skins/redkite", $configurationHandler->skin()); $this->assertEquals("RedKiteCms/Resources/views/Frontend/base.html.twig", $configurationHandler->baseTemplate()); $this->assertEquals(array("bar"), $configurationHandler->foo()); }