diff --git a/core/modules/system/src/Tests/Render/ElementInfoIntegrationTest.php b/core/modules/system/src/Tests/Render/ElementInfoIntegrationTest.php new file mode 100644 index 0000000..1620253 --- /dev/null +++ b/core/modules/system/src/Tests/Render/ElementInfoIntegrationTest.php @@ -0,0 +1,48 @@ +container->get('theme_handler')->install(['test_theme', 'classy']); + } + + /** + * Ensures that the element info can be altered by themes. + */ + public function testElementInfoByTheme() { + /** @var \Drupal\Core\Theme\ThemeInitializationInterface $theme_initializer */ + $theme_initializer = $this->container->get('theme.initialization'); + + /** @var \Drupal\Core\Theme\ThemeManagerInterface $theme_manager */ + $theme_manager = $this->container->get('theme.manager'); + + /** @var \Drupal\Core\Render\ElementInfoManagerInterface $element_info */ + $element_info = $this->container->get('plugin.manager.element_info'); + + $theme_manager->setActiveTheme($theme_initializer->getActiveThemeByName('classy')); + $this->assertEqual(60, $element_info->getInfo('textfield')['#size']); + + $theme_manager->setActiveTheme($theme_initializer->getActiveThemeByName('test_theme')); + $this->assertEqual(40, $element_info->getInfo('textfield')['#size']); + } + +}