Sat Apr 3 21:13:24 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test static member variable access using slot-value with a class object.
Sat Apr 3 14:52:50 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test slot-value for C++ attributes.
Sat Apr 3 14:50:36 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test qt.opengl conversions.
Sat Feb 20 22:06:45 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test (qt:value (qt:make-variant qt:+green+))
Sat Feb 20 19:06:27 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test overload resolution exact match for long and ulong.
Mon Jan 25 22:13:40 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Test QGraphicsScene::setItem
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-10-30 07:54:46.000000000 +0100
+++ new-qt.tests/cl-smoke.qt.tests.asd 2014-10-30 07:54:46.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"
@@ -15,7 +16,9 @@
(: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-10-30 07:54:46.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-10-30 07:54:46.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-10-30 07:54:46.000000000 +0100
+++ new-qt.tests/src/package.lisp 2014-10-30 07:54:46.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-10-30 07:54:46.000000000 +0100
+++ new-qt.tests/src/properties.lisp 2014-10-30 07:54:46.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/variant.lisp new-qt.tests/src/variant.lisp
--- old-qt.tests/src/variant.lisp 2014-10-30 07:54:46.000000000 +0100
+++ new-qt.tests/src/variant.lisp 2014-10-30 07:54:46.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)))))))