3 (5am:in-suite :qt.suite)
5 (defclass click-test-widget (qt:push-button)
7 (:metaclass cxx:class))
9 (5am:test (click-test :depends-on with-app)
10 "Test clicking a button."
12 (let ((widget (make-instance 'click-test-widget))
14 (qt:connect (qt:get-signal widget "clicked()")
16 (5am:is (eq widget (qt:sender)))
19 (cxx:set-text widget "Hello World")
20 (5am:is (string= "Hello World" (cxx:text widget)))
22 (5am:is (= 0 click-count))
23 (qt:test.mouse-click widget qt:+left-button+
24 0 (make-instance 'qt:point) -1)
25 (5am:is (= 1 click-count))
26 (qt:test.mouse-click widget qt:+right-button+
27 0 (make-instance 'qt:point) -1)
28 (5am:is (= 1 click-count)))))
30 (5am:test (click-test-bool :depends-on click-test)
31 "Test clicking a button (bool argument)."
33 (let ((widget (make-instance 'click-test-widget))
35 (qt:connect (qt:get-signal widget "clicked(bool)")
37 (5am:is (eql nil checked))
39 (5am:is (= 0 click-count))
40 (qt:test.mouse-click widget qt:+left-button+
41 0 (make-instance 'qt:point) -1)
42 (5am:is (= 1 click-count))
43 (qt:test.mouse-click widget qt:+left-button+
44 0 (make-instance 'qt:point) -1)
45 (5am:is (= 2 click-count)))))
47 (5am:test (click-test-bool-this :depends-on click-test)
48 "Test clicking a button (bool argument) for a function with this argument."
50 (let ((widget (make-instance 'click-test-widget))
52 (qt:connect (qt:get-signal widget "clicked(bool)")
54 #'(lambda (object checked)
55 (5am:is (eq nil checked))
56 (5am:is (eq widget object))
58 (5am:is (= 0 click-count))
59 (qt:test.mouse-click widget qt:+left-button+
60 0 (make-instance 'qt:point) -1)
61 (5am:is (= 1 click-count))
62 (qt:test.mouse-click widget qt:+left-button+
63 0 (make-instance 'qt:point) -1)
64 (5am:is (= 2 click-count)))))