Ported replaceTokens() tests from GL JS

This commit is contained in:
Minh Nguyễn
2015-11-18 19:06:33 -08:00
parent f2a28f095b
commit a983dc8259
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
#include <iostream>
#include "../fixtures/util.hpp"
#include <mbgl/util/token.hpp>
using namespace mbgl;
TEST(Token, replaceTokens) {
EXPECT_EQ("literal", mbgl::util::replaceTokens("literal", [](const std::string &token) -> std::string {
if (token == "name") return "14th St NW";
return "";
}));
EXPECT_EQ("14th St NW", mbgl::util::replaceTokens("{name}", [](const std::string &token) -> std::string {
if (token == "name") return "14th St NW";
return "";
}));
EXPECT_EQ("", mbgl::util::replaceTokens("{name}", [](const std::string &token) -> std::string {
if (token == "text") return "14th St NW";
return "";
}));
EXPECT_EQ("1400", mbgl::util::replaceTokens("{num}", [](const std::string &token) -> std::string {
if (token == "num") return "1400";
return "";
}));
EXPECT_EQ("500 m", mbgl::util::replaceTokens("{num} m", [](const std::string &token) -> std::string {
if (token == "num") return "500";
return "";
}));
EXPECT_EQ("3 Fine Fields", mbgl::util::replaceTokens("{a} {b} {c}", [](const std::string &token) -> std::string {
if (token == "a") return "3";
if (token == "b") return "Fine";
if (token == "c") return "Fields";
return "";
}));
EXPECT_EQ(" but still", mbgl::util::replaceTokens("{notset} but still", [](__unused const std::string &token) -> std::string {
return "";
}));
EXPECT_EQ("dashed", mbgl::util::replaceTokens("{dashed-property}", [](const std::string &token) -> std::string {
if (token == "dashed-property") return "dashed";
return "";
}));
EXPECT_EQ("150 m", mbgl::util::replaceTokens("{HØYDE} m", [](const std::string &token) -> std::string {
if (token == "HØYDE") return "150";
return "";
}));
EXPECT_EQ("reserved {for:future} use", mbgl::util::replaceTokens("reserved {for:future} use", [](const std::string &token) -> std::string {
if (token == "for:future") return "unknown";
return "";
}));
}

View File

@@ -60,6 +60,7 @@
'miscellaneous/text_conversions.cpp',
'miscellaneous/thread.cpp',
'miscellaneous/tile.cpp',
'miscellaneous/token.cpp',
'miscellaneous/transform.cpp',
'miscellaneous/work_queue.cpp',
'miscellaneous/variant.cpp',