1"""
2Test resizing in our IOHandlers.
3"""
4
5import os
6
7import lldb
8from lldbsuite.test.decorators import *
9from lldbsuite.test.lldbtest import *
10from lldbsuite.test.lldbpexpect import PExpectTest
11
12class IOHandlerCompletionTest(PExpectTest):
13
14    mydir = TestBase.compute_mydir(__file__)
15
16    # PExpect uses many timeouts internally and doesn't play well
17    # under ASAN on a loaded machine..
18    @skipIfAsan
19    @skipIfEditlineSupportMissing
20    @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
21    def test_resize(self):
22
23        # Start with a small window
24        self.launch(dimensions=(10,10))
25
26        self.child.send("his is a long sentence missing its first letter.")
27
28        # Now resize to something bigger
29        self.child.setwinsize(100,500)
30
31        # Hit "left" 60 times (to go to the beginning of the line) and insert
32        # a character.
33        self.child.send(60 * "\033[D")
34        self.child.send("T")
35
36        self.child.expect_exact("(lldb) This is a long sentence missing its first letter.")
37        self.quit()
38