summaryrefslogtreecommitdiff
path: root/test/storage/resource.cpp
blob: 0b04c1b3e45275b85db7562b4dbc7e1d9a7c28c5 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <mbgl/storage/resource.hpp>

#include <gtest/gtest.h>

TEST(Resource, Style) {
    using namespace mbgl;
    Resource resource = Resource::style("http://example.com");
    EXPECT_EQ(Resource::Kind::Style, resource.kind);
    EXPECT_EQ("http://example.com", resource.url);
}

TEST(Resource, Source) {
    using namespace mbgl;
    Resource resource = Resource::source("http://example.com");
    EXPECT_EQ(Resource::Kind::Source, resource.kind);
    EXPECT_EQ("http://example.com", resource.url);
}

TEST(Resource, Tile) {
    using namespace mbgl;

    Resource rasterTile = Resource::tile("http://example.com/{z}/{x}/{y}{ratio}.png", 2.0, 1, 2, 3);
    EXPECT_EQ(Resource::Kind::Tile, rasterTile.kind);
    EXPECT_EQ("http://example.com/3/1/2@2x.png", rasterTile.url);
    EXPECT_EQ("http://example.com/{z}/{x}/{y}{ratio}.png", rasterTile.tileData->urlTemplate);
    EXPECT_EQ(2, rasterTile.tileData->pixelRatio);
    EXPECT_EQ(1, rasterTile.tileData->x);
    EXPECT_EQ(2, rasterTile.tileData->y);
    EXPECT_EQ(3, rasterTile.tileData->z);

    Resource vectorTile = Resource::tile("http://example.com/{z}/{x}/{y}.mvt", 2.0, 1, 2, 3);
    EXPECT_EQ(Resource::Kind::Tile, vectorTile.kind);
    EXPECT_EQ("http://example.com/3/1/2.mvt", vectorTile.url);
    EXPECT_EQ("http://example.com/{z}/{x}/{y}.mvt", vectorTile.tileData->urlTemplate);
    EXPECT_EQ(1, vectorTile.tileData->pixelRatio);
    EXPECT_EQ(1, vectorTile.tileData->x);
    EXPECT_EQ(2, vectorTile.tileData->y);
    EXPECT_EQ(3, vectorTile.tileData->z);
}

TEST(Resource, Glyphs) {
    using namespace mbgl;
    Resource resource = Resource::glyphs("http://example.com/{fontstack}/{range}", "stack", {0, 255});
    EXPECT_EQ(Resource::Kind::Glyphs, resource.kind);
    EXPECT_EQ("http://example.com/stack/0-255", resource.url);
}

TEST(Resource, SpriteImage) {
    using namespace mbgl;
    Resource resource = Resource::spriteImage("http://example.com/sprite", 2.0);
    EXPECT_EQ(Resource::Kind::SpriteImage, resource.kind);
    EXPECT_EQ("http://example.com/sprite@2x.png", resource.url);
}

TEST(Resource, SpriteJSON) {
    using namespace mbgl;
    Resource resource = Resource::spriteJSON("http://example.com/sprite", 2.0);
    EXPECT_EQ(Resource::Kind::SpriteJSON, resource.kind);
    EXPECT_EQ("http://example.com/sprite@2x.json", resource.url);
}