Fixed invalid result from operator| (closes #981)

This commit is contained in:
Benoit Blanchon
2019-05-07 08:12:18 +02:00
parent 0588e578d5
commit eaf55e174b
3 changed files with 36 additions and 15 deletions

View File

@ -51,6 +51,12 @@ TEST_CASE("JsonVariant::operator|()") {
REQUIRE(result == "default");
}
SECTION("int | uint8_t (out of range)") {
variant.set(666);
uint8_t result = variant | static_cast<uint8_t>(42);
REQUIRE(result == 42);
}
SECTION("int | int") {
variant.set(0);
int result = variant | 666;
@ -58,8 +64,9 @@ TEST_CASE("JsonVariant::operator|()") {
}
SECTION("double | int") {
variant.set(42.0);
int result = variant | 666;
// NOTE: changed the behavior to fix #981
variant.set(666.0);
int result = variant | 42;
REQUIRE(result == 42);
}