diff --git a/test/src/unit-assert_macro.cpp b/test/src/unit-assert_macro.cpp index 416cda23..06aa0770 100644 --- a/test/src/unit-assert_macro.cpp +++ b/test/src/unit-assert_macro.cpp @@ -43,6 +43,8 @@ static int assert_counter; #include using nlohmann::json; +// the test assumes exceptions to work +#if not defined(JSON_NOEXCEPTION) TEST_CASE("JSON_ASSERT(x)") { SECTION("basic_json(first, second)") @@ -53,8 +55,11 @@ TEST_CASE("JSON_ASSERT(x)") json::iterator it; json j; + // in case assertions do not abort execution, an exception is thrown CHECK_THROWS_WITH_AS(json(it, j.end()), "[json.exception.invalid_iterator.201] iterators are not compatible", json::invalid_iterator); + // check that assertion actually happened CHECK(assert_counter == 1); } } +#endif