Coverage for core\test_leoFrame.py: 100%
41 statements
« prev ^ index » next coverage.py v6.4, created at 2022-05-24 10:21 -0500
« prev ^ index » next coverage.py v6.4, created at 2022-05-24 10:21 -0500
1# -*- coding: utf-8 -*-
2#@+leo-ver=5-thin
3#@+node:ekr.20210903161742.1: * @file ../unittests/core/test_leoFrame.py
4#@@first
5"""Tests of leoFrame.py"""
7import textwrap
8from leo.core.leoTest2 import LeoUnitTest
10#@+others
11#@+node:ekr.20210903161742.2: ** class TestFrame(LeoUnitTest)
12class TestFrame(LeoUnitTest):
13 """Test cases for leoKeys.py"""
14 #@+others
15 #@+node:ekr.20210901140645.10: *3* TestFrame.test_official_frame_ivars
16 def test_official_frame_ivars(self):
17 c = self.c
18 f = c.frame
19 self.assertEqual(f.c, c)
20 self.assertEqual(c.frame, f)
21 for ivar in ('body', 'iconBar', 'log', 'statusLine', 'tree',):
22 assert hasattr(f, ivar), 'missing frame ivar: %s' % ivar
23 val = getattr(f, ivar)
24 self.assertTrue(val is not None, msg=ivar)
25 # These do not have to be initied.
26 for ivar in ('findPanel',):
27 self.assertTrue(hasattr(f, ivar), msg=ivar)
28 #@+node:ekr.20210909194526.1: *3* Converted: leoFrame
29 #@+node:ekr.20210909194336.44: *3* TestXXX.test_c_frame_body_getInsertLines
30 def test_c_frame_body_getInsertLines(self):
31 c, w = self.c, self.c.frame.body.wrapper
32 s = textwrap.dedent("""\
33 line 1
34 line 2
35 line 3
36 """)
37 w.setAllText(s)
38 index = s.find('2')
39 w.setInsertPoint(index)
40 before, ins, after = c.frame.body.getInsertLines()
41 self.assertEqual(before, 'line 1\n')
42 self.assertEqual(ins, 'line 2\n')
43 self.assertEqual(after, 'line 3\n')
44 #@+node:ekr.20210909194336.45: *3* TestXXX.test_c_frame_body_getSelectionAreas
45 def test_c_frame_body_getSelectionAreas(self):
46 c = self.c
47 # line 1
48 # line 2
49 # line 3
51 w = c.frame.body.wrapper
52 s = w.getAllText()
53 start, end = 11, 15
54 w.setSelectionRange(start, end)
55 before, ins, after = c.frame.body.getSelectionAreas()
56 assert before == s[0:start], 'Got %s' % repr(before)
57 assert ins == s[start:end], 'Got %s' % repr(ins)
58 assert after == s[end:]
60 # end.
61 #@+node:ekr.20210909194336.47: *3* TestXXX.test_c_frame_body_updateEditors
62 def test_c_frame_body_updateEditors(self):
63 # updateEditors was crashing due to calling setSelectionRange(ins=i).
64 # The proper keyword argument is insert=i.
65 c = self.c
66 c.frame.body.updateEditors()
67 #@+node:ekr.20210909194336.49: *3* TestXXX.test_c_frame_tree_OnIconDoubleClick
68 def test_c_frame_tree_OnIconDoubleClick(self):
69 c = self.c
70 c.frame.tree.OnIconDoubleClick(c.p)
71 #@-others
72#@-others
73#@-leo