X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fmisc%2FScreenBufferFreezeInactive.cc;fp=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fmisc%2FScreenBufferFreezeInactive.cc;h=0000000000000000000000000000000000000000;hp=656d4f126df222a13351d44d313c91a89b740c62;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc b/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc deleted file mode 100644 index 656d4f1..0000000 --- a/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc +++ /dev/null @@ -1,101 +0,0 @@ -// -// Verify that console selection blocks writes to an inactive console screen -// buffer. Writes TEST PASSED or TEST FAILED to the popup console window. -// - -#include -#include - -#include - -#include "TestUtil.cc" - -const int SC_CONSOLE_MARK = 0xFFF2; -const int SC_CONSOLE_SELECT_ALL = 0xFFF5; - -bool g_useMark = false; - -CALLBACK DWORD pausingThread(LPVOID dummy) -{ - HWND hwnd = GetConsoleWindow(); - trace("Sending selection to freeze"); - SendMessage(hwnd, WM_SYSCOMMAND, - g_useMark ? SC_CONSOLE_MARK : - SC_CONSOLE_SELECT_ALL, - 0); - Sleep(1000); - trace("Sending escape WM_CHAR to unfreeze"); - SendMessage(hwnd, WM_CHAR, 27, 0x00010001); - Sleep(1000); -} - -static HANDLE createBuffer() { - HANDLE buf = CreateConsoleScreenBuffer( - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, - CONSOLE_TEXTMODE_BUFFER, - NULL); - ASSERT(buf != INVALID_HANDLE_VALUE); - return buf; -} - -static void runTest(bool useMark, bool createEarly) { - trace("======================================="); - trace("useMark=%d createEarly=%d", useMark, createEarly); - g_useMark = useMark; - HANDLE buf = INVALID_HANDLE_VALUE; - - if (createEarly) { - buf = createBuffer(); - } - - CreateThread(NULL, 0, - pausingThread, NULL, - 0, NULL); - Sleep(500); - - if (!createEarly) { - trace("Creating buffer"); - TimeMeasurement tm1; - buf = createBuffer(); - const double elapsed1 = tm1.elapsed(); - if (elapsed1 >= 0.250) { - printf("!!! TEST FAILED !!!\n"); - Sleep(2000); - return; - } - } - - trace("Writing to aux buffer"); - TimeMeasurement tm2; - DWORD actual = 0; - BOOL ret = WriteConsoleW(buf, L"HI", 2, &actual, NULL); - const double elapsed2 = tm2.elapsed(); - trace("Writing to aux buffer: finished: ret=%d actual=%d (elapsed=%1.3f)", ret, actual, elapsed2); - if (elapsed2 < 0.250) { - printf("!!! TEST FAILED !!!\n"); - } else { - printf("TEST PASSED\n"); - } - Sleep(2000); -} - -int main(int argc, char **argv) { - if (argc == 1) { - startChildProcess(L"child"); - return 0; - } - - std::string arg = argv[1]; - if (arg == "child") { - for (int useMark = 0; useMark <= 1; useMark++) { - for (int createEarly = 0; createEarly <= 1; createEarly++) { - runTest(useMark, createEarly); - } - } - printf("done...\n"); - Sleep(1000); - } - return 0; -}