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