support string_view in DALI_TEST_EQUALS 20/248920/1
authorSubhransu Mohanty <sub.mohanty@samsung.com>
Thu, 3 Dec 2020 07:49:01 +0000 (16:49 +0900)
committerSubhransu Mohanty <sub.mohanty@samsung.com>
Thu, 3 Dec 2020 07:51:48 +0000 (16:51 +0900)
Change-Id: Id04e701e5834233b42cf0cba6480be2f02a26a1a

automated-tests/src/dali-adaptor/dali-test-suite-utils/dali-test-suite-utils.h

index b8de978..a4b45c9 100644 (file)
@@ -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<const std::string_view>(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<typename Type>