diff --git a/Makefile b/Makefile index eb7525699..c16c3f87c 100644 --- a/Makefile +++ b/Makefile @@ -18,14 +18,18 @@ build/test/Makefile: src common config.gypi test/test.gyp deps/run_gyp test/test.gyp --depth=. -Goutput_dir=.. --generator-output=./build/test -f make test: build/test/Makefile - make -C build/test V=$(V) test + make -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) test # Runs all test cases run-tests: test - @for FILE in build/Release/test_*; do \ + @for FILE in build/$(BUILDTYPE)/test_*; do \ $${FILE}; \ done +test/%: + make -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) $* + build/$(BUILDTYPE)/test_$* + # Only runs headless test case run-headless-test: build/test/Makefile make -C build/test BUILDTYPE=Debug V=$(V) headless diff --git a/src/style/value.cpp b/src/style/value.cpp index f845990c7..87dfb128d 100644 --- a/src/style/value.cpp +++ b/src/style/value.cpp @@ -1,5 +1,7 @@ #include +#include + llmr::Value llmr::parseValue(pbf data) { while (data.next()) { @@ -32,6 +34,6 @@ std::string llmr::toString(const llmr::Value& value) { else if (value.is()) return value.get() ? "true" : "false"; else if (value.is()) return std::to_string(value.get()); else if (value.is()) return std::to_string(value.get()); - else if (value.is()) return std::to_string(value.get()); + else if (value.is()) return boost::lexical_cast(value.get()); else return "null"; } diff --git a/test/test.gyp b/test/test.gyp index 98e9b125b..3e5b7c88d 100644 --- a/test/test.gyp +++ b/test/test.gyp @@ -64,6 +64,22 @@ "../llmr.gyp:llmr-x86" ] }, + { + "target_name": "variant", + "product_name": "test_variant", + "type": "executable", + "libraries": [ + "-lpthread", + ], + "sources": [ + "./main.cpp", + "./variant.cpp", + ], + "dependencies": [ + "../deps/gtest/gtest.gyp:gtest", + "../llmr.gyp:llmr-x86" + ] + }, { "target_name": "headless", "product_name": "test_headless", @@ -88,7 +104,8 @@ "target_name": "test", "type": "none", "dependencies": [ - "rotation_range" + "rotation_range", + "variant", ], } ] diff --git a/test/variant.cpp b/test/variant.cpp new file mode 100644 index 000000000..8d5fd7327 --- /dev/null +++ b/test/variant.cpp @@ -0,0 +1,18 @@ +#include +#include "gtest/gtest.h" + +#include +#include + +using namespace llmr; + +TEST(Variant, toString) { + EXPECT_EQ("lord", llmr::toString( (std::string)"lord" )); + EXPECT_EQ("36", llmr::toString( (uint64_t)36 )); + EXPECT_EQ("-239", llmr::toString( (int64_t)-239 )); + EXPECT_EQ("0", llmr::toString( (int64_t)0 )); + EXPECT_EQ("3.14159268", llmr::toString( (double)3.14159268 )); + EXPECT_EQ("3.1415926535897931", llmr::toString( (double)3.1415926535897931 )); + EXPECT_EQ("true", llmr::toString( true )); + EXPECT_EQ("false", llmr::toString( false )); +}