summaryrefslogtreecommitdiff
path: root/test/sprite/sprite_image_collection.test.cpp
blob: 788d7a59d5341d13953953489e9d2b0bc045f51e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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, std::make_unique<style::Image>("one", PremultipliedImage({ 8, 8 }), 2));
}

TEST(SpriteImageCollection, Replace) {
    FixtureLog log;
    Images images;

    addSpriteImage(images, std::make_unique<style::Image>("sprite", PremultipliedImage({ 16, 16 }), 2));
    auto image = images.find("sprite")->second.get();
    addSpriteImage(images, std::make_unique<style::Image>("sprite", PremultipliedImage({ 16, 16 }), 2));
    EXPECT_NE(image, images.find("sprite")->second.get());
}

TEST(SpriteImageCollection, ReplaceWithDifferentDimensions) {
    FixtureLog log;
    Images images;

    addSpriteImage(images, std::make_unique<style::Image>("sprite", PremultipliedImage({ 16, 16 }), 2));
    addSpriteImage(images, std::make_unique<style::Image>("sprite", PremultipliedImage({ 18, 18 }), 2));

    EXPECT_EQ(1u, log.count({
                                    EventSeverity::Warning,
                                    Event::Sprite,
                                    int64_t(-1),
                                    "Can't change sprite dimensions for 'sprite'",
                            }));
}