diff options
Diffstat (limited to 'src/fmt/test/assert-test.cc')
-rw-r--r-- | src/fmt/test/assert-test.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/fmt/test/assert-test.cc b/src/fmt/test/assert-test.cc new file mode 100644 index 000000000..c74e617e6 --- /dev/null +++ b/src/fmt/test/assert-test.cc @@ -0,0 +1,31 @@ +// Formatting library for C++ - FMT_ASSERT test +// +// It is a separate test to minimize the number of EXPECT_DEBUG_DEATH checks +// which are slow on some platforms. In other tests FMT_ASSERT is made to throw +// an exception which is much faster and easier to check. +// +// Copyright (c) 2012 - present, Victor Zverovich +// All rights reserved. +// +// For the license information refer to format.h. + +#include "fmt/core.h" +#include "gtest/gtest.h" + +TEST(assert_test, fail) { +#if GTEST_HAS_DEATH_TEST + EXPECT_DEBUG_DEATH(FMT_ASSERT(false, "don't panic!"), "don't panic!"); +#else + fmt::print("warning: death tests are not supported\n"); +#endif +} + +TEST(assert_test, dangling_else) { + bool test_condition = false; + bool executed_else = false; + if (test_condition) + FMT_ASSERT(true, ""); + else + executed_else = true; + EXPECT_TRUE(executed_else); +} |