Add ScrollWindow. Rewrite EditBox to work with OffsetLayout. Add propery "exposed" to DrawEvent. Add Widget._view_size. Add config file (driver, log_level).
#!/usr/bin/env python3import syssys.path.insert(0, '..')from tuikit.treeview import *import unittestclass TestTreeView(unittest.TestCase): def setUp(self): """Build tree model # root # ├ a # │ ├ c # │ └ d # │ ├ e # │ │ └ g # │ └ f # │ └ h # └ b """ self.model = TreeModel() self.model.add('/', ['a', 'b']) self.model.add(['a'], [TreeNode('c'), TreeNode('d')]) self.model.add((0,1), ['e', TreeNode('f')]) self.model.add([0,1,0], 'g') self.model.add('/a/d/f', TreeNode('h')) def test_treeiter(self): """Iterate through the tree, test result.""" res = '' for l, i, c, n in self.model: res += str(l) + str(i) + str(c) + n.name self.assertEqual(res, '112a212c222d312e411g322f411h122b') def test_treemodel_find(self): # good path node = self.model.find('/a/d/f/h') self.assertEqual(node.name, 'h') self.assertEqual(node.path, '/a/d/f/h') # bad path self.assertRaises(ValueError, self.model.find, '/a/b/c') self.assertRaises(IndexError, self.model.find, [0,1,3])if __name__ == '__main__': unittest.main()