Example #1
0
 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
Example #2
0
                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
Example #3
0
 def setUp(self):
     self.env = env = EnvironmentStub(enable=['trac.*', 'themeengine.*'])
     self.themesys = ThemeEngineSystem(env)
Example #4
0
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)))
Example #5
0
 def __init__(self):
     self.system = ThemeEngineSystem(self.env)
Example #6
0
 def setUp(self):
     self.env = env = EnvironmentStub(enable=['trac.*', 'themeengine.*'])
     self.themesys = ThemeEngineSystem(env)
Example #7
0
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)))