| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- MODULE test_clipboard ;
- (*
- m2SDL3 smoke test: clipboard text round-trip under the dummy
- video driver. Set text, check HasClipboardText, read back and
- compare. SDL-allocated readback is released with SDL_free.
- *)
- FROM SYSTEM IMPORT ADDRESS;
- FROM SDL3 IMPORT SDL_Init, SDL_Quit, SDLInitVideo;
- FROM SDL3Clipboard IMPORT SDL_SetClipboardText, SDL_GetClipboardText,
- SDL_HasClipboardText;
- FROM SDL3Stdinc IMPORT SDL_free;
- FROM SDL3Utils IMPORT CStrToM2;
- FROM StrLib IMPORT StrEqual;
- FROM libc IMPORT printf;
- VAR
- p: ADDRESS;
- buf: ARRAY [0..127] OF CHAR;
- PROCEDURE Fail (msg: ARRAY OF CHAR);
- BEGIN
- printf("FAIL test_clipboard: %s\n", msg);
- HALT(1)
- END Fail;
- BEGIN
- IF NOT SDL_Init(SDLInitVideo) THEN
- printf("FAIL test_clipboard: SDL_Init video failed\n");
- HALT(1)
- END;
- IF NOT SDL_SetClipboardText("m2sdl3-clipboard-probe") THEN
- Fail("set failed")
- END;
- IF NOT SDL_HasClipboardText() THEN Fail("has-clipboard false") END;
- p := SDL_GetClipboardText();
- IF p = NIL THEN Fail("get returned NIL") END;
- CStrToM2(p, buf);
- SDL_free(p);
- printf("clipboard: %s\n", buf);
- IF NOT StrEqual(buf, "m2sdl3-clipboard-probe") THEN
- Fail("round-trip mismatch")
- END;
- SDL_Quit;
- printf("PASS test_clipboard\n")
- END test_clipboard.
|