From a241d53d2862ae550b167897abd61b271bec7349 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Tue, 5 Apr 2016 20:47:04 +0200 Subject: [PATCH] Added `JsonVariant::as()` as a synonym for `JsonVariant::as()` (issue #257) --- CHANGELOG.md | 5 +++++ include/ArduinoJson/JsonVariant.hpp | 3 ++- test/JsonVariant_As_Tests.cpp | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ea8888c..be842280 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Added `JsonVariant::as()` as a synonym for `JsonVariant::as()` (issue #257) + v5.1.1 ------ diff --git a/include/ArduinoJson/JsonVariant.hpp b/include/ArduinoJson/JsonVariant.hpp index 6edc25f0..dfffe3f8 100644 --- a/include/ArduinoJson/JsonVariant.hpp +++ b/include/ArduinoJson/JsonVariant.hpp @@ -115,7 +115,8 @@ class JsonVariant : public JsonVariantBase { // const char* as() const; // const char* as() const; template - typename TypeTraits::EnableIf::value, + typename TypeTraits::EnableIf::value || + TypeTraits::IsSame::value, const char *>::type as() const { return asString(); diff --git a/test/JsonVariant_As_Tests.cpp b/test/JsonVariant_As_Tests.cpp index cc980ba3..f12d8931 100644 --- a/test/JsonVariant_As_Tests.cpp +++ b/test/JsonVariant_As_Tests.cpp @@ -159,6 +159,16 @@ TEST(JsonVariant_As_Tests, RandomStringAsLong) { ASSERT_EQ(0L, variant.as()); } +TEST(JsonVariant_As_Tests, RandomStringAsConstCharPtr) { + JsonVariant variant = "hello"; + ASSERT_STREQ("hello", variant.as()); +} + +TEST(JsonVariant_As_Tests, RandomStringAsCharPtr) { + JsonVariant variant = "hello"; + ASSERT_STREQ("hello", variant.as()); +} + TEST(JsonVariant_As_Tests, RandomStringAsString) { JsonVariant variant = "hello"; ASSERT_EQ(String("hello"), variant.as());