2 * Copyright (c) 2014 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.
21 #include <dali/public-api/dali-core.h>
22 #include <dali-test-suite-utils.h>
26 void utc_dali_character_startup(void)
28 test_return_value = TET_UNDEF;
31 void utc_dali_character_cleanup(void)
33 test_return_value = TET_PASS;
36 int UtcDaliCharacterCopyConstructor(void)
38 tet_infoline("UtcDaliCharacterCopyConstructor ");
39 TestApplication application;
41 Text text( std::string("12") );
43 Character c1 = text[0];
44 Character c2 = text[1];
49 DALI_TEST_CHECK( (c1==c3) && (c2==c4) );
53 int UtcDaliCharacterComparissonOperators(void)
55 tet_infoline("UtcDaliCharacterComparissonOperators ");
56 TestApplication application;
58 Text text( std::string("12") );
60 Character c1 = text[0];
61 Character c2 = text[1];
66 DALI_TEST_CHECK( (c1==c3) && (c2==c4) && (c1!=c2) && (c1!=c4) );
70 int UtcDaliCharacterAssignmentOperator(void)
72 tet_infoline("UtcDaliCharacterAssignmentOperator ");
73 TestApplication application;
75 Text text( std::string("12") );
76 Character c1 = text[0];
77 Character c2 = text[1];
79 DALI_TEST_CHECK( c1 == c1);
81 // this should do nothing
83 DALI_TEST_CHECK( c1 == c2);
88 int UtcDaliCharacterIsLeftToRight(void)
90 tet_infoline("UtcDaliCharacterIsLeftToRight ");
91 TestApplication application;
93 Text text( std::string("12בא") );
95 Character c1 = text[0];
96 Character c2 = text[1];
97 Character c3 = text[2];
98 Character c4 = text[3];
100 DALI_TEST_CHECK( c1.GetCharacterDirection() != Character::RightToLeft &&
101 c2.GetCharacterDirection() != Character::RightToLeft &&
102 c3.GetCharacterDirection() == Character::RightToLeft &&
103 c4.GetCharacterDirection() == Character::RightToLeft );
107 int UtcDaliGetCharacterDirection(void)
109 tet_infoline("UtcDaliGetCharacterDirection ");
110 TestApplication application;
112 Text text( std::string("Aבא ") );
114 Character c1 = text[0];
115 Character c2 = text[1];
116 Character c3 = text[2];
117 Character c4 = text[3];
119 DALI_TEST_EQUALS( c1.GetCharacterDirection(), Character::LeftToRight, TEST_LOCATION );
120 DALI_TEST_EQUALS( c2.GetCharacterDirection(), Character::RightToLeft, TEST_LOCATION );
121 DALI_TEST_EQUALS( c3.GetCharacterDirection(), Character::RightToLeft, TEST_LOCATION );
122 DALI_TEST_EQUALS( c4.GetCharacterDirection(), Character::Neutral, TEST_LOCATION );
126 int UtcDaliGetScript(void)
128 tet_infoline("UtcDaliGetScript ");
129 TestApplication application;
131 Text text( std::string("aᴆₘऄঅਅઅଅஅఅಅഅඅض") );
133 Character c0 = text[0];
134 Character c1 = text[1];
135 Character c2 = text[2];
137 DALI_TEST_EQUALS( c0.GetScript(), Character::LATIN, TEST_LOCATION );
138 DALI_TEST_EQUALS( c1.GetScript(), Character::LATIN, TEST_LOCATION );
139 DALI_TEST_EQUALS( c2.GetScript(), Character::LATIN, TEST_LOCATION );
142 Character c3 = text[3];
143 DALI_TEST_EQUALS( c3.GetScript(), Character::DEVANAGARI, TEST_LOCATION );
145 Character c4 = text[4];
146 DALI_TEST_EQUALS( c4.GetScript(), Character::BENGALI, TEST_LOCATION );
148 Character c5 = text[5];
149 DALI_TEST_EQUALS( c5.GetScript(), Character::GURMUKHI, TEST_LOCATION );
151 Character c6 = text[6];
152 DALI_TEST_EQUALS( c6.GetScript(), Character::GUJARATI, TEST_LOCATION );
154 Character c7 = text[7];
155 DALI_TEST_EQUALS( c7.GetScript(), Character::ORIYA, TEST_LOCATION );
157 Character c8 = text[8];
158 DALI_TEST_EQUALS( c8.GetScript(), Character::TAMIL, TEST_LOCATION );
160 Character c9 = text[9];
161 DALI_TEST_EQUALS( c9.GetScript(), Character::TELUGU, TEST_LOCATION );
163 Character c10 = text[10];
164 DALI_TEST_EQUALS( c10.GetScript(), Character::KANNADA, TEST_LOCATION );
166 Character c11 = text[11];
167 DALI_TEST_EQUALS( c11.GetScript(), Character::MALAYALAM, TEST_LOCATION );
169 Character c12 = text[12];
170 DALI_TEST_EQUALS( c12.GetScript(), Character::SINHALA, TEST_LOCATION );
172 Character c13 = text[13];
173 DALI_TEST_EQUALS( c13.GetScript(), Character::ARABIC, TEST_LOCATION );
175 // TODO : add more characters to cover all ranges.
179 int UtcDaliCharacterIsWhiteSpace(void)
181 tet_infoline("UtcDaliCharacterIsWhiteSpace ");
182 TestApplication application;
184 Text text( std::string("ab c\n\tdef") );
186 DALI_TEST_CHECK(!text[0].IsWhiteSpace()); // 'a'
187 DALI_TEST_CHECK(!text[1].IsWhiteSpace()); // 'b'
188 DALI_TEST_CHECK(text[2].IsWhiteSpace()); // ' '
189 DALI_TEST_CHECK(!text[3].IsWhiteSpace()); // 'c'
190 DALI_TEST_CHECK(text[4].IsWhiteSpace()); // '\n'
191 DALI_TEST_CHECK(text[5].IsWhiteSpace()); // '\t'
192 DALI_TEST_CHECK(!text[6].IsWhiteSpace()); // 'd'
193 DALI_TEST_CHECK(!text[7].IsWhiteSpace()); // 'e'
194 DALI_TEST_CHECK(!text[8].IsWhiteSpace()); // 'f'
198 int UtcDaliCharacterIsNewLine(void)
200 tet_infoline("UtcDaliCharacterIsWhiteSpace ");
201 TestApplication application;
203 Text text( std::string("ab c\n\tdef") );
205 DALI_TEST_CHECK(!text[0].IsNewLine()); // 'a'
206 DALI_TEST_CHECK(!text[1].IsNewLine()); // 'b'
207 DALI_TEST_CHECK(!text[2].IsNewLine()); // ' '
208 DALI_TEST_CHECK(!text[3].IsNewLine()); // 'c'
209 DALI_TEST_CHECK( text[4].IsNewLine()); // '\n'
210 DALI_TEST_CHECK(!text[5].IsNewLine()); // '\t'
211 DALI_TEST_CHECK(!text[6].IsNewLine()); // 'd'
212 DALI_TEST_CHECK(!text[7].IsNewLine()); // 'e'
213 DALI_TEST_CHECK(!text[8].IsNewLine()); // 'f'