From 25748d0ac2d2487b5f4d3ae4c2f7453e0da96893 Mon Sep 17 00:00:00 2001 From: codereader Date: Thu, 14 Oct 2021 11:57:28 +0200 Subject: [PATCH] #5780: Expand unit tests to the "OpenMap" command --- test/MapSavingLoading.cpp | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/test/MapSavingLoading.cpp b/test/MapSavingLoading.cpp index 83f77ce6fa..7252cdf296 100644 --- a/test/MapSavingLoading.cpp +++ b/test/MapSavingLoading.cpp @@ -1374,6 +1374,15 @@ TEST_F(MapSavingTest, NewMapWithoutUnsavedChanges) }); } +TEST_F(MapSavingTest, OpenMapWithoutUnsavedChanges) +{ + checkBehaviourWithoutUnsavedChanges([]() + { + // Opening a new map will not ask for save, since it hasn't been changed + GlobalCommandSystem().executeCommand("OpenMap", cmd::Argument("maps/csg_merge.map")); + }); +} + TEST_F(MapSavingTest, NewMapDiscardingUnsavedChanges) { checkBehaviourDiscardingUnsavedChanges(_context.getTestProjectPath(), []() @@ -1383,6 +1392,15 @@ TEST_F(MapSavingTest, NewMapDiscardingUnsavedChanges) }); } +TEST_F(MapSavingTest, OpenMapDiscardingUnsavedChanges) +{ + checkBehaviourDiscardingUnsavedChanges(_context.getTestProjectPath(), []() + { + // Opening a new map must ask for save, since the file has been changed + GlobalCommandSystem().executeCommand("OpenMap", cmd::Argument("maps/csg_merge.map")); + }); +} + TEST_F(MapSavingTest, NewMapSavingChanges) { auto mapPath = createMapCopyInTempDataPath("altar.map", "altar_NewMapSavingChanges.map"); @@ -1394,6 +1412,17 @@ TEST_F(MapSavingTest, NewMapSavingChanges) }); } +TEST_F(MapSavingTest, OpenMapSavingChanges) +{ + auto mapPath = createMapCopyInTempDataPath("altar.map", "altar_NewMapSavingChanges.map"); + + checkBehaviourSavingUnsavedChanges(mapPath.string(), []() + { + // Opening a new map must ask for save, since the file has been changed + GlobalCommandSystem().executeCommand("OpenMap", cmd::Argument("maps/csg_merge.map")); + }); +} + TEST_F(MapSavingTest, NewMapCancelWithUnsavedChanges) { auto mapPath = createMapCopyInTempDataPath("altar.map", "altar_NewMapCancelWithUnsavedChanges.map"); @@ -1405,4 +1434,15 @@ TEST_F(MapSavingTest, NewMapCancelWithUnsavedChanges) }); } +TEST_F(MapSavingTest, OpenMapCancelWithUnsavedChanges) +{ + auto mapPath = createMapCopyInTempDataPath("altar.map", "altar_NewMapCancelWithUnsavedChanges.map"); + + checkBehaviourCancellingMapChange(mapPath.string(), []() + { + // Opening a new map must ask for save, since the file has been changed + GlobalCommandSystem().executeCommand("OpenMap", cmd::Argument("maps/csg_merge.map")); + }); +} + }