[core/theme] Add support for default -> prefix/suffix in themes

Themes can now define default prefix and suffix strings.

see #23
This commit is contained in:
Tobi-wan Kenobi 2016-12-08 11:52:47 +01:00
parent 64f5fc100e
commit 394ef61760
5 changed files with 45 additions and 15 deletions

View file

@ -3,15 +3,18 @@
import unittest
from bumblebee.theme import Theme
from bumblebee.error import ThemeLoadError
from tests.util import MockWidget
class TestTheme(unittest.TestCase):
def setUp(self):
self.nonexistentThemeName = "no-such-theme"
self.invalidThemeName = "invalid"
self.validThemeName = "solarized-powerline"
self.someWidget = MockWidget("foo")
def test_load_valid_theme(self):
try:
Theme("solarized-powerline")
Theme(self.validThemeName)
except Exception as e:
self.fail(e)
@ -23,4 +26,14 @@ class TestTheme(unittest.TestCase):
with self.assertRaises(ThemeLoadError):
Theme(self.invalidThemeName)
def test_prefix(self):
theme = Theme(self.validThemeName)
theme.loads('{"defaults": { "prefix": "test" }}')
self.assertEquals(theme.prefix(self.someWidget), "test")
def test_suffix(self):
theme = Theme(self.validThemeName)
theme.loads('{"defaults": { "suffix": "test" }}')
self.assertEquals(theme.suffix(self.someWidget), "test")
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4