diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/tc_colorscheme.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/tc_colorscheme.py b/test/tc_colorscheme.py new file mode 100644 index 00000000..b7725b92 --- /dev/null +++ b/test/tc_colorscheme.py @@ -0,0 +1,31 @@ +if __name__ == '__main__': from __init__ import init; init() + +from unittest import TestCase, main +import random +import ranger.colorschemes +from ranger.gui.colorscheme import ColorScheme, CONTEXT_KEYS + +class Test(TestCase): + def setUp(self): + import random + schemes = [] + for key, mod in vars(ranger.colorschemes).items(): + if type(mod) == type(random): + for key, var in vars(mod).items(): + if type(var) == type and issubclass(var, ColorScheme) \ + and var != ColorScheme: + schemes.append(var) + self.schemes = set(schemes) + + def test_colorschemes(self): + def test(scheme): + scheme.get() # test with no arguments + + for i in range(300): # test with a bunch of random (valid) arguments + sample = random.sample(CONTEXT_KEYS, random.randint(2, 9)) + scheme.get(*sample) + + for scheme in self.schemes: + test(scheme()) + +if __name__ == '__main__': main() |