Wed Apr 8 17:10:42 CEST 2009 Tobias Rautenkranz * Test receiving C++ argument signals diff -rN -u old-qt.tests/src/click.lisp new-qt.tests/src/click.lisp --- old-qt.tests/src/click.lisp 2014-10-30 07:59:09.000000000 +0100 +++ new-qt.tests/src/click.lisp 2014-10-30 07:59:09.000000000 +0100 @@ -13,6 +13,7 @@ (click-count 0)) (qt:connect (qt:get-signal widget "clicked()") #'(lambda () + (5am:is (eq widget (qt:sender))) (incf click-count))) (cxx:set-text widget "Hello World") @@ -31,7 +32,7 @@ (click-count 0)) (qt:connect (qt:get-signal widget "clicked(bool)") #'(lambda (checked) - (5am:is (eql t checked)) + (5am:is (eql nil checked)) (incf click-count))) (5am:is (= 0 click-count)) (qt.test:test.mouse-click widget qt:+left-button+) @@ -39,3 +40,5 @@ (qt.test:test.mouse-click widget qt:+left-button+) (5am:is (= 2 click-count))))) + + diff -rN -u old-qt.tests/src/signal-slot.lisp new-qt.tests/src/signal-slot.lisp --- old-qt.tests/src/signal-slot.lisp 2014-10-30 07:59:09.000000000 +0100 +++ new-qt.tests/src/signal-slot.lisp 2014-10-30 07:59:09.000000000 +0100 @@ -119,3 +119,41 @@ (test-destroyed-signal) (tg:gc :full t) (5am:is (eql t *destroyed*))) + +(5am:test int-signal + "Receive a int signal." + (qt:with-app + (let ((spin-box (make-instance 'qt:spin-box)) + (current-value) + (current-string-value)) + (qt:connect (qt:get-signal spin-box "valueChanged(int)") + #'(lambda (value) + (setf current-value value))) + (qt:connect (qt:get-signal spin-box "valueChanged(const QString&)") + #'(lambda (value) + (setf current-string-value value))) + (5am:for-all ((value (5am:gen-integer + :min (cxx:minimum spin-box) + :max (cxx:maximum spin-box)))) + (cxx:set-value spin-box value) + (5am:is (= value current-value)) + (5am:is (= value (read-from-string current-string-value))))))) + +(5am:test object-signal + "Receive a qt:object signal." + (qt:with-app + (let ((button (make-instance 'qt:push-button)) + (click-count 0) + (signal-mapper (make-instance 'qt:signal-mapper))) + (qt:connect (qt:get-signal button "clicked()") + (qt:get-slot signal-mapper "map()")) + (cxx:set-mapping signal-mapper button button) + + (qt:connect (qt:get-signal signal-mapper "mapped(QObject*)") + #'(lambda (object) + (5am:is (eq object button)) + (incf click-count))) + (5am:is (= 0 click-count)) + (qt.test:test.mouse-click button qt:+left-button+) + (5am:is (= 1 click-count))))) +