Fixed error when assigning a volatile int to a JsonVariant (issue #415)

This commit is contained in:
Benoit Blanchon
2017-01-11 10:17:27 +01:00
parent f17e1c4a80
commit 11432253a1
3 changed files with 15 additions and 1 deletions

View File

@ -1,6 +1,11 @@
ArduinoJson: change log
=======================
HEAD
----
* Fixed error when assigning a `volatile int` to a `JsonVariant` (issue #415)
v5.8.0
------

View File

@ -19,7 +19,7 @@ class IsBaseOf {
typedef char No[2];
static Yes &probe(const TBase *);
static No &probe(const void *);
static No &probe(...);
public:
enum {

View File

@ -38,6 +38,15 @@ TEST_(StoreInteger) {
EXPECT_FALSE(_object["hello"].is<double>());
}
TEST_(StoreVolatileInteger) { // issue #415
volatile int i = 123;
_object["hello"] = i;
EXPECT_EQ(123, _object["hello"].as<int>());
EXPECT_TRUE(_object["hello"].is<int>());
EXPECT_FALSE(_object["hello"].is<double>());
}
TEST_(StoreDouble) {
_object["hello"] = 123.45;