X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Fdali-test-suite-utils.h;h=a4b45c90581524e2d61a067749d8a77a7ec627c1;hb=1a0dc2cc53708bbc32546da6031e996465544f51;hp=2c1c70327fabf0bd73d239b190f1e67c4b9519d0;hpb=893ec494389e7fe476a64e220ae97eedb73e74d7;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h index 2c1c703..a4b45c9 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h @@ -306,6 +306,38 @@ void DALI_TEST_EQUALS(const std::string& str1, const char* str2, const char* loc void DALI_TEST_EQUALS(const char* str1, const std::string& str2, const char* location); /** + * Test whether two strings are equal. + * @param[in] str1 The first string + * @param[in] str2 The second string + * @param[in] location The TEST_LOCATION macro should be used here + */ +template<> +inline void DALI_TEST_EQUALS(std::string_view str1, std::string_view str2, const char* location) +{ + DALI_TEST_EQUALS(str1.data(), str2.data(), location); +} + +inline void DALI_TEST_EQUALS(std::string_view str1, const char* str2, const char* location) +{ + DALI_TEST_EQUALS(str1.data(), str2, location); +} + +inline void DALI_TEST_EQUALS(std::string_view str1, const std::string& str2, const char* location) +{ + DALI_TEST_EQUALS(str1.data(), str2.c_str(), location); +} + +inline void DALI_TEST_EQUALS(const std::string& str2, std::string_view str1, const char* location) +{ + DALI_TEST_EQUALS(str2.c_str(), str1.data(), location); +} + +inline void DALI_TEST_EQUALS(const char* str1, std::string_view str2, const char* location) +{ + DALI_TEST_EQUALS(str1, str2.data(), location); +} + +/** * Test if a property value type is equal to a trivial type. */ template @@ -378,6 +410,34 @@ inline void DALI_TEST_PRINT_ASSERT(DaliException& e) DALI_TEST_ASSERT(e, assertstring, TEST_LOCATION); \ } +/** + * Test that given piece of code triggers an exception + * Fails the test if the exception didn't occur. + * Turns off logging during the execution of the code to avoid excessive false positive log output from the assertions + * @param expressions code to execute + * @param except the exception expected in the assert + */ +#define DALI_TEST_THROWS(expressions, except) \ + try \ + { \ + TestApplication::EnableLogging(false); \ + expressions; \ + TestApplication::EnableLogging(true); \ + fprintf(stderr, "Test failed in %s, expected exception: '%s' didn't occur\n", __FILELINE__, #except); \ + tet_result(TET_FAIL); \ + throw("TET_FAIL"); \ + } \ + catch(except &) \ + { \ + tet_result(TET_PASS); \ + } \ + catch(...) \ + { \ + fprintf(stderr, "Test failed in %s, unexpected exception\n", __FILELINE__); \ + tet_result(TET_FAIL); \ + throw; \ + } + // Functor to test whether an Applied signal is emitted struct ConstraintAppliedCheck {