1 color.test | public ColorTestCase::testUpdateCssFilesOnConfigSave() |
Test if the CSS files for a theme are updated when editing Configuration.
File
- core/
modules/ color/ tests/ color.test, line 126 - Tests for color module.
Class
- ColorTestCase
- Tests the Color module functionality.
Code
public function testUpdateCssFilesOnConfigSave() {
config_set('system.core', 'theme_default', 'bartik');
$settings_path = 'admin/appearance/settings/bartik';
$import_path = 'admin/config/development/configuration/single';
// Make sure the theme settings exist by submitting the theme settings form.
$this->backdropLogin($this->bigUser);
$this->backdropGet($settings_path);
$this->assertResponse(200);
$edit = array(
'scheme' => '',
'palette[top]' => '#123456',
);
$this->backdropPost($settings_path, $edit, t('Save theme settings'));
// Edit the theme configuration.
$this->backdropGet($import_path);
$config = config('bartik.settings');
$data = array_merge(array('_config_name' => 'bartik.settings'), $config->get());
$data['color']['palette']['top'] = '#654321';
$edit = array('import' => json_encode($data));
$this->backdropPost($import_path, $edit, t('Import'));
// Check that the new color shows up in the css files.
$stylesheets = theme_get_setting('color.stylesheets', 'bartik');
$stylesheet_content = '';
foreach ($stylesheets as $stylesheet) {
$stylesheet_content .= implode("\n", file($stylesheet));
}
$this->assertTrue(strpos($stylesheet_content, 'color: #654321') !== FALSE, 'Make sure the color we changed is in the color stylesheet.');
}