2 * Copyright (c) 2020 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-toolkit-test-suite-utils.h>
19 #include <dali-toolkit/internal/helpers/property-helper.h>
21 #if defined(ELDBUS_ENABLED)
22 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
26 using namespace Dali::Toolkit;
28 void dali_property_helper_startup(void)
30 test_return_value = TET_UNDEF;
31 #if defined(ELDBUS_ENABLED)
32 DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
36 void dali_property_helper_cleanup(void)
38 test_return_value = TET_PASS;
39 #if defined(ELDBUS_ENABLED)
40 DBusWrapper::Install({}); // Clean up TestDBusWrapper
44 int UtcDaliPropertyHelperGetStringFromPropertyWithString(void)
46 tet_infoline( "Test to check if a simple string is parsed correctly" );
48 const std::string inputString = "Hello World";
49 Property::Value value( inputString );
52 DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
53 DALI_TEST_EQUALS( output, inputString, TEST_LOCATION );
58 int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyValue(void)
60 tet_infoline( "Test to ensure if an empty value returns false" );
63 DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value(), output ) );
68 int UtcDaliPropertyHelperGetStringFromPropertyWithStringArray(void)
70 tet_infoline( "Test to check if a string array is parsed correctly and adds new line characters too" );
72 Property::Value value( Property::Array().Add( "Hello World" )
73 .Add( "The Quick Brown Fox" )
74 .Add( "Jumps over the lazy dog" ) );
77 DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
78 DALI_TEST_CHECK( output.find( "Hello World\n" ) != std::string::npos );
79 DALI_TEST_CHECK( output.find( "The Quick Brown Fox\n" ) != std::string::npos );
80 DALI_TEST_CHECK( output.find( "Jumps over the lazy dog\n" ) != std::string::npos );
85 int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyArray(void)
87 tet_infoline( "Test to check if an empty array returns false" );
89 Property::Array array;
92 DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value( array ), output ) );
97 int UtcDaliPropertyHelperGetStringFromPropertyWithMultipleTypesInArray(void)
99 tet_infoline( "Test to ensure an array with multiple types returns false" );
101 Property::Value value( Property::Array().Add( "Hello World" )
102 .Add( "The Quick Brown Fox" )
109 DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( value, output ) );
110 DALI_TEST_CHECK( output.empty() );