(in-package #:clnl-gltk-test) (deftest "Simple Font" "8A20F6ABDEB91C20EDA85C78AED49767AB3A70EB" (gl:color 1f0 1f0 1f0) (gl:translate 10 10 0) (clnl-gltk:font-print "Hello World")) (let ((tb (clnl-gltk:textbox 5 5 5 1 :text "Hello"))) (deftest "Text Box 1" "2CECA2C51025389617AA9A710B3625106009DF2E" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 7 2 :text "Hello"))) (deftest "Text Box 2" "9BF11B56936F547523203EA2A81CC2DB2CB3CC19" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 5 2 :text (format nil "Hello~%World")))) (deftest "Text Box Multiline" "D805DA6096FB970B1C5B4268B76F1917DCA4AE1C" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 5 2 :text (format nil "Helloare~%Worlding~%fdsa")))) (deftest "Text Box Multiline Clip" "D805DA6096FB970B1C5B4268B76F1917DCA4AE1C" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 50 5 2 :text (format nil "Helloare~%Worlding~%fdsa") :border nil))) (deftest "Text Box Borderless" "8D3B592B51A60A2BBC18564E6CBAF231B0AE19DD" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 6 5 :text (format nil "Hi my name is~%frank") :border nil :word-wrap t))) (deftest "Text Box Wrap 1" "AB467A1E7195B299F2218995A05DD2E13C27DEE9" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 3 5 :text (format nil "Hi my name is~%frank") :border nil :word-wrap t))) (deftest "Text Box Wrap 2" "021D8496E23E955D4315C08540CEBAACFF626E26" (clnl-gltk:render tb))) (let ((tb (clnl-gltk:textbox 5 5 2 5 :text (format nil "Hi m name is~%frank") :border nil :word-wrap t))) (deftest "Text Box Wrap 3" "5351DCF1D442B6313BD357B1DFB2C80ED3E0E6FB" (clnl-gltk:render tb))) (let ((ib (clnl-gltk:inputbox 5 5 5))) (deftest "Input Box 1" "17D991E70A129C1A57F503690D364BB0975A595B" (setf *inputbox* ib) (clnl-gltk:render ib))) (let ((ib (clnl-gltk:inputbox 5 5 5))) (clnl-gltk:key-pressed ib 65) (clnl-gltk:key-pressed ib 66) (clnl-gltk:key-pressed ib 67) (clnl-gltk:key-pressed ib :key-left) (clnl-gltk:key-pressed ib :key-left) (clnl-gltk:key-pressed ib 8) (clnl-gltk:key-pressed ib :key-right) (deftest "Input Box 2" "D03BD310CB1CF22AE7A0F143BE523F9FC6F20D73" (setf *inputbox* ib) (clnl-gltk:render ib))) (let ((ib (clnl-gltk:inputbox 5 5 5))) (clnl-gltk:key-pressed ib 65) (clnl-gltk:key-pressed ib 66) (clnl-gltk:key-pressed ib 67) (clnl-gltk:key-pressed ib 68) (clnl-gltk:key-pressed ib :key-left) (clnl-gltk:key-pressed ib 21) (deftest "Input Box 3" "19EA65A5299EBF16021AE01F4BB9C39945829665" (setf *inputbox* ib) (clnl-gltk:render ib))) (let ((ib (clnl-gltk:inputbox 5 5 5)) (tb (clnl-gltk:textbox 5 28 5 1))) (clnl-gltk:key-pressed ib 65) (clnl-gltk:key-pressed ib 66) (clnl-gltk:key-pressed ib 67) (clnl-gltk:key-pressed ib 68) (clnl-gltk:key-pressed ib 8) (setf (clnl-gltk:textbox-text tb) (clnl-gltk:value ib)) (clnl-gltk:clear ib) (deftest "Input Box / Text Box" "3456140503547591726C56C3E5A2956CBAB066F9" (setf *inputbox* ib) (clnl-gltk:render tb) (clnl-gltk:render ib))) (let ((ib (clnl-gltk:inputbox 5 5 1)) (tb (clnl-gltk:textbox 5 28 1 1))) (clnl-gltk:resize ib (truncate (- 100 12) clnl-gltk:*font-width*) 1) (clnl-gltk:resize tb (truncate (- 100 12) clnl-gltk:*font-width*) (truncate (- 100 40) clnl-gltk:*font-height*)) (deftest "Resize Input Box / Text Box" "A005D7F79A462A12CC4C8FA2D4E08D9705EE653D" (setf *inputbox* ib) (clnl-gltk:render tb) (clnl-gltk:render ib))) (defvar *button-base-sum* "57FE772A7F3F06632F7CAB6EDCED93D1D98EFE17") (defvar *button-hover-sum* "0471DF593568AC35F0F91FCB0CF8B7C95CE76FAA") (let ((but (clnl-gltk:button 5 5 40 30 "test" (lambda () (format t "This button was pressed~%"))))) (deftest "Button 1" *button-base-sum* (clnl-gltk:render but))) (let ((but (clnl-gltk:button 5 5 40 30 "te" (lambda () (format t "This button was pressed~%"))))) (deftest "Button 2" "12595E272032268A6BD31DAE25405DFBBC18537E" (clnl-gltk:render but))) (let ((checksum "8C3017E28B5F4DA4832193DB1ECB9F1C2D8B9B81")) (let ((but (clnl-gltk:button 5 5 40 30 "te..." (lambda () (format t "This button was pressed~%"))))) (deftest "Button 3a" checksum (clnl-gltk:render but))) (let ((but (clnl-gltk:button 5 5 40 30 "testing" (lambda () (format t "This button was pressed~%"))))) (deftest "Button 3b" checksum (clnl-gltk:render but)))) (let ((but (clnl-gltk:button 5 5 40 30 "test" nil))) (clnl-gltk:mousemove but 10 10) (deftest "Button Hover 1" *button-hover-sum* (clnl-gltk:render but))) (let ((but (clnl-gltk:button 5 5 40 30 "test" nil))) (clnl-gltk:mousemove but 10 10) (clnl-gltk:mousemove but 50 50) (deftest "Button Hover 2" *button-base-sum* (clnl-gltk:render but))) (let ((but (clnl-gltk:button 5 5 40 30 "test" nil))) (clnl-gltk:mousemove but 10 10) (clnl-gltk:mousedown but 10 10) (deftest "Button Down" "CF9AB21372A9D72ECDE1351B6C834DE8E020DC67" (clnl-gltk:render but))) (let ((but (clnl-gltk:button 5 5 40 30 "test" nil))) (clnl-gltk:mousemove but 10 10) (clnl-gltk:mousedown but 10 10) (clnl-gltk:mousemove but 50 50) (deftest "Button Down Moved" "C2A2F8B8B1C70BE32A35D050DC9AB03F310EB44D" (clnl-gltk:render but))) (let* ((clicked nil) (but (clnl-gltk:button 5 5 40 30 "test" (lambda () (setf clicked t))))) (clnl-gltk:mousemove but 10 10) (clnl-gltk:mousedown but 10 10) (clnl-gltk:mouseup but 10 10) (deftest "Button Clicked" *button-hover-sum* (clnl-gltk:render but) (when (not clicked) (fail-test)))) (let* ((clicked nil) (but (clnl-gltk:button 5 5 40 30 "test" (lambda () (setf clicked t))))) (clnl-gltk:mousemove but 10 10) (clnl-gltk:mousedown but 10 10) (clnl-gltk:mousemove but 50 50) (clnl-gltk:mouseup but 50 50) (deftest "Button Clicked Abort" *button-base-sum* (clnl-gltk:render but) (when clicked (fail-test)))) (let ((but (clnl-gltk:button 20 20 50 40 "test" nil))) (clnl-gltk:resize but 40 30) (clnl-gltk:reposition but 5 5) (deftest "Button Reize/Reposition" *button-base-sum* (clnl-gltk:render but))) (let* ((but nil)) (setf but (clnl-gltk:button 20 20 60 40 "test" (lambda () (clnl-gltk:toggle but)) :forever t)) (deftest "Button Forever 1" "C7F4CC201EF3DDB4474D537CA6F1D7462F5822D1" (clnl-gltk:render but))) (let* ((but nil)) (setf but (clnl-gltk:button 20 20 60 40 "test" (lambda () (clnl-gltk:toggle but)) :forever t)) (clnl-gltk:mousemove but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (deftest "Button Forever - Toggle mouse on" "AAD25A1A35FFC0306C0257450530B19421BB1B97" (clnl-gltk:render but))) (let* ((but nil)) (setf but (clnl-gltk:button 20 20 60 40 "test" (lambda () (clnl-gltk:toggle but)) :forever t)) (clnl-gltk:mousemove but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (clnl-gltk:mousemove but 10 10) (deftest "Button Forever - Toggle mouse off" "CE0153ACE89F075279C24FB28A9538730B307048" (clnl-gltk:render but))) (let* ((but nil)) (setf but (clnl-gltk:button 20 20 60 40 "test" (lambda () (clnl-gltk:toggle but)) :forever t)) (clnl-gltk:mousemove but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (clnl-gltk:mousemove but 10 10) (deftest "Button Forever - Toggle twice" "C7F4CC201EF3DDB4474D537CA6F1D7462F5822D1" (clnl-gltk:render but))) (let* ((but nil)) (setf but (clnl-gltk:button 20 20 60 40 "test" (lambda () (clnl-gltk:toggle but t)) :forever t)) (clnl-gltk:mousemove but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (clnl-gltk:mousedown but 30 30) (clnl-gltk:mouseup but 30 30) (clnl-gltk:mousemove but 10 10) (deftest "Button Forever - Toggle state T" "CE0153ACE89F075279C24FB28A9538730B307048" (clnl-gltk:render but))) (defvar *switch-on* "CA21940F7F585E98B70F54165FA9617E8720B084") (defvar *switch-off* "25F8B2D544795DC953FF3F880F4762FEEFCCEF04") (defvar *switch-hover* "9643E58C1E160530B3B4467DE121C83F445EE444") (let ((switch (clnl-gltk:switch 5 5 80 "test" (lambda (state) (format t "The new state is: ~A~%" state)) t))) (deftest "Switch 1" *switch-on* (setf *mouse-reactor* switch) (clnl-gltk:render switch))) (let ((switch (clnl-gltk:switch 5 5 80 "test" (lambda (state) (format t "The new state is: ~A~%" state))))) (deftest "Switch 2" *switch-off* (clnl-gltk:render switch))) (let ((switch (clnl-gltk:switch 5 5 80 "testing switch" (lambda (state) (format t "The new state is: ~A~%" state))))) (deftest "Switch 3" "C7362964BB4CB6C1C89AABFAD956C65A42823296" (clnl-gltk:render switch))) (let ((switch (clnl-gltk:switch 5 5 80 "test" (lambda (state) (format t "The new state is: ~A~%" state))))) (clnl-gltk:mousemove switch 30 30) (deftest "Switch Hover" *switch-hover* (clnl-gltk:render switch))) (let ((switch (clnl-gltk:switch 5 5 80 "test" (lambda (state) (format t "The new state is: ~A~%" state))))) (clnl-gltk:mousemove switch 30 30) (clnl-gltk:mousemove switch 50 50) (deftest "Switch Hover 2" *switch-off* (clnl-gltk:render switch))) (let* ((on nil) (switch (clnl-gltk:switch 5 5 80 "test" (lambda (state) (setf on state))))) (clnl-gltk:mousedown switch 30 30) (deftest "Switch Click" *switch-on* (clnl-gltk:render switch) (when (not on) (fail-test)))) (let ((slider (clnl-gltk:slider 5 5 80 "test" (lambda (val) (format t "The new val is: ~A~%" val)) 0 100 5 100))) (deftest "Slider 1" "87CCD09486DBA9A0115034E454B28658121EE6DE" (setf *mouse-reactor* slider) (clnl-gltk:render slider)))