diff --git a/tests/data/assets/tilesets/env/dummy.png b/tests/data/assets/tilesets/env/dummy.png
new file mode 100644
index 0000000000..0a8a3261bd
Binary files /dev/null and b/tests/data/assets/tilesets/env/dummy.png differ
diff --git a/tests/data/assets/tilesets/env/dummy.tsx b/tests/data/assets/tilesets/env/dummy.tsx
new file mode 100644
index 0000000000..cf27dad1a4
--- /dev/null
+++ b/tests/data/assets/tilesets/env/dummy.tsx
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/data/internal_tileset.tmx b/tests/data/internal_tileset.tmx
new file mode 100644
index 0000000000..f4d8846248
--- /dev/null
+++ b/tests/data/internal_tileset.tmx
@@ -0,0 +1,12 @@
+
+
diff --git a/tests/data/missing_tileset.tmx b/tests/data/missing_tileset.tmx
new file mode 100644
index 0000000000..4afae2ed0b
--- /dev/null
+++ b/tests/data/missing_tileset.tmx
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/tests/data/nested_tileset.tmx b/tests/data/nested_tileset.tmx
new file mode 100644
index 0000000000..c0cc3a7ae8
--- /dev/null
+++ b/tests/data/nested_tileset.tmx
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/tests/mapreader/test_mapreader.cpp b/tests/mapreader/test_mapreader.cpp
index d599cbf6f6..5517668c4a 100644
--- a/tests/mapreader/test_mapreader.cpp
+++ b/tests/mapreader/test_mapreader.cpp
@@ -14,8 +14,36 @@ class test_MapReader : public QObject
private slots:
void loadMap();
+ void loadMap_missingExternalTileset();
+ void loadMap_nestedExternalTileset();
+ void loadMap_internalTileset();
};
+void test_MapReader::loadMap_missingExternalTileset()
+{
+ MapReader reader;
+ auto map = reader.readMap("../data/missing_tileset.tmx");
+
+ QVERIFY(map.get());
+ QVERIFY(!reader.errorString().isEmpty());
+}
+
+void test_MapReader::loadMap_nestedExternalTileset()
+{
+ MapReader reader;
+ auto map = reader.readMap("../data/nested_tileset.tmx");
+
+ QVERIFY(map.get());
+}
+
+void test_MapReader::loadMap_internalTileset()
+{
+ MapReader reader;
+ auto map = reader.readMap("../data/internal_tileset.tmx");
+
+ QVERIFY(map.get());
+}
+
void test_MapReader::loadMap()
{
MapReader reader;