From d171d0aef893cbcda397c5b176f83f51a23e7099 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Mon, 24 May 2010 05:58:46 +0000 Subject: [PATCH] Add a regression test for r4347. Originally committed to SVN as r4358. --- aegisub/tests/libaegisub_mru.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/aegisub/tests/libaegisub_mru.cpp b/aegisub/tests/libaegisub_mru.cpp index aa43f8454..e8248475e 100644 --- a/aegisub/tests/libaegisub_mru.cpp +++ b/aegisub/tests/libaegisub_mru.cpp @@ -82,3 +82,18 @@ TEST_F(lagi_mru, MRUKeyValid) { EXPECT_NO_THROW(mru.Add("Valid", "/path/to/file")); } + +// Check to make sure an entry is really removed. This was fixed in +// r4347, the entry was being removed from a copy of the map internally. +TEST_F(lagi_mru, MRUEntryRemove_r4347) { + + agi::MRUManager mru(conf_ok, default_mru); + EXPECT_NO_THROW(mru.Add("Valid", "/path/to/file")); + EXPECT_NO_THROW(mru.Remove("Valid", "/path/to/file")); + + const agi::MRUManager::MRUListMap *map_list = mru.Get("Valid"); + agi::MRUManager::MRUListMap::const_iterator i_lst = map_list->begin(); + + if ((i_lst != map_list->end()) && (i_lst->second == "/path/to/file")) + FAIL() << "r4347 regression, Entry exists after remove"; +}