summaryrefslogtreecommitdiff
path: root/platform/qt/test
diff options
context:
space:
mode:
Diffstat (limited to 'platform/qt/test')
-rw-r--r--platform/qt/test/headless_backend_qt.cpp46
-rw-r--r--platform/qt/test/qmapboxgl.cpp99
-rw-r--r--platform/qt/test/qmapboxgl.test.cpp77
-rw-r--r--platform/qt/test/qmapboxgl.test.hpp36
4 files changed, 113 insertions, 145 deletions
diff --git a/platform/qt/test/headless_backend_qt.cpp b/platform/qt/test/headless_backend_qt.cpp
deleted file mode 100644
index 5f95b2f96a..0000000000
--- a/platform/qt/test/headless_backend_qt.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <mbgl/gl/headless_backend.hpp>
-
-#include <QGLWidget>
-
-#if QT_VERSION >= 0x050000
-#include <QOpenGLContext>
-#else
-#include <QGLContext>
-#endif
-
-#include <cassert>
-
-namespace mbgl {
-
-struct QtImpl : public HeadlessBackend::Impl {
- void activateContext() final {
- widget.makeCurrent();
- }
-
- void deactivateContext() final {
- widget.doneCurrent();
- }
-
- QGLWidget widget;
-};
-
-gl::ProcAddress HeadlessBackend::initializeExtension(const char* name) {
-#if QT_VERSION >= 0x050000
- QOpenGLContext* thisContext = QOpenGLContext::currentContext();
- return thisContext->getProcAddress(name);
-#else
- const QGLContext* thisContext = QGLContext::currentContext();
- return reinterpret_cast<gl::ProcAddress>(thisContext->getProcAddress(name));
-#endif
-}
-
-bool HeadlessBackend::hasDisplay() {
- return true;
-};
-
-void HeadlessBackend::createContext() {
- assert(!hasContext());
- impl.reset(new QtImpl);
-}
-
-} // namespace mbgl
diff --git a/platform/qt/test/qmapboxgl.cpp b/platform/qt/test/qmapboxgl.cpp
deleted file mode 100644
index 747f8796fa..0000000000
--- a/platform/qt/test/qmapboxgl.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <mbgl/test/util.hpp>
-#include <mbgl/util/io.hpp>
-
-#include <QApplication>
-#include <QMapbox>
-#include <QMapboxGL>
-
-// We're using QGLFramebufferObject, which is only available in Qt 5 and up.
-#if QT_VERSION >= 0x050000
-
-#include <QGLWidget>
-#include <QGLFramebufferObject>
-
-class QMapboxGLTest : public QObject, public ::testing::Test {
- Q_OBJECT
-
-public:
- QMapboxGLTest() : size(512, 512), fbo((assert(widget.context()->isValid()), widget.makeCurrent(), size)), map(nullptr, settings, size) {
- connect(&map, SIGNAL(mapChanged(QMapboxGL::MapChange)),
- this, SLOT(onMapChanged(QMapboxGL::MapChange)));
- connect(&map, SIGNAL(needsRendering()),
- this, SLOT(onNeedsRendering()));
- map.resize(fbo.size(), fbo.size());
- map.setFramebufferObject(fbo.handle());
- map.setCoordinateZoom(QMapbox::Coordinate(60.170448, 24.942046), 14);
- }
-
- void runUntil(QMapboxGL::MapChange status) {
- changeCallback = [&](QMapboxGL::MapChange change) {
- if (change == status) {
- qApp->exit();
- changeCallback = nullptr;
- }
- };
-
- qApp->exec();
- }
-
-private:
- QGLWidget widget;
- const QSize size;
- QGLFramebufferObject fbo;
-
-protected:
- QMapboxGLSettings settings;
- QMapboxGL map;
-
- std::function<void(QMapboxGL::MapChange)> changeCallback;
-
-private slots:
- void onMapChanged(QMapboxGL::MapChange change) {
- if (changeCallback) {
- changeCallback(change);
- }
- };
-
- void onNeedsRendering() {
- widget.makeCurrent();
- fbo.bind();
- glViewport(0, 0, fbo.width(), fbo.height());
- map.render();
- };
-};
-
-TEST_F(QMapboxGLTest, TEST_DISABLED_ON_CI(styleJson)) {
- QString json = QString::fromStdString(
- mbgl::util::read_file("test/fixtures/resources/style_vector.json"));
-
- map.setStyleJson(json);
- ASSERT_EQ(map.styleJson(), json);
- runUntil(QMapboxGL::MapChangeDidFinishLoadingMap);
-
- map.setStyleJson("invalid json");
- runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
-
- map.setStyleJson("\"\"");
- runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
-
- map.setStyleJson(QString());
- runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
-}
-
-TEST_F(QMapboxGLTest, TEST_DISABLED_ON_CI(styleUrl)) {
- QString url(QMapbox::defaultStyles()[0].first);
-
- map.setStyleUrl(url);
- ASSERT_EQ(map.styleUrl(), url);
- runUntil(QMapboxGL::MapChangeDidFinishLoadingMap);
-
- map.setStyleUrl("invalid://url");
- runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
-
- map.setStyleUrl(QString());
- runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
-}
-
-#include "qmapboxgl.moc"
-
-#endif
diff --git a/platform/qt/test/qmapboxgl.test.cpp b/platform/qt/test/qmapboxgl.test.cpp
new file mode 100644
index 0000000000..c6ae3ed403
--- /dev/null
+++ b/platform/qt/test/qmapboxgl.test.cpp
@@ -0,0 +1,77 @@
+#include "qmapboxgl.test.hpp"
+
+#include <mbgl/util/io.hpp>
+
+#include <QMapbox>
+
+// We're using QGLFramebufferObject, which is only available in Qt 5 and up.
+#if QT_VERSION >= 0x050000
+
+QMapboxGLTest::QMapboxGLTest() : size(512, 512), fbo((assert(widget.context()->isValid()), widget.makeCurrent(), size)), map(nullptr, settings, size) {
+ connect(&map, SIGNAL(mapChanged(QMapboxGL::MapChange)),
+ this, SLOT(onMapChanged(QMapboxGL::MapChange)));
+ connect(&map, SIGNAL(needsRendering()),
+ this, SLOT(onNeedsRendering()));
+ map.resize(fbo.size(), fbo.size());
+ map.setFramebufferObject(fbo.handle());
+ map.setCoordinateZoom(QMapbox::Coordinate(60.170448, 24.942046), 14);
+}
+
+void QMapboxGLTest::runUntil(QMapboxGL::MapChange status) {
+ changeCallback = [&](QMapboxGL::MapChange change) {
+ if (change == status) {
+ qApp->exit();
+ changeCallback = nullptr;
+ }
+ };
+
+ qApp->exec();
+}
+
+void QMapboxGLTest::onMapChanged(QMapboxGL::MapChange change) {
+ if (changeCallback) {
+ changeCallback(change);
+ }
+}
+
+void QMapboxGLTest::onNeedsRendering() {
+ widget.makeCurrent();
+ fbo.bind();
+ glViewport(0, 0, fbo.width(), fbo.height());
+ map.render();
+}
+
+
+TEST_F(QMapboxGLTest, TEST_DISABLED_ON_CI(styleJson)) {
+ QString json = QString::fromStdString(
+ mbgl::util::read_file("test/fixtures/resources/style_vector.json"));
+
+ map.setStyleJson(json);
+ ASSERT_EQ(map.styleJson(), json);
+ runUntil(QMapboxGL::MapChangeDidFinishLoadingMap);
+
+ map.setStyleJson("invalid json");
+ runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
+
+ map.setStyleJson("\"\"");
+ runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
+
+ map.setStyleJson(QString());
+ runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
+}
+
+TEST_F(QMapboxGLTest, TEST_DISABLED_ON_CI(styleUrl)) {
+ QString url(QMapbox::defaultStyles()[0].first);
+
+ map.setStyleUrl(url);
+ ASSERT_EQ(map.styleUrl(), url);
+ runUntil(QMapboxGL::MapChangeDidFinishLoadingMap);
+
+ map.setStyleUrl("invalid://url");
+ runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
+
+ map.setStyleUrl(QString());
+ runUntil(QMapboxGL::MapChangeDidFailLoadingMap);
+}
+
+#endif
diff --git a/platform/qt/test/qmapboxgl.test.hpp b/platform/qt/test/qmapboxgl.test.hpp
new file mode 100644
index 0000000000..04d63610ca
--- /dev/null
+++ b/platform/qt/test/qmapboxgl.test.hpp
@@ -0,0 +1,36 @@
+#include <mbgl/test/util.hpp>
+
+#include <QApplication>
+#include <QMapboxGL>
+
+// We're using QGLFramebufferObject, which is only available in Qt 5 and up.
+#if QT_VERSION >= 0x050000
+
+#include <QGLWidget>
+#include <QGLFramebufferObject>
+
+class QMapboxGLTest : public QObject, public ::testing::Test {
+ Q_OBJECT
+
+public:
+ QMapboxGLTest();
+
+ void runUntil(QMapboxGL::MapChange);
+
+private:
+ QGLWidget widget;
+ const QSize size;
+ QGLFramebufferObject fbo;
+
+protected:
+ QMapboxGLSettings settings;
+ QMapboxGL map;
+
+ std::function<void(QMapboxGL::MapChange)> changeCallback;
+
+private slots:
+ void onMapChanged(QMapboxGL::MapChange);
+ void onNeedsRendering();
+};
+
+#endif