TrayTempo v0.2.0 : minuteur Pomodoro Windows en Nim avec interface intuitive
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
## 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)
|
||||
Reference in New Issue
Block a user