[core] also remove version info in ImageManager when removing an image (#15397)

This commit is contained in:
Konstantin Käfer
2019-08-19 22:54:30 +02:00
committed by Dane Springmeyer
parent f4e187bde4
commit 71a334152a
2 changed files with 13 additions and 0 deletions

View File

@@ -81,6 +81,7 @@ void ImageManager::removeImage(const std::string& id) {
requestedImages.erase(requestedIt);
}
images.erase(it);
updatedImageVersions.erase(id);
}
const style::Image::Impl* ImageManager::getImage(const std::string& id) const {

View File

@@ -50,6 +50,18 @@ TEST(ImageManager, AddRemove) {
EXPECT_EQ(nullptr, imageManager.getImage("four"));
}
TEST(ImageManager, Update) {
FixtureLog log;
ImageManager imageManager;
imageManager.addImage(makeMutable<style::Image::Impl>("one", PremultipliedImage({ 16, 16 }), 2));
EXPECT_EQ(0, imageManager.updatedImageVersions.size());
imageManager.updateImage(makeMutable<style::Image::Impl>("one", PremultipliedImage({ 16, 16 }), 2));
EXPECT_EQ(1, imageManager.updatedImageVersions.size());
imageManager.removeImage("one");
EXPECT_EQ(0, imageManager.updatedImageVersions.size());
}
TEST(ImageManager, RemoveReleasesBinPackRect) {
FixtureLog log;
ImageManager imageManager;