Files
bearhub/tests/view/core/test_stylesheet.py
Vinicius Moreira 60228eec97 [ui] feature: themes
2020-11-27 15:52:57 -03:00

117 lines
3.5 KiB
Python

from unittest import TestCase
from bauh import stylesheet
class StylesheetTest(TestCase):
def test__process_var_of_vars__it_should_remove_vars_pointing_to_themselves(self):
var_map = {
'abc': 'aaa',
'xxx': '@xxx'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(1, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
def test__process_var_of_vars__it_should_remove_vars_pointing_to_unknown_vars(self):
var_map = {
'abc': 'aaa',
'xxx': '@def'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(1, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
def test__process_var_of_vars__it_should_not_replace_invalid_expressions(self):
var_map = {
'abc': 'aaa',
'bcd': '@ xpto' # has a space between @ and 'xpto'
}
self.assertEqual(2, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
self.assertIn('bcd', var_map)
self.assertEqual('@ xpto', var_map['bcd'])
def test__process_var_of_vars__it_should_replace_value_at_first_iteration(self):
var_map = {
'abc': 'aaa',
'xxx': '@abc'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(2, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
self.assertIn('xxx', var_map)
self.assertEqual('aaa', var_map['xxx'])
def test__process_var_of_vars__it_should_replace_value_at_second_iteration(self):
var_map = {
'abc': 'aaa',
'def': '@abc',
'xxx': '@def'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(3, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
self.assertIn('def', var_map)
self.assertEqual('aaa', var_map['def'])
self.assertIn('xxx', var_map)
self.assertEqual('aaa', var_map['xxx'])
def test__process_var_of_vars__it_should_replace_value_at_third_iteration(self):
var_map = {
'abc': 'aaa',
'def': '@abc',
'fgh': '@def',
'xxx': '@fgh'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(4, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
self.assertIn('def', var_map)
self.assertEqual('aaa', var_map['def'])
self.assertIn('fgh', var_map)
self.assertEqual('aaa', var_map['fgh'])
self.assertIn('xxx', var_map)
self.assertEqual('aaa', var_map['xxx'])
def test__process_var_of_vars__it_should_replace_multiple_vars(self):
var_map = {
'abc': 'aaa',
'def': '@abc',
'fgh': 'bbb',
'ijk': '@fgh',
'lmn': '@ijk'
}
stylesheet.process_var_of_vars(var_map)
self.assertEqual(5, len(var_map))
self.assertIn('abc', var_map)
self.assertEqual('aaa', var_map['abc'])
self.assertIn('def', var_map)
self.assertEqual('aaa', var_map['def'])
self.assertIn('fgh', var_map)
self.assertEqual('bbb', var_map['fgh'])
self.assertIn('ijk', var_map)
self.assertEqual('bbb', var_map['ijk'])
self.assertIn('lmn', var_map)
self.assertEqual('bbb', var_map['lmn'])