35 lines
1.2 KiB
Nim
35 lines
1.2 KiB
Nim
## test_dialogs.nim
|
|
## =================
|
|
## Test d'intégration de la construction du panneau de réglages : vérifie que la
|
|
## fenêtre et ses contrôles sont réellement créés (sans lancer la boucle modale,
|
|
## qui bloquerait). Cela rend observable la création de l'interface, au-delà de
|
|
## la simple compilation.
|
|
|
|
import std/unittest
|
|
import winim/lean
|
|
import ../src/dialogs
|
|
import ../src/config
|
|
|
|
proc createParent(): HWND =
|
|
let hInstance = GetModuleHandleW(nil)
|
|
var wc: WNDCLASSW
|
|
wc.lpfnWndProc = cast[WNDPROC](DefWindowProcW)
|
|
wc.hInstance = hInstance
|
|
wc.lpszClassName = L"TrayTempoDialogTestClass"
|
|
discard RegisterClass(&wc)
|
|
result = CreateWindowExW(0, L"TrayTempoDialogTestClass", L"", WS_OVERLAPPED,
|
|
0, 0, 0, 0, 0, 0, hInstance, nil)
|
|
|
|
suite "dialogs":
|
|
test "settings dialog window and controls are built":
|
|
let parent = createParent()
|
|
check parent != 0
|
|
|
|
let hwnd = buildSettingsDialog(parent, defaultConfig())
|
|
check hwnd != 0
|
|
# La fenêtre doit avoir au moins un contrôle enfant (champ, bouton, etc.).
|
|
check GetWindow(hwnd, GW_CHILD) != 0
|
|
|
|
discard DestroyWindow(hwnd)
|
|
discard DestroyWindow(parent)
|