1*5c90c05cSAndroid Build Coastguard Worker // Formatting library for C++ - FMT_ASSERT test 2*5c90c05cSAndroid Build Coastguard Worker // 3*5c90c05cSAndroid Build Coastguard Worker // It is a separate test to minimize the number of EXPECT_DEBUG_DEATH checks 4*5c90c05cSAndroid Build Coastguard Worker // which are slow on some platforms. In other tests FMT_ASSERT is made to throw 5*5c90c05cSAndroid Build Coastguard Worker // an exception which is much faster and easier to check. 6*5c90c05cSAndroid Build Coastguard Worker // 7*5c90c05cSAndroid Build Coastguard Worker // Copyright (c) 2012 - present, Victor Zverovich 8*5c90c05cSAndroid Build Coastguard Worker // All rights reserved. 9*5c90c05cSAndroid Build Coastguard Worker // 10*5c90c05cSAndroid Build Coastguard Worker // For the license information refer to format.h. 11*5c90c05cSAndroid Build Coastguard Worker 12*5c90c05cSAndroid Build Coastguard Worker #include "fmt/base.h" 13*5c90c05cSAndroid Build Coastguard Worker #include "gtest/gtest.h" 14*5c90c05cSAndroid Build Coastguard Worker TEST(assert_test,fail)15*5c90c05cSAndroid Build Coastguard WorkerTEST(assert_test, fail) { 16*5c90c05cSAndroid Build Coastguard Worker #if GTEST_HAS_DEATH_TEST 17*5c90c05cSAndroid Build Coastguard Worker EXPECT_DEBUG_DEATH(FMT_ASSERT(false, "don't panic!"), "don't panic!"); 18*5c90c05cSAndroid Build Coastguard Worker #else 19*5c90c05cSAndroid Build Coastguard Worker fmt::print("warning: death tests are not supported\n"); 20*5c90c05cSAndroid Build Coastguard Worker #endif 21*5c90c05cSAndroid Build Coastguard Worker } 22*5c90c05cSAndroid Build Coastguard Worker TEST(assert_test,dangling_else)23*5c90c05cSAndroid Build Coastguard WorkerTEST(assert_test, dangling_else) { 24*5c90c05cSAndroid Build Coastguard Worker bool test_condition = false; 25*5c90c05cSAndroid Build Coastguard Worker bool executed_else = false; 26*5c90c05cSAndroid Build Coastguard Worker if (test_condition) 27*5c90c05cSAndroid Build Coastguard Worker FMT_ASSERT(true, ""); 28*5c90c05cSAndroid Build Coastguard Worker else 29*5c90c05cSAndroid Build Coastguard Worker executed_else = true; 30*5c90c05cSAndroid Build Coastguard Worker EXPECT_TRUE(executed_else); 31*5c90c05cSAndroid Build Coastguard Worker } 32