diff options
Diffstat (limited to 'test/sprite/sprite_image_collection.test.cpp')
-rw-r--r-- | test/sprite/sprite_image_collection.test.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/sprite/sprite_image_collection.test.cpp b/test/sprite/sprite_image_collection.test.cpp new file mode 100644 index 0000000000..51ea20fdf3 --- /dev/null +++ b/test/sprite/sprite_image_collection.test.cpp @@ -0,0 +1,45 @@ +#include <mbgl/test/util.hpp> +#include <mbgl/test/fixture_log_observer.hpp> + +#include <mbgl/sprite/sprite_image_collection.hpp> +#include <mbgl/util/image.hpp> +#include <mbgl/util/string.hpp> + +#include <utility> + +using namespace mbgl; + +TEST(SpriteImageCollection, OtherPixelRatio) { + FixtureLog log; + Images images; + + // Adding mismatched sprite image + addSpriteImage(images, "one", std::make_unique<style::Image>(PremultipliedImage({ 8, 8 }), 2)); +} + +TEST(SpriteImageCollection, Replace) { + FixtureLog log; + Images images; + + addSpriteImage(images, "sprite", std::make_unique<style::Image>(PremultipliedImage({ 16, 16 }), 2)); + auto image = images.find("sprite")->second.get(); + addSpriteImage(images, "sprite", std::make_unique<style::Image>(PremultipliedImage({ 16, 16 }), 2)); + EXPECT_NE(image, images.find("sprite")->second.get()); +} + +TEST(SpriteImageCollection, ReplaceWithDifferentDimensions) { + FixtureLog log; + Images images; + + addSpriteImage(images, "sprite", std::make_unique<style::Image>(PremultipliedImage({ 16, 16 }), 2)); + addSpriteImage(images, "sprite", std::make_unique<style::Image>(PremultipliedImage({ 18, 18 }), 2)); + + EXPECT_EQ(1u, log.count({ + EventSeverity::Warning, + Event::Sprite, + int64_t(-1), + "Can't change sprite dimensions for 'sprite'", + })); +} + + |