Fix RemoteSVG UTC failed due to the proxy block (2) 91/277391/3
authorEunki, Hong <eunkiki.hong@samsung.com>
Wed, 6 Jul 2022 06:49:32 +0000 (15:49 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 6 Jul 2022 07:46:32 +0000 (16:46 +0900)
127.0.0.1 also passed at HQ dali server.
Make super-invalid url that toolkit UTC always failed

Change-Id: I5914e8c77b34ed4c3da75022a0cd100264c275ba
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp

index 3093fcb8220aeb59563ab508edb89ccf86b7c923..78252b851e332b22c4749e4c8b5f55bb5739ab3e 100644 (file)
@@ -34,7 +34,38 @@ namespace Adaptor
 namespace
 {
 Dali::Internal::Adaptor::VectorImageRenderer* gVectorImageRenderer = nullptr;
+
+/**
+ * @brief Check whether the data contain keyword as substring or not.
+ * It can be used as Naive Check-up to determine vector image loaded successfully or not.
+ *
+ * @param[in] data Raw data
+ * @param[in] keyword Keyword to check data holded or not.
+ * @return True if data contain keyword.
+ */
+bool CheckKeywordExist(const Vector<uint8_t>& data, std::string keyword)
+{
+  std::string trimedString;
+
+  // Remove useless character in data.
+  for(const uint8_t& it : data)
+  {
+    if(keyword.find(it) != std::string::npos)
+    {
+      trimedString.push_back(it);
+    }
+  }
+
+  if(trimedString.length() >= keyword.length())
+  {
+    if(trimedString.find(keyword) != std::string::npos)
+    {
+      return true;
+    }
+  }
+  return false;
 }
+} // namespace
 
 class VectorImageRenderer : public Dali::BaseObject
 {
@@ -58,6 +89,11 @@ public:
     {
       mRasterizeSuccess = false;
     }
+    // Naive check-up whether data is valid format or not. Currently we only check svg and tvg file format.
+    else if(!CheckKeywordExist(data, "</svg>") && !CheckKeywordExist(data, "ThorVG"))
+    {
+      return false;
+    }
     mLoadSuccess = true;
     return true;
   }