From a983dc8259c52cc0a586212c1c24fd4ead2bccbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Wed, 18 Nov 2015 19:06:33 -0800 Subject: [PATCH 1/2] Ported replaceTokens() tests from GL JS --- test/miscellaneous/token.cpp | 50 ++++++++++++++++++++++++++++++++++++ test/test.gypi | 1 + 2 files changed, 51 insertions(+) create mode 100644 test/miscellaneous/token.cpp diff --git a/test/miscellaneous/token.cpp b/test/miscellaneous/token.cpp new file mode 100644 index 00000000000..638bf77b8de --- /dev/null +++ b/test/miscellaneous/token.cpp @@ -0,0 +1,50 @@ +#include +#include "../fixtures/util.hpp" + +#include + +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 ""; + })); +} diff --git a/test/test.gypi b/test/test.gypi index 366326a3a40..88448cc807a 100644 --- a/test/test.gypi +++ b/test/test.gypi @@ -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', From dc5a55c6704233780b605ee9dac1ca98d23a97e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Thu, 19 Nov 2015 12:35:28 -0800 Subject: [PATCH 2/2] Fixed Linux builds; code style --- test/miscellaneous/token.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/miscellaneous/token.cpp b/test/miscellaneous/token.cpp index 638bf77b8de..add31afbad2 100644 --- a/test/miscellaneous/token.cpp +++ b/test/miscellaneous/token.cpp @@ -6,44 +6,44 @@ using namespace mbgl; TEST(Token, replaceTokens) { - EXPECT_EQ("literal", mbgl::util::replaceTokens("literal", [](const std::string &token) -> std::string { + 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 { + 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 { + 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 { + 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 { + 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 { + 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 { + EXPECT_EQ(" but still", mbgl::util::replaceTokens("{notset} but still", [](const std::string&) -> std::string { return ""; })); - EXPECT_EQ("dashed", mbgl::util::replaceTokens("{dashed-property}", [](const std::string &token) -> std::string { + 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 { + 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 { + 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 ""; }));