Sat Apr 3 21:13:24 CEST 2010 Tobias Rautenkranz * Test static member variable access using slot-value with a class object. Sat Apr 3 14:52:50 CEST 2010 Tobias Rautenkranz * Test slot-value for C++ attributes. Sat Apr 3 14:50:36 CEST 2010 Tobias Rautenkranz * Test qt.opengl conversions. Sat Feb 20 22:06:45 CET 2010 Tobias Rautenkranz * Test (qt:value (qt:make-variant qt:+green+)) Sat Feb 20 19:06:27 CET 2010 Tobias Rautenkranz * Test overload resolution exact match for long and ulong. Mon Jan 25 22:13:40 CET 2010 Tobias Rautenkranz * Test QGraphicsScene::setItem Mon Jan 25 19:51:13 CET 2010 Tobias Rautenkranz * Test QList translation diff -rN -u old-qt.tests/cl-smoke.qt.tests.asd new-qt.tests/cl-smoke.qt.tests.asd --- old-qt.tests/cl-smoke.qt.tests.asd 2014-11-19 23:10:49.000000000 +0100 +++ new-qt.tests/cl-smoke.qt.tests.asd 2014-11-19 23:10:49.000000000 +0100 @@ -4,7 +4,8 @@ :author "Tobias Rautenkranz" :license "GPL with linking exception" :description "Qt unit tests." - :depends-on (:cl-smoke.qt.test :cl-smoke.qt.gui :FiveAM :trivial-garbage :cl-smoke.smoke) + :depends-on (:cl-smoke.qt.test :cl-smoke.qt.gui :cl-smoke.qt.opengl + :FiveAM :trivial-garbage :cl-smoke.smoke) :components ((:module "src" @@ -14,7 +15,10 @@ (:file "qbytearray" :depends-on ("tests")) (:file "qstring" :depends-on ("tests")) (:file "qvector" :depends-on ("tests")) + (:file "qlist" :depends-on ("tests")) + (:file "graphics-item" :depends-on ("tests")) (:file "overload" :depends-on ("tests")) + (:file "opengl" :depends-on ("tests")) (:file "gc" :depends-on ("tests" "object")) (:file "variant" :depends-on ("tests")) (:file "application" :depends-on ("tests")) diff -rN -u old-qt.tests/src/graphics-item.lisp new-qt.tests/src/graphics-item.lisp --- old-qt.tests/src/graphics-item.lisp 1970-01-01 01:00:00.000000000 +0100 +++ new-qt.tests/src/graphics-item.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -0,0 +1,18 @@ +(in-package :qt.tests) + +(5am:in-suite :qt.suite) + +(5am:test set-graphics-item + "Ownership transfer for QGraphicsScene::setItem." + (qt:with-app () + (let ((scene (make-instance 'qt:graphics-scene))) + (let ((item (make-instance 'qt:graphics-item))) + (cxx:set-tool-tip item "Foo") + (cxx:add-item scene item)) + (tg:gc :full t) + (tg:gc :full t) + (5am:is (= 1 (length (cxx:items scene)))) + (5am:is (string= "Foo" + (cxx:tool-tip (elt (cxx:items scene) 0)))) + ;; FIXME delete QGraphicsScene before the QApplication is deleted + (smoke::delete-object scene)))) diff -rN -u old-qt.tests/src/opengl.lisp new-qt.tests/src/opengl.lisp --- old-qt.tests/src/opengl.lisp 1970-01-01 01:00:00.000000000 +0100 +++ new-qt.tests/src/opengl.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -0,0 +1,24 @@ +(in-package :qt.tests) + +(5am:in-suite :qt.suite) + +(5am:test gluint + "GLuint conversion" + (qt:with-app () + (let* ((texture (make-instance 'qt:pixmap)) + (gl-widget (make-instance 'qt:glwidget)) + (id (cxx:bind-texture gl-widget texture))) + (5am:is (typep id '(integer 0))) + (cxx:delete-texture gl-widget id)))) + + +(5am:test glint + "Test GLint and GLenum conversion." + (qt:with-app () + (let* ((texture (make-instance 'qt:pixmap)) + (target 3553) ;(cffi:foreign-enum-value '%gl:enum :texture-2d)) + (format 6409) ;(cffi:foreign-enum-value '%gl:enum :rgba)) + (gl-widget (make-instance 'qt:glwidget)) + (id (cxx:bind-texture gl-widget texture target format))) + (5am:is (typep id '(integer 0))) + (cxx:delete-texture gl-widget id)))) diff -rN -u old-qt.tests/src/package.lisp new-qt.tests/src/package.lisp --- old-qt.tests/src/package.lisp 2014-11-19 23:10:49.000000000 +0100 +++ new-qt.tests/src/package.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -1,3 +1,3 @@ (defpackage :qt.tests - (:use :cl :trivial-garbage :bordeaux-threads) + (:use :cl :trivial-garbage :bordeaux-threads :cxx-support) (:export :run)) diff -rN -u old-qt.tests/src/properties.lisp new-qt.tests/src/properties.lisp --- old-qt.tests/src/properties.lisp 2014-11-19 23:10:49.000000000 +0100 +++ new-qt.tests/src/properties.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -35,3 +35,24 @@ (5am:for-all ((integer (5am:gen-integer))) (setf (qt:property o 'foo-bar) integer) (5am:is (= integer (qt:property o 'foo-bar)))))) + +(5am:test attributes + "Test C++ attribute access with slot-* functions." + (let ((o (make-instance 'qt:object))) + (5am:is (slot-boundp o :static-meta-object)) + (5am:is (slot-boundp (find-class 'qt:object) :static-meta-object)) + (5am:is (string= "QObject" + (cxx:class-name + (slot-value o :static-meta-object)))) + (5am:is (string= "QObject" + (cxx:class-name + (slot-value (find-class 'qt:object) + :static-meta-object)))) + (5am:signals error + (setf (slot-value o :static-meta-object) + (cffi:null-pointer)))) + (let ((data (make-instance 'qt:shared-data))) + (5am:is (slot-boundp data :ref)) + (5am:for-all ((value (5am:gen-integer :min -255 :max 255))) + (setf (slot-value data :ref) value) + (5am:is (cxx:= (slot-value data :ref) value))))) diff -rN -u old-qt.tests/src/qlist.lisp new-qt.tests/src/qlist.lisp --- old-qt.tests/src/qlist.lisp 1970-01-01 01:00:00.000000000 +0100 +++ new-qt.tests/src/qlist.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -0,0 +1,11 @@ +(in-package :qt.tests) + +(5am:in-suite :qt.suite) + +(5am:test variant-list + "QList" + (let ((variants (vector (qt:make-variant "foo")))) + (5am:is (every #'cxx:= + variants + (cxx:to-list (qt:make-variant variants)))))) + diff -rN -u old-qt.tests/src/variant.lisp new-qt.tests/src/variant.lisp --- old-qt.tests/src/variant.lisp 2014-11-19 23:10:49.000000000 +0100 +++ new-qt.tests/src/variant.lisp 2014-11-19 23:10:49.000000000 +0100 @@ -45,3 +45,17 @@ '(1 "asdf" #\a))))) (5am:is (string= "QVariantList" (cxx:type-name list))))) + +(5am:test exact-int-type-match + "Test overload resolution exact match long vs. int." + (5am:is (enum= qt:variant.+uint+ + (cxx:type (qt:make-variant 1)))) + (5am:is (enum= qt:variant.+int+ + (cxx:type (qt:make-variant -1))))) + ;; on 32 bit sizeof(long) == sizeof(int) thus not test for that. + +(5am:test variant-color + "Test QColor variant." + (let ((color (make-instance 'qt:color :arg0 qt:+green+))) + (5am:is (string= (cxx:name color) + (cxx:name (qt:value (qt:make-variant color)))))))