/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
using namespace Dali::Toolkit::Internal;
+namespace
+{
+constexpr uint32_t URL_ELLIPSED_LENGTH = 20u;
+}
+
int UtcDaliVisualUrlConstructor(void)
{
const char* url = "file://bar.org/foobar.gif";
DALI_TEST_EQUALS(visualUrl4.GetProtocolType(), VisualUrl::LOCAL, TEST_LOCATION);
VisualUrl visualUrl5("dali://1");
- visualUrl4 = visualUrl5;
+ visualUrl4 = std::move(visualUrl5);
DALI_TEST_EQUALS(true, visualUrl4.IsValid(), TEST_LOCATION);
DALI_TEST_EQUALS(visualUrl4.GetType(), VisualUrl::REGULAR_IMAGE, TEST_LOCATION);
DALI_TEST_EQUALS(visualUrl4.GetProtocolType(), VisualUrl::TEXTURE, TEST_LOCATION);
DALI_TEST_EQUALS(true, visualUrl6.IsValid(), TEST_LOCATION);
DALI_TEST_EQUALS(visualUrl6.GetType(), VisualUrl::REGULAR_IMAGE, TEST_LOCATION);
DALI_TEST_EQUALS(visualUrl6.GetProtocolType(), VisualUrl::BUFFER, TEST_LOCATION);
+
+ DALI_TEST_EQUALS(true, visualUrl7.IsValid(), TEST_LOCATION);
+ std::size_t hashResult = visualUrl7.GetUrlHash();
+
+ VisualUrl visualUrl8(std::move(visualUrl7));
+ DALI_TEST_EQUALS(true, visualUrl8.IsValid(), TEST_LOCATION);
+ DALI_TEST_EQUALS(visualUrl8.GetType(), VisualUrl::REGULAR_IMAGE, TEST_LOCATION);
+ DALI_TEST_EQUALS(visualUrl8.GetProtocolType(), VisualUrl::BUFFER, TEST_LOCATION);
+ DALI_TEST_EQUALS(visualUrl8.GetUrlHash(), hashResult, TEST_LOCATION);
+
+ DALI_TEST_EQUALS(false, visualUrl7.IsValid(), TEST_LOCATION);
+ DALI_TEST_EQUALS(Dali::CalculateHash(std::string("")), visualUrl7.GetUrlHash(), TEST_LOCATION);
END_TEST;
}
END_TEST;
}
+int UtcDaliVisualUrlGetLocationWithoutExtensionP(void)
+{
+ tet_infoline("UtcDaliVisualUrl GetLocationWithoutExtension Positive");
+
+ DALI_TEST_EQUAL("a", VisualUrl("http://a.png").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("1", VisualUrl("dali://1.jpg").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("4", VisualUrl("enbuf://4.svg").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("", VisualUrl("ftp://.png").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("http://a.jpg", VisualUrl("http://http://a.jpg.jpg").GetLocationWithoutExtension());
+
+ END_TEST;
+}
+
int UtcDaliVisualUrlGetLocationN(void)
{
tet_infoline("UtcDaliVisualUrl GetLocation Negative");
END_TEST;
}
+int UtcDaliVisualUrlGetLocationWithoutExtensionN(void)
+{
+ tet_infoline("UtcDaliVisualUrl GetLocationWithoutExtension Negative");
+
+ DALI_TEST_EQUAL("", VisualUrl("").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("a", VisualUrl("a").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("dali:/1.jpg", VisualUrl("dali:/1.jpg").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("dali//1.jpg", VisualUrl("dali//1.jpg").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("enbuf:/2.png", VisualUrl("enbuf:/2.png").GetLocationWithoutExtension());
+ DALI_TEST_EQUAL("a.jpg", VisualUrl("http:/http://a.jpg.jpngif").GetLocationWithoutExtension());
+
+ END_TEST;
+}
+
int UtcDaliVisualUrlCreateTextureUrl(void)
{
tet_infoline("UtcDaliVisualUrl CreateTextureUrl");
{
tet_infoline("UtcDaliVisualUrl CreateBufferUrl");
- DALI_TEST_EQUAL("enbuf://a", VisualUrl::CreateBufferUrl("a"));
- DALI_TEST_EQUAL("enbuf://1234", VisualUrl::CreateBufferUrl("1234"));
- DALI_TEST_EQUAL("enbuf://", VisualUrl::CreateBufferUrl(""));
+ DALI_TEST_EQUAL("enbuf://a", VisualUrl::CreateBufferUrl("a", ""));
+ DALI_TEST_EQUAL("enbuf://1234", VisualUrl::CreateBufferUrl("1234", ""));
+ DALI_TEST_EQUAL("enbuf://", VisualUrl::CreateBufferUrl("", ""));
+
+ END_TEST;
+}
+
+int UtcDaliVisualUrlCreateBufferUrlWithExtension(void)
+{
+ tet_infoline("UtcDaliVisualUrl CreateBufferUrl with extension");
+
+ DALI_TEST_EQUAL("enbuf://a.jpg", VisualUrl::CreateBufferUrl("a", ".jpg"));
+ DALI_TEST_EQUAL("enbuf://1234567", VisualUrl::CreateBufferUrl("1234", "567"));
+ DALI_TEST_EQUAL("enbuf://b", VisualUrl::CreateBufferUrl("", "b"));
END_TEST;
}
}
END_TEST;
+}
+
+int UtcDaliVisualUrlGetEllipsedUrl(void)
+{
+ tet_infoline("UtcDaliVisualUrl GetEllipsedUrl");
+
+ std::string inputString;
+
+ // Test shot url is same as what input used.
+ for(uint32_t i = 0; i < URL_ELLIPSED_LENGTH + 3; ++i)
+ {
+ inputString.push_back('a');
+
+ VisualUrl visualUrl(inputString);
+
+ DALI_TEST_EQUALS(visualUrl.GetUrl(), inputString, TEST_LOCATION);
+ DALI_TEST_EQUALS(visualUrl.GetEllipsedUrl(), inputString, TEST_LOCATION);
+ }
+
+ for(uint32_t i = 0; i < 10; ++i)
+ {
+ inputString.push_back('0' + i);
+
+ std::string expectString = "..." + inputString.substr(inputString.length() - URL_ELLIPSED_LENGTH);
+
+ VisualUrl visualUrl(inputString);
+
+ DALI_TEST_EQUALS(visualUrl.GetUrl(), inputString, TEST_LOCATION);
+ DALI_TEST_CHECK(visualUrl.GetEllipsedUrl() != inputString);
+ DALI_TEST_EQUALS(visualUrl.GetEllipsedUrl(), expectString, TEST_LOCATION);
+ }
+
+ END_TEST;
}
\ No newline at end of file