summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Bache-Wiig <jens.bache-wiig@nokia.com>2010-09-08 12:23:40 +0200
committerJens Bache-Wiig <jens.bache-wiig@nokia.com>2010-09-08 12:23:40 +0200
commit4753082a99e42d8ebb3f93711183fa3d8afc70a0 (patch)
treef83c2331e93b1d553b42bca8839b2e0e2b24c3fd
parentf640900e20490e061020fe7c352439aa3167167f (diff)
Add initial test framewrok
-rw-r--r--tests/canvas/canvas.pro12
-rw-r--r--tests/canvas/tst_canvas.cpp90
-rw-r--r--tests/declarative.pro3
3 files changed, 105 insertions, 0 deletions
diff --git a/tests/canvas/canvas.pro b/tests/canvas/canvas.pro
new file mode 100644
index 0000000..2efd5b8
--- /dev/null
+++ b/tests/canvas/canvas.pro
@@ -0,0 +1,12 @@
+load(qttest_p4)
+
+QT += declarative
+SOURCES += tst_canvas.cpp
+
+SOURCES += ../../src/canvas.cpp
+SOURCES += ../../src/context2d.cpp
+HEADERS += ../../src/canvas.h
+HEADERS += ../../src/context2d.h
+
+DEFINES += SRCDIR=\\\"$$PWD\\\"
+
diff --git a/tests/canvas/tst_canvas.cpp b/tests/canvas/tst_canvas.cpp
new file mode 100644
index 0000000..743b600
--- /dev/null
+++ b/tests/canvas/tst_canvas.cpp
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qtest.h>
+#include <QTextDocument>
+#include <QDir>
+#include <QtDeclarative>
+#include <QDeclarativeEngine>
+#include "../../src/canvas.h"
+
+class tst_canvas : public QObject
+
+{
+ Q_OBJECT
+
+private slots:
+ void create();
+ void initTestCase();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+void tst_canvas::initTestCase()
+{
+ qDebug("init");
+ const char *uri ="com.nokia.qmlcanvas";
+ qmlRegisterType<Canvas>(uri, 1, 0, "Canvas");
+ qmlRegisterType<Context2D>(uri, 1, 0, "Context2D");
+ qmlRegisterUncreatableType<CanvasImage>(uri, 1, 0, "CanvasImage", QString());
+ qmlRegisterUncreatableType<CanvasGradient>(uri, 1, 0, "Gradient", QString());
+}
+
+
+void tst_canvas::create()
+{
+ QString componentStr = "import Qt 4.7 \n"
+ "import com.nokia.qmlcanvas 1.0\n"
+ "Canvas { width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ qDebug("a %p", component.create());
+ Canvas *obj = qobject_cast<Canvas*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->fillMode(), Canvas::Stretch);
+ delete obj;
+}
+
+
+QTEST_MAIN(tst_canvas)
+
+#include "tst_canvas.moc"
diff --git a/tests/declarative.pro b/tests/declarative.pro
new file mode 100644
index 0000000..c76dac3
--- /dev/null
+++ b/tests/declarative.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS += canvas
+