Make NPatchData receive LoadComplete call from TextureManager.
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / utc-Dali-PropertyHelper.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 #include <dali-toolkit-test-suite-utils.h>
19 #include <dali-toolkit/internal/helpers/property-helper.h>
20
21 #if defined(ELDBUS_ENABLED)
22 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
23 #endif
24
25 using namespace Dali;
26 using namespace Dali::Toolkit;
27
28 void dali_property_helper_startup(void)
29 {
30   test_return_value = TET_UNDEF;
31 #if defined(ELDBUS_ENABLED)
32   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
33 #endif
34 }
35
36 void dali_property_helper_cleanup(void)
37 {
38   test_return_value = TET_PASS;
39 }
40
41 int UtcDaliPropertyHelperGetStringFromPropertyWithString(void)
42 {
43   tet_infoline( "Test to check if a simple string is parsed correctly" );
44
45   const std::string inputString = "Hello World";
46   Property::Value value( inputString );
47
48   std::string output;
49   DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
50   DALI_TEST_EQUALS( output, inputString, TEST_LOCATION );
51
52   END_TEST;
53 }
54
55 int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyValue(void)
56 {
57   tet_infoline( "Test to ensure if an empty value returns false" );
58
59   std::string output;
60   DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value(), output ) );
61
62   END_TEST;
63 }
64
65 int UtcDaliPropertyHelperGetStringFromPropertyWithStringArray(void)
66 {
67   tet_infoline( "Test to check if a string array is parsed correctly and adds new line characters too" );
68
69   Property::Value value( Property::Array().Add( "Hello World" )
70                                           .Add( "The Quick Brown Fox" )
71                                           .Add( "Jumps over the lazy dog" ) );
72
73   std::string output;
74   DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
75   DALI_TEST_CHECK( output.find( "Hello World\n" ) != std::string::npos );
76   DALI_TEST_CHECK( output.find( "The Quick Brown Fox\n" ) != std::string::npos );
77   DALI_TEST_CHECK( output.find( "Jumps over the lazy dog\n" ) != std::string::npos );
78
79   END_TEST;
80 }
81
82 int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyArray(void)
83 {
84   tet_infoline( "Test to check if an empty array returns false" );
85
86   Property::Array array;
87
88   std::string output;
89   DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value( array ), output ) );
90
91   END_TEST;
92 }
93
94 int UtcDaliPropertyHelperGetStringFromPropertyWithMultipleTypesInArray(void)
95 {
96   tet_infoline( "Test to ensure an array with multiple types returns false" );
97
98   Property::Value value( Property::Array().Add( "Hello World" )
99                                           .Add( "The Quick Brown Fox" )
100                                           .Add( 1 )
101                                           .Add( "Jumps" )
102                                           .Add( 25 )
103                                           .Add( "Over" ) );
104
105   std::string output;
106   DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( value, output ) );
107   DALI_TEST_CHECK( output.empty() );
108
109   END_TEST;
110 }