def is_active_theme(): is_active = False active_theme = ThemeEngineSystem(self.env).theme if active_theme is not None: this_theme_name = self.get_theme_names().next() is_active = active_theme['name'] == this_theme_name return is_active
def is_active_theme(self): """ Determine whether target theme is active """ from themeengine.api import ThemeEngineSystem is_active = False active_theme = ThemeEngineSystem(self.env).theme if active_theme is not None: this_theme_name = self.get_theme_names().next() is_active = active_theme['name'] == this_theme_name return is_active
def setUp(self): self.env = env = EnvironmentStub(enable=['trac.*', 'themeengine.*']) self.themesys = ThemeEngineSystem(env)
class ThemeSystemTestCase(unittest.TestCase): """Unit tests covering the theme system API """ def setUp(self): self.env = env = EnvironmentStub(enable=['trac.*', 'themeengine.*']) self.themesys = ThemeEngineSystem(env) def tearDown(self): pass def test_default_theme_active(self): """Test theme and is_active_theme for default theme """ env = self.env env.config.set('theme', 'theme', 'default') self.assertTrue(self.themesys.is_active_theme('default')) self.assertTrue(self.themesys.is_active_theme('default', self.themesys)) self.assertFalse(self.themesys.is_active_theme('full')) self.assertFalse(self.themesys.is_active_theme('quick')) env.config.remove('theme', 'theme') self.assertTrue(self.themesys.is_active_theme('default')) self.assertFalse(self.themesys.is_active_theme('full')) self.assertFalse(self.themesys.is_active_theme('quick')) def test_theme_misconfiguration(self): """Fall back to default theme on misconfiguration """ env = self.env env.config.set('theme', 'theme', 'wrong') self.assertTrue(self.themesys.is_active_theme('default')) self.assertTrue(self.themesys.is_active_theme('default', self.themesys)) self.assertFalse(self.themesys.is_active_theme('full')) self.assertFalse(self.themesys.is_active_theme('quick')) self.assertFalse(QuickTheme(env).is_active_theme) def test_custom_theme_active(self): """Test theme and is_active_theme for custom theme """ env = self.env env.config.set('theme', 'theme', 'full') self.assertFalse(self.themesys.is_active_theme('default')) self.assertTrue(self.themesys.is_active_theme('full')) self.assertTrue(self.themesys.is_active_theme('full', FullTheme(env))) self.assertFalse(self.themesys.is_active_theme('quick')) self.assertFalse(QuickTheme(self.env).is_active_theme) env.config.set('theme', 'theme', 'quick') self.assertFalse(self.themesys.is_active_theme('default')) self.assertFalse(self.themesys.is_active_theme('full')) self.assertTrue(self.themesys.is_active_theme('quick')) self.assertTrue(self.themesys.is_active_theme('quick', QuickTheme(env))) self.assertTrue(QuickTheme(env).is_active_theme) self.assertFalse(self.themesys.is_active_theme('quick', FullTheme(env)))
def __init__(self): self.system = ThemeEngineSystem(self.env)