Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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""" 

6 

7import textwrap 

8from leo.core.leoTest2 import LeoUnitTest 

9 

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 

50 

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:] 

59 

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