1
0
Fork 0
terminaltables3/tests/test_terminal_io/__init__.py
Daniel Baumann 07735c967b
Merging upstream version 4.0.0 (Closes: #1095814).
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-12 15:00:49 +01:00

49 lines
1.5 KiB
Python

"""Common objects used by tests in directory."""
from terminaltables3 import terminal_io
class MockKernel32:
"""Mock kernel32."""
def __init__(
self,
stderr=terminal_io.INVALID_HANDLE_VALUE,
stdout=terminal_io.INVALID_HANDLE_VALUE,
):
"""Constructor."""
self.stderr = stderr
self.stdout = stdout
self.csbi_err = b"x\x00)#\x00\x00\x87\x05\x07\x00\x00\x00j\x05w\x00\x87\x05x\x00J\x00" # 119 x 29
self.csbi_out = b"L\x00,\x01\x00\x00*\x01\x07\x00\x00\x00\x0e\x01K\x00*\x01L\x00L\x00" # 75 x 28
self.setConsoleTitleA_called = False
self.setConsoleTitleW_called = False
def GetConsoleScreenBufferInfo(self, handle, lpcsbi): # noqa
"""Mock GetConsoleScreenBufferInfo.
:param handle: Unused handle.
:param lpcsbi: ctypes.create_string_buffer() return value.
"""
if handle == self.stderr:
lpcsbi.raw = self.csbi_err
else:
lpcsbi.raw = self.csbi_out
return 1
def GetStdHandle(self, handle): # noqa
"""Mock GetStdHandle.
:param int handle: STD_ERROR_HANDLE or STD_OUTPUT_HANDLE.
"""
return self.stderr if handle == terminal_io.STD_ERROR_HANDLE else self.stdout
def SetConsoleTitleA(self, _): # noqa
"""Mock SetConsoleTitleA."""
self.setConsoleTitleA_called = True
return 1
def SetConsoleTitleW(self, _): # noqa
"""Mock SetConsoleTitleW."""
self.setConsoleTitleW_called = True
return 1