/** * Tests for {@link SSViewer::current_theme()} for different behaviour * of user defined themes via {@link SiteConfig} and default theme * when no user themes are defined. */ function testCurrentTheme() { $config = SiteConfig::current_site_config(); $oldTheme = $config->Theme; $config->Theme = ''; $config->write(); SSViewer::set_theme('mytheme'); $this->assertEquals('mytheme', SSViewer::current_theme(), 'Current theme is the default - user has not defined one'); $config->Theme = 'myusertheme'; $config->write(); // Pretent to load the page $c = new ContentController(); $c->handleRequest(new SS_HTTPRequest('GET', '/')); $this->assertEquals('myusertheme', SSViewer::current_theme(), 'Current theme is a user defined one'); // Set the theme back to the original $config->Theme = $oldTheme; $config->write(); }
/** * Mock a request against a given controller * * @param ContentController $controller * @param string $url */ protected function requestURL(ContentController $controller, $url) { $request = new SS_HTTPRequest('get', $url); $request->match('$URLSegment//$Action/$ID/$OtherID'); $request->shift(); $controller->init(); $controller->handleRequest($request, new DataModel()); }