Skip to content

Commit 7d58705

Browse files
committed
test: added a test for loading a .tmx map with an error
1 parent 6e3d3e8 commit 7d58705

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

fxgl-entity/src/test/kotlin/com/almasb/fxgl/entity/level/tiled/TMXLevelLoaderTest.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package com.almasb.fxgl.entity.level.tiled
88

99
import com.almasb.fxgl.entity.*
1010
import com.almasb.fxgl.entity.components.IDComponent
11+
import com.almasb.fxgl.entity.level.LevelLoadingException
1112
import com.almasb.fxgl.test.RunWithFX
1213
import javafx.geometry.Point2D
1314
import javafx.scene.image.ImageView
@@ -17,8 +18,7 @@ import javafx.scene.shape.Polyline
1718
import org.hamcrest.CoreMatchers.`is`
1819
import org.hamcrest.CoreMatchers.not
1920
import org.hamcrest.MatcherAssert.assertThat
20-
import org.junit.jupiter.api.Assertions.assertFalse
21-
import org.junit.jupiter.api.Assertions.assertTrue
21+
import org.junit.jupiter.api.Assertions.*
2222
import org.junit.jupiter.api.Test
2323
import org.junit.jupiter.api.extension.ExtendWith
2424
import org.junit.jupiter.params.ParameterizedTest
@@ -207,6 +207,18 @@ class TMXLevelLoaderTest {
207207
assertThat(level.entities.size, `is`(2))
208208
}
209209

210+
@Test
211+
fun `Load a map with an error`() {
212+
val world = GameWorld()
213+
214+
val e = assertThrows(LevelLoadingException::class.java) {
215+
TMXLevelLoader().load(javaClass.getResource("map_with_error.tmx"), world)
216+
}
217+
218+
assertNotNull(e.message)
219+
assertTrue(e.message!!.isNotEmpty())
220+
}
221+
210222
@ParameterizedTest
211223
@CsvSource("sewers_v1_1_2.tmx", "sewers_v1_2_3.tmx", "sewers_v1_9_0.tmx")
212224
fun parse(mapName: String) {
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<map version="1.9" tiledversion="1.9.0" orientation="orthogonal" renderorder="right-down" width="64" height="64" tilewidth="24" tileheight="24" infinite="0" nextlayerid="5" nextobjectid="7">
3+
<tileset firstgid="1" name="sewer_tileset" tilewidth="24" tileheight="24" tilecount="72" columns="8">
4+
<image source="sewer_tileset.png" trans="ff00ff" width="192" height="217"/>
5+
</tileset>
6+
<layer id="1" name="Bottom" width="64" height="64">
7+
<data encoding="base64" compression="zlib">
8+
eJztmN1qwkAQRpfeabWgFaHqja1af97D93+kjpiBZdikmwTd7Ho+OFCMRc+E4Vszdc59CN8VE2HqvfYjbCq25rp/LfSetvjfw372f3SN/Vz84/13wlnYV9z+PmTuvxDehGWEf4n3fySMhfce/jrDtujMU/rPhLnw2cNfZxjit+Gazlz36pLA39LFX2focwy8ZgnNPDf/k7vfuz60ue9D679UDMX/S1gJ6xf13wb+b8j+tnf69r/uf5cdTuHv905M//vzKWH//d6J6X9/PiXsf13v1fXfbT7Xaj4l7H+bLrbdHtrx3PY/xa7ijz/++fhrp1me3XGp/LXTmroxNY/2t8+0Svn9F+tvn2mVcv6N9bfPtOrOv6X667l37prPvyX61z3TevYZN5V/DuCPP/74448//vjjjz/++OOPP/74448//vjjjz8hhBBCCCGEkNfLHzZhCrU=
9+
</data>
10+
</layer>
11+
<layer id="2" name="Top" width="64" height="64" opacity="0.49">
12+
<data encoding="base64" compression="zlib">
13+
eJzt1zEOwjAQRFEXhCrJVVKEQIHouP+Z2CK+AhPJ70lfbsfltnYtz

0 commit comments

Comments
 (0)