(in-package :qt.tests) (5am:in-suite :qt.suite) (5am:test with-app "Tests qt:with-app and qt:with-core-app" (let ((nested (qt:app-p))) (5am:for-all ((core-p (5am:gen-one-element nil t))) (unless nested (5am:is (eql nil (qt:app-p)))) (if core-p (qt:with-core-app () (5am:is (eql t (qt:app-p))) (5am:is (string= "QCoreApplication" (cxx:class-name (cxx:meta-object (qt:app))))) (setf (cxx:object-name (qt:app)) "core-app")) ;; test for memfault (qt:with-app () (5am:is (eql t (qt:app-p))) (5am:is (string= "QApplication" (cxx:class-name (cxx:meta-object (qt:app))))) (setf (cxx:object-name (qt:app)) "app"))) (unless nested (5am:is (eql nil (qt:app-p))))))) (5am:test application-nest "Test qt:with-core-app nesting." (qt:with-core-app () (5am:is (eql (qt:app) (qt:core-application.instance))) (qt:with-core-app () (5am:is (eql (qt:app) (qt:core-application.instance)))) (5am:is (eql (qt:app) (qt:core-application.instance))))) (5am:test application-widgetlist "Test cxx:all-widgets" (qt:with-app () (5am:is (= 0 (length (cxx:all-widgets (qt:app))))) (let ((w (make-instance 'qt:widget))) (5am:is (find w (cxx:all-widgets (qt:app)))))))