2 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali-test-suite-utils.h>
19 #include <dali/dali.h>
20 #include <dali/public-api/adaptor-framework/encoded-image-buffer.h>
28 EncodedImageBuffer::RawBufferType tinybuffer()
30 EncodedImageBuffer::RawBufferType buffer;
31 buffer.PushBack(0x11);
32 buffer.PushBack(0x22);
33 buffer.PushBack(0x33);
37 } // anonymous namespace
39 void dali_encoded_image_buffer_startup(void)
41 test_return_value = TET_UNDEF;
44 void dali_encoded_image_buffer_cleanup(void)
46 test_return_value = TET_PASS;
49 int UtcDaliEncodedImageBufferNew01(void)
51 // invoke default handle constructor
52 EncodedImageBuffer buffer;
54 DALI_TEST_CHECK(!buffer);
57 buffer = EncodedImageBuffer::New(tinybuffer());
59 DALI_TEST_CHECK(buffer);
63 int UtcDaliEncodedImageBufferNew02(void)
65 // invoke default handle constructor
66 EncodedImageBuffer buffer;
68 DALI_TEST_CHECK(!buffer);
71 buffer = EncodedImageBuffer::New(tinybuffer(), Dali::EncodedImageBuffer::ImageType::VECTOR_IMAGE);
73 DALI_TEST_CHECK(buffer);
77 int UtcDaliEncodedImageBufferCopyConstructor(void)
79 EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
80 EncodedImageBuffer bufferCopy(buffer);
82 DALI_TEST_EQUALS((bool)bufferCopy, true, TEST_LOCATION);
86 int UtcDaliEncodedImageBufferAssignmentOperator(void)
88 EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
90 EncodedImageBuffer buffer2;
91 DALI_TEST_EQUALS((bool)buffer2, false, TEST_LOCATION);
94 DALI_TEST_EQUALS((bool)buffer2, true, TEST_LOCATION);
99 int UtcDaliEncodedImageBufferMoveConstructor(void)
101 EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
102 EncodedImageBuffer bufferMoved = std::move(buffer);
104 DALI_TEST_EQUALS((bool)buffer, false, TEST_LOCATION);
105 DALI_TEST_EQUALS((bool)bufferMoved, true, TEST_LOCATION);
109 int UtcDaliEncodedImageBufferMoveAssignmentOperator(void)
111 EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
113 EncodedImageBuffer buffer2;
114 DALI_TEST_EQUALS((bool)buffer, true, TEST_LOCATION);
115 DALI_TEST_EQUALS((bool)buffer2, false, TEST_LOCATION);
117 buffer2 = std::move(buffer);
118 DALI_TEST_EQUALS((bool)buffer, false, TEST_LOCATION);
119 DALI_TEST_EQUALS((bool)buffer2, true, TEST_LOCATION);
124 int UtcDaliEncodedImageBufferGetRawBuffer(void)
126 EncodedImageBuffer::RawBufferType originBuffer = tinybuffer();
128 EncodedImageBuffer buffer = EncodedImageBuffer::New(originBuffer);
130 EncodedImageBuffer::RawBufferType getBuffer = buffer.GetRawBuffer();
132 // compare value between originBuffer and getBuffer
133 DALI_TEST_EQUALS(originBuffer.Count(), getBuffer.Count(), TEST_LOCATION);
135 EncodedImageBuffer::RawBufferType::Iterator iter = originBuffer.Begin();
136 EncodedImageBuffer::RawBufferType::Iterator jter = getBuffer.Begin();
137 for(; iter != originBuffer.End(); ++iter, ++jter)
139 DALI_TEST_EQUALS(*iter, *jter, TEST_LOCATION);
145 int UtcDaliEncodedImageBufferGetHash(void)
147 EncodedImageBuffer buffer1 = EncodedImageBuffer::New(tinybuffer());
148 EncodedImageBuffer buffer2 = EncodedImageBuffer::New(tinybuffer());
149 EncodedImageBuffer buffer3 = EncodedImageBuffer::New(EncodedImageBuffer::RawBufferType()); //< EmptyBuffer
151 tet_infoline("Test different encoded buffer with same data has same hash value.");
152 DALI_TEST_CHECK(buffer1 != buffer2);
153 DALI_TEST_CHECK(buffer1.GetHash() == buffer2.GetHash());
155 tet_infoline("Test hash with empty buffer.");
156 DALI_TEST_CHECK(buffer1.GetHash() != buffer3.GetHash());
157 DALI_TEST_CHECK(buffer2.GetHash() != buffer3.GetHash());
163 int UtcDaliEncodedImageBufferSetGetType(void)
165 EncodedImageBuffer buffer1 = EncodedImageBuffer::New(tinybuffer());
166 EncodedImageBuffer buffer2 = buffer1; ///< Copy handle
168 DALI_TEST_CHECK(buffer1);
169 DALI_TEST_CHECK(buffer2);
170 DALI_TEST_CHECK(buffer1 == buffer2);
171 DALI_TEST_CHECK(buffer1.GetHash() == buffer2.GetHash());
173 DALI_TEST_EQUALS(buffer1.GetImageType(), Dali::EncodedImageBuffer::ImageType::DEFAULT, TEST_LOCATION);
174 DALI_TEST_EQUALS(buffer2.GetImageType(), Dali::EncodedImageBuffer::ImageType::DEFAULT, TEST_LOCATION);
176 buffer1.SetImageType(Dali::EncodedImageBuffer::ImageType::VECTOR_IMAGE);
178 DALI_TEST_EQUALS(buffer1.GetImageType(), Dali::EncodedImageBuffer::ImageType::VECTOR_IMAGE, TEST_LOCATION);
179 DALI_TEST_EQUALS(buffer2.GetImageType(), Dali::EncodedImageBuffer::ImageType::VECTOR_IMAGE, TEST_LOCATION);
181 buffer2.SetImageType(Dali::EncodedImageBuffer::ImageType::ANIMATED_VECTOR_IMAGE);
183 DALI_TEST_EQUALS(buffer1.GetImageType(), Dali::EncodedImageBuffer::ImageType::ANIMATED_VECTOR_IMAGE, TEST_LOCATION);
184 DALI_TEST_EQUALS(buffer2.GetImageType(), Dali::EncodedImageBuffer::ImageType::ANIMATED_VECTOR_IMAGE, TEST_LOCATION);