Rename BitmapImage as BufferImage
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-TextStyle.cpp
1 /*
2  * Copyright (c) 2014 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 <iostream>
19
20 #include <stdlib.h>
21 #include <dali/public-api/dali-core.h>
22 #include <dali-test-suite-utils.h>
23
24 using namespace Dali;
25
26 void utc_dali_text_style_startup(void)
27 {
28   test_return_value = TET_UNDEF;
29 }
30
31 void utc_dali_text_style_cleanup(void)
32 {
33   test_return_value = TET_PASS;
34 }
35
36 namespace
37 {
38 static const std::string DEFAULT_FONT_NAME_STYLE( "" );
39 static const PointSize DEFAULT_FONT_POINT_SIZE( 0.f );
40
41 static const std::string FONT_FAMILY( "Arial" );
42 static const std::string FONT_STYLE( "Bold" );
43 static const PointSize FONT_POINT_SIZE( 12.f );
44 static const Vector4 TEXT_COLOR( Color::RED );
45
46 static const TextStyle::Weight TEXT_WEIGHT( TextStyle::EXTRALIGHT );
47 static const float SMOOTH_EDGE( 5.0f );
48
49 static const bool ITALICS( true );
50 static const Degree ITALICS_ANGLE( 10.f );
51
52 static const bool UNDERLINE( true );
53 static const float UNDERLINE_THICKNESS( 5.0f );
54 static const float UNDERLINE_POSITION( 60.0f );
55
56 static const bool SHADOW( true );
57 static const Vector4 SHADOW_COLOR( Color::BLUE );
58 static const Vector2 SHADOW_OFFSET( 2.f, 2.f );
59 static const float SHADOW_SIZE( 55.f );
60
61 static const bool GLOW( true );
62 static const Vector4 GLOW_COLOR( Color::BLACK );
63 static const float GLOW_INTENSITY( 10.0f );
64
65 static const bool OUTLINE( true );
66 static const Vector4 OUTLINE_COLOR( Color::MAGENTA );
67 static const Vector2 OUTLINE_THICKNESS( 15.f, 14.f );
68
69 static const bool GRADIENT( true );
70 static const Vector4 GRADIENT_COLOR( Color::YELLOW );
71 static const Vector2 GRADIENT_START_POINT( 1.f, 1.f );
72 static const Vector2 GRADIENT_END_POINT( 2.f, 2.f );
73 } // anon namespace
74
75 int UtcDaliTextStyleDefaultConstructor(void)
76 {
77   tet_infoline(" UtcDaliTextStyleDefaultConstructor ");
78
79   TestApplication application;
80
81   TextStyle defaultStyle;
82
83   DALI_TEST_CHECK( defaultStyle.IsFontNameDefault() );
84   DALI_TEST_CHECK( defaultStyle.IsFontStyleDefault() );
85   DALI_TEST_CHECK( defaultStyle.IsFontSizeDefault() );
86   DALI_TEST_CHECK( defaultStyle.IsTextColorDefault() );
87   DALI_TEST_CHECK( defaultStyle.IsFontWeightDefault() );
88   DALI_TEST_CHECK( defaultStyle.IsSmoothEdgeDefault() );
89   DALI_TEST_CHECK( defaultStyle.IsItalicsDefault() );
90   DALI_TEST_CHECK( defaultStyle.IsUnderlineDefault() );
91   DALI_TEST_CHECK( defaultStyle.IsShadowDefault() );
92   DALI_TEST_CHECK( defaultStyle.IsGlowDefault() );
93   DALI_TEST_CHECK( defaultStyle.IsOutlineDefault() );
94   DALI_TEST_CHECK( defaultStyle.IsGradientDefault() );
95
96   DALI_TEST_EQUALS( defaultStyle.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
97   DALI_TEST_EQUALS( defaultStyle.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
98   DALI_TEST_EQUALS( defaultStyle.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
99   DALI_TEST_EQUALS( defaultStyle.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
100
101   DALI_TEST_EQUALS( defaultStyle.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
102   DALI_TEST_EQUALS( defaultStyle.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
103
104   DALI_TEST_CHECK( !defaultStyle.IsItalicsEnabled() );
105   DALI_TEST_EQUALS( defaultStyle.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
106
107   DALI_TEST_CHECK( !defaultStyle.IsUnderlineEnabled() );
108   DALI_TEST_EQUALS( defaultStyle.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
109   DALI_TEST_EQUALS( defaultStyle.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
110
111   DALI_TEST_CHECK( !defaultStyle.IsShadowEnabled() );
112   DALI_TEST_EQUALS( defaultStyle.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
113   DALI_TEST_EQUALS( defaultStyle.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
114
115   DALI_TEST_CHECK( !defaultStyle.IsGlowEnabled() );
116   DALI_TEST_EQUALS( defaultStyle.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
117   DALI_TEST_EQUALS( defaultStyle.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
118
119   DALI_TEST_CHECK( !defaultStyle.IsOutlineEnabled() );
120   DALI_TEST_EQUALS( defaultStyle.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
121   DALI_TEST_EQUALS( defaultStyle.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
122
123   DALI_TEST_CHECK( !defaultStyle.IsGradientEnabled() );
124   DALI_TEST_EQUALS( defaultStyle.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
125   DALI_TEST_EQUALS( defaultStyle.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
126   DALI_TEST_EQUALS( defaultStyle.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
127
128   END_TEST;
129 }
130
131 int UtcDaliTextStyleCopyConstructor(void)
132 {
133   tet_infoline(" UtcDaliTextStyleCopyConstructor ");
134
135   TestApplication application;
136
137   TextStyle style;
138   style.SetFontName( FONT_FAMILY );
139   style.SetFontStyle( FONT_STYLE );
140   style.SetFontPointSize( FONT_POINT_SIZE );
141   style.SetTextColor( TEXT_COLOR );
142
143   style.SetWeight( TEXT_WEIGHT );
144   style.SetSmoothEdge( SMOOTH_EDGE );
145
146   style.SetItalics( ITALICS, ITALICS_ANGLE );
147   style.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
148   style.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
149   style.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
150   style.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
151   style.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
152
153   TextStyle style1( style );
154   TextStyle style2 = style;
155
156   DALI_TEST_CHECK( !style1.IsFontNameDefault() );
157   DALI_TEST_CHECK( !style1.IsFontStyleDefault() );
158   DALI_TEST_CHECK( !style1.IsFontSizeDefault() );
159   DALI_TEST_CHECK( !style1.IsTextColorDefault() );
160   DALI_TEST_CHECK( !style1.IsFontWeightDefault() );
161   DALI_TEST_CHECK( !style1.IsSmoothEdgeDefault() );
162   DALI_TEST_CHECK( !style1.IsItalicsDefault() );
163   DALI_TEST_CHECK( !style1.IsUnderlineDefault() );
164   DALI_TEST_CHECK( !style1.IsShadowDefault() );
165   DALI_TEST_CHECK( !style1.IsGlowDefault() );
166   DALI_TEST_CHECK( !style1.IsOutlineDefault() );
167   DALI_TEST_CHECK( !style1.IsGradientDefault() );
168
169   DALI_TEST_EQUALS( style1.GetFontName(), FONT_FAMILY, TEST_LOCATION );
170   DALI_TEST_EQUALS( style1.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
171   DALI_TEST_EQUALS( style1.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
172   DALI_TEST_EQUALS( style1.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
173
174   DALI_TEST_EQUALS( style1.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
175   DALI_TEST_EQUALS( style1.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
176
177   DALI_TEST_CHECK( style1.IsItalicsEnabled() );
178   DALI_TEST_EQUALS( style1.GetItalicsAngle(), ITALICS_ANGLE, TEST_LOCATION );
179
180   DALI_TEST_CHECK( style1.IsUnderlineEnabled() );
181   DALI_TEST_EQUALS( style1.GetUnderlineThickness(), UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
182   DALI_TEST_EQUALS( style1.GetUnderlinePosition(), UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
183
184   DALI_TEST_CHECK( style1.IsShadowEnabled() );
185   DALI_TEST_EQUALS( style1.GetShadowColor(), SHADOW_COLOR, TEST_LOCATION );
186   DALI_TEST_EQUALS( style1.GetShadowOffset(), SHADOW_OFFSET, TEST_LOCATION );
187
188   DALI_TEST_CHECK( style1.IsGlowEnabled() );
189   DALI_TEST_EQUALS( style1.GetGlowColor(), GLOW_COLOR, TEST_LOCATION );
190   DALI_TEST_EQUALS( style1.GetGlowIntensity(), GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
191
192   DALI_TEST_CHECK( style1.IsOutlineEnabled() );
193   DALI_TEST_EQUALS( style1.GetOutlineColor(), OUTLINE_COLOR, TEST_LOCATION );
194   DALI_TEST_EQUALS( style1.GetOutlineThickness(), OUTLINE_THICKNESS, TEST_LOCATION );
195
196   DALI_TEST_CHECK( style1.IsGradientEnabled() );
197   DALI_TEST_EQUALS( style1.GetGradientColor(), GRADIENT_COLOR, TEST_LOCATION );
198   DALI_TEST_EQUALS( style1.GetGradientStartPoint(), GRADIENT_START_POINT, TEST_LOCATION );
199   DALI_TEST_EQUALS( style1.GetGradientEndPoint(), GRADIENT_END_POINT, TEST_LOCATION );
200
201   DALI_TEST_CHECK( !style2.IsFontNameDefault() );
202   DALI_TEST_CHECK( !style2.IsFontStyleDefault() );
203   DALI_TEST_CHECK( !style2.IsFontSizeDefault() );
204   DALI_TEST_CHECK( !style2.IsTextColorDefault() );
205   DALI_TEST_CHECK( !style2.IsFontWeightDefault() );
206   DALI_TEST_CHECK( !style2.IsSmoothEdgeDefault() );
207   DALI_TEST_CHECK( !style2.IsItalicsDefault() );
208   DALI_TEST_CHECK( !style2.IsUnderlineDefault() );
209   DALI_TEST_CHECK( !style2.IsShadowDefault() );
210   DALI_TEST_CHECK( !style2.IsGlowDefault() );
211   DALI_TEST_CHECK( !style2.IsOutlineDefault() );
212   DALI_TEST_CHECK( !style2.IsGradientDefault() );
213
214   DALI_TEST_EQUALS( style2.GetFontName(), FONT_FAMILY, TEST_LOCATION );
215   DALI_TEST_EQUALS( style2.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
216   DALI_TEST_EQUALS( style2.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
217   DALI_TEST_EQUALS( style2.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
218
219   DALI_TEST_EQUALS( style2.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
220   DALI_TEST_EQUALS( style2.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
221
222   DALI_TEST_CHECK( style2.IsItalicsEnabled() );
223   DALI_TEST_EQUALS( style2.GetItalicsAngle(), ITALICS_ANGLE, TEST_LOCATION );
224
225   DALI_TEST_CHECK( style2.IsUnderlineEnabled() );
226   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
227   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
228
229   DALI_TEST_CHECK( style2.IsShadowEnabled() );
230   DALI_TEST_EQUALS( style2.GetShadowColor(), SHADOW_COLOR, TEST_LOCATION );
231   DALI_TEST_EQUALS( style2.GetShadowOffset(), SHADOW_OFFSET, TEST_LOCATION );
232
233   DALI_TEST_CHECK( style2.IsGlowEnabled() );
234   DALI_TEST_EQUALS( style2.GetGlowColor(), GLOW_COLOR, TEST_LOCATION );
235   DALI_TEST_EQUALS( style2.GetGlowIntensity(), GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
236
237   DALI_TEST_CHECK( style2.IsOutlineEnabled() );
238   DALI_TEST_EQUALS( style2.GetOutlineColor(), OUTLINE_COLOR, TEST_LOCATION );
239   DALI_TEST_EQUALS( style2.GetOutlineThickness(), OUTLINE_THICKNESS, TEST_LOCATION );
240
241   DALI_TEST_CHECK( style2.IsGradientEnabled() );
242   DALI_TEST_EQUALS( style2.GetGradientColor(), GRADIENT_COLOR, TEST_LOCATION );
243   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), GRADIENT_START_POINT, TEST_LOCATION );
244   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), GRADIENT_END_POINT, TEST_LOCATION );
245
246   END_TEST;
247 }
248
249 int UtcDaliTextStyleAssignmentOperator(void)
250 {
251   tet_infoline(" UtcDaliTextStyleAssignmentOperator ");
252
253   TestApplication application;
254
255   TextStyle style1;
256   TextStyle style2;
257
258   style1.SetFontName( FONT_FAMILY );
259   style1.SetFontStyle( FONT_STYLE );
260   style1.SetFontPointSize( FONT_POINT_SIZE );
261   style1.SetTextColor( TEXT_COLOR );
262
263   style1.SetWeight( TEXT_WEIGHT );
264   style1.SetSmoothEdge( SMOOTH_EDGE );
265
266   style1.SetItalics( ITALICS, ITALICS_ANGLE );
267
268   style1.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
269
270   style1.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
271   style1.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
272   style1.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
273   style1.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
274
275   // Test the copy of all parameters.
276   style2 = style1;
277
278   DALI_TEST_CHECK( !style2.IsFontNameDefault() );
279   DALI_TEST_CHECK( !style2.IsFontStyleDefault() );
280   DALI_TEST_CHECK( !style2.IsFontSizeDefault() );
281   DALI_TEST_CHECK( !style2.IsTextColorDefault() );
282   DALI_TEST_CHECK( !style2.IsFontWeightDefault() );
283   DALI_TEST_CHECK( !style2.IsSmoothEdgeDefault() );
284   DALI_TEST_CHECK( !style2.IsItalicsDefault() );
285   DALI_TEST_CHECK( !style2.IsUnderlineDefault() );
286   DALI_TEST_CHECK( !style2.IsShadowDefault() );
287   DALI_TEST_CHECK( !style2.IsGlowDefault() );
288   DALI_TEST_CHECK( !style2.IsOutlineDefault() );
289   DALI_TEST_CHECK( !style2.IsGradientDefault() );
290
291   DALI_TEST_EQUALS( style2.GetFontName(), FONT_FAMILY, TEST_LOCATION );
292   DALI_TEST_EQUALS( style2.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
293   DALI_TEST_EQUALS( style2.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
294   DALI_TEST_EQUALS( style2.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
295
296   DALI_TEST_EQUALS( style2.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
297   DALI_TEST_EQUALS( style2.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
298
299   DALI_TEST_CHECK( style2.IsItalicsEnabled() );
300   DALI_TEST_EQUALS( style2.GetItalicsAngle(), ITALICS_ANGLE, TEST_LOCATION );
301
302   DALI_TEST_CHECK( style2.IsUnderlineEnabled() );
303   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
304   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
305
306   DALI_TEST_CHECK( style2.IsShadowEnabled() );
307   DALI_TEST_EQUALS( style2.GetShadowColor(), SHADOW_COLOR, TEST_LOCATION );
308   DALI_TEST_EQUALS( style2.GetShadowOffset(), SHADOW_OFFSET, TEST_LOCATION );
309
310   DALI_TEST_CHECK( style2.IsGlowEnabled() );
311   DALI_TEST_EQUALS( style2.GetGlowColor(), GLOW_COLOR, TEST_LOCATION );
312   DALI_TEST_EQUALS( style2.GetGlowIntensity(), GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
313
314   DALI_TEST_CHECK( style2.IsOutlineEnabled() );
315   DALI_TEST_EQUALS( style2.GetOutlineColor(), OUTLINE_COLOR, TEST_LOCATION );
316   DALI_TEST_EQUALS( style2.GetOutlineThickness(), OUTLINE_THICKNESS, TEST_LOCATION );
317
318   DALI_TEST_CHECK( style2.IsGradientEnabled() );
319   DALI_TEST_EQUALS( style2.GetGradientColor(), GRADIENT_COLOR, TEST_LOCATION );
320   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), GRADIENT_START_POINT, TEST_LOCATION );
321   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), GRADIENT_END_POINT, TEST_LOCATION );
322
323   // Test assignment of the same object.
324   const TextStyle& style( style2 );
325
326   style2 = style;
327
328   // Test the assignment of the defaults.
329
330   // Test copy all defaults.
331
332   TextStyle defaultStyle;
333   style2 = defaultStyle;
334
335   DALI_TEST_CHECK( style2.IsFontNameDefault() );
336   DALI_TEST_CHECK( style2.IsFontStyleDefault() );
337   DALI_TEST_CHECK( style2.IsFontSizeDefault() );
338   DALI_TEST_CHECK( style2.IsTextColorDefault() );
339   DALI_TEST_CHECK( style2.IsFontWeightDefault() );
340   DALI_TEST_CHECK( style2.IsSmoothEdgeDefault() );
341   DALI_TEST_CHECK( style2.IsItalicsDefault() );
342   DALI_TEST_CHECK( style2.IsUnderlineDefault() );
343   DALI_TEST_CHECK( style2.IsShadowDefault() );
344   DALI_TEST_CHECK( style2.IsGlowDefault() );
345   DALI_TEST_CHECK( style2.IsOutlineDefault() );
346   DALI_TEST_CHECK( style2.IsGradientDefault() );
347
348   DALI_TEST_EQUALS( style2.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
349   DALI_TEST_EQUALS( style2.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
350   DALI_TEST_EQUALS( style2.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
351   DALI_TEST_EQUALS( style2.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
352
353   DALI_TEST_EQUALS( style2.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
354   DALI_TEST_EQUALS( style2.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
355
356   DALI_TEST_CHECK( !style2.IsItalicsEnabled() );
357   DALI_TEST_EQUALS( style2.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
358
359   DALI_TEST_CHECK( !style2.IsUnderlineEnabled() );
360   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
361   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
362
363   DALI_TEST_CHECK( !style2.IsShadowEnabled() );
364   DALI_TEST_EQUALS( style2.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
365   DALI_TEST_EQUALS( style2.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
366
367   DALI_TEST_CHECK( !style2.IsGlowEnabled() );
368   DALI_TEST_EQUALS( style2.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
369   DALI_TEST_EQUALS( style2.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
370
371   DALI_TEST_CHECK( !style2.IsOutlineEnabled() );
372   DALI_TEST_EQUALS( style2.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
373   DALI_TEST_EQUALS( style2.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
374
375   DALI_TEST_CHECK( !style2.IsGradientEnabled() );
376   DALI_TEST_EQUALS( style2.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
377   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
378   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
379
380   // Test copy some defaults.
381
382   // set style2 with non defaults.
383   style2 = style1;
384
385   // create a style with all defaults excepd the font name.
386   defaultStyle.SetFontName( FONT_FAMILY );
387
388   // should reset all to defaults except the font name.
389   style2 = defaultStyle;
390
391   DALI_TEST_CHECK( !style2.IsFontNameDefault() );
392   DALI_TEST_CHECK( style2.IsFontStyleDefault() );
393   DALI_TEST_CHECK( style2.IsFontSizeDefault() );
394   DALI_TEST_CHECK( style2.IsTextColorDefault() );
395   DALI_TEST_CHECK( style2.IsFontWeightDefault() );
396   DALI_TEST_CHECK( style2.IsSmoothEdgeDefault() );
397   DALI_TEST_CHECK( style2.IsItalicsDefault() );
398   DALI_TEST_CHECK( style2.IsUnderlineDefault() );
399   DALI_TEST_CHECK( style2.IsShadowDefault() );
400   DALI_TEST_CHECK( style2.IsGlowDefault() );
401   DALI_TEST_CHECK( style2.IsOutlineDefault() );
402   DALI_TEST_CHECK( style2.IsGradientDefault() );
403
404   DALI_TEST_EQUALS( style2.GetFontName(), FONT_FAMILY, TEST_LOCATION );
405   DALI_TEST_EQUALS( style2.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
406   DALI_TEST_EQUALS( style2.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
407   DALI_TEST_EQUALS( style2.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
408
409   DALI_TEST_EQUALS( style2.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
410   DALI_TEST_EQUALS( style2.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
411
412   DALI_TEST_CHECK( !style2.IsItalicsEnabled() );
413   DALI_TEST_EQUALS( style2.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
414
415   DALI_TEST_CHECK( !style2.IsUnderlineEnabled() );
416   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
417   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
418
419   DALI_TEST_CHECK( !style2.IsShadowEnabled() );
420   DALI_TEST_EQUALS( style2.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
421   DALI_TEST_EQUALS( style2.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
422
423   DALI_TEST_CHECK( !style2.IsGlowEnabled() );
424   DALI_TEST_EQUALS( style2.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
425   DALI_TEST_EQUALS( style2.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
426
427   DALI_TEST_CHECK( !style2.IsOutlineEnabled() );
428   DALI_TEST_EQUALS( style2.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
429   DALI_TEST_EQUALS( style2.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
430
431   DALI_TEST_CHECK( !style2.IsGradientEnabled() );
432   DALI_TEST_EQUALS( style2.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
433   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
434   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
435
436   // reset the text-style to default.
437   defaultStyle = TextStyle();
438
439   // test now the default font name.
440   defaultStyle.SetFontStyle( FONT_STYLE );
441
442   style2 = defaultStyle;
443
444   DALI_TEST_CHECK( style2.IsFontNameDefault() );
445   DALI_TEST_CHECK( !style2.IsFontStyleDefault() );
446   DALI_TEST_CHECK( style2.IsFontSizeDefault() );
447   DALI_TEST_CHECK( style2.IsTextColorDefault() );
448   DALI_TEST_CHECK( style2.IsFontWeightDefault() );
449   DALI_TEST_CHECK( style2.IsSmoothEdgeDefault() );
450   DALI_TEST_CHECK( style2.IsItalicsDefault() );
451   DALI_TEST_CHECK( style2.IsUnderlineDefault() );
452   DALI_TEST_CHECK( style2.IsShadowDefault() );
453   DALI_TEST_CHECK( style2.IsGlowDefault() );
454   DALI_TEST_CHECK( style2.IsOutlineDefault() );
455   DALI_TEST_CHECK( style2.IsGradientDefault() );
456
457   DALI_TEST_EQUALS( style2.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
458   DALI_TEST_EQUALS( style2.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
459   DALI_TEST_EQUALS( style2.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
460   DALI_TEST_EQUALS( style2.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
461
462   DALI_TEST_EQUALS( style2.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
463   DALI_TEST_EQUALS( style2.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
464
465   DALI_TEST_CHECK( !style2.IsItalicsEnabled() );
466   DALI_TEST_EQUALS( style2.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
467
468   DALI_TEST_CHECK( !style2.IsUnderlineEnabled() );
469   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
470   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
471
472   DALI_TEST_CHECK( !style2.IsShadowEnabled() );
473   DALI_TEST_EQUALS( style2.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
474   DALI_TEST_EQUALS( style2.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
475
476   DALI_TEST_CHECK( !style2.IsGlowEnabled() );
477   DALI_TEST_EQUALS( style2.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
478   DALI_TEST_EQUALS( style2.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
479
480   DALI_TEST_CHECK( !style2.IsOutlineEnabled() );
481   DALI_TEST_EQUALS( style2.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
482   DALI_TEST_EQUALS( style2.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
483
484   DALI_TEST_CHECK( !style2.IsGradientEnabled() );
485   DALI_TEST_EQUALS( style2.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
486   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
487   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
488
489   END_TEST;
490 }
491
492 int UtcDaliTextStyleComparisonOperator(void)
493 {
494   tet_infoline(" UtcDaliTextStyleComparisonOperator ");
495
496   TestApplication application;
497
498   TextStyle style1;
499   TextStyle style2;
500
501   // Compares equality and inequality operators
502
503   // Compare two defaults.
504
505   DALI_TEST_CHECK( style1 == style2 );
506   DALI_TEST_CHECK( !( style1 != style2 ) );
507
508   // Compare with defaults.
509
510   style1.SetFontName( FONT_FAMILY );
511
512   DALI_TEST_CHECK( !( style1 == style2 ) );
513   DALI_TEST_CHECK( style1 != style2 );
514
515   style1 = TextStyle();
516   style2.SetFontName( FONT_FAMILY );
517
518   DALI_TEST_CHECK( !( style1 == style2 ) );
519   DALI_TEST_CHECK( style1 != style2 );
520
521   // Compare non defaults.
522
523   // Compare different flags
524
525   style1.SetFontName( FONT_FAMILY );
526   style2.SetFontStyle( FONT_STYLE );
527   style1.SetFontPointSize( FONT_POINT_SIZE );
528   style2.SetTextColor( TEXT_COLOR );
529
530   style1.SetWeight( TEXT_WEIGHT );
531   style2.SetSmoothEdge( SMOOTH_EDGE );
532
533   style1.SetItalics( ITALICS, ITALICS_ANGLE );
534
535   style2.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
536
537   style1.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
538   style2.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
539   style1.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
540   style2.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
541
542   DALI_TEST_CHECK( !( style1 == style2 ) );
543   DALI_TEST_CHECK( style1 != style2 );
544
545   // Compare same styles
546   style1 = style2;
547
548   DALI_TEST_CHECK( style1 == style2 );
549   DALI_TEST_CHECK( !( style1 != style2 ) );
550
551   // Compare same flags but different values
552   style1.SetTextColor( Color::GREEN );
553
554   DALI_TEST_CHECK( !( style1 == style2 ) );
555   DALI_TEST_CHECK( style1 != style2 );
556
557   END_TEST;
558 }
559
560 int UtcDaliTextStyleCopy(void)
561 {
562   tet_infoline(" UtcDaliTextStyleCopy ");
563
564   TestApplication application;
565
566   TextStyle style;
567
568   // Set a style different than default.
569   TextStyle style2;
570   style2.SetFontName( FONT_FAMILY );
571   style2.SetFontStyle( FONT_STYLE );
572   style2.SetFontPointSize( FONT_POINT_SIZE );
573   style2.SetTextColor( TEXT_COLOR );
574
575   style2.SetWeight( TEXT_WEIGHT );
576   style2.SetSmoothEdge( SMOOTH_EDGE );
577
578   style2.SetItalics( ITALICS, ITALICS_ANGLE );
579   style2.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
580   style2.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
581   style2.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
582   style2.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
583   style2.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
584
585   // Test not to copy the same object. To increase coverage.
586
587   const TextStyle& same( style2 );
588
589   style2.Copy( same );
590
591   DALI_TEST_CHECK( same == style2 );
592
593   // Test mask.
594
595   // All values are copied.
596   style.Copy( style2 );
597
598   DALI_TEST_CHECK( style == style2 );
599
600   // Copy the default
601   TextStyle defaultStyle;
602
603   style.Copy( defaultStyle );
604
605   // Test FONT
606   style = TextStyle();
607
608   style.Copy( style2, TextStyle::FONT );
609
610   DALI_TEST_EQUALS( style.GetFontName(), FONT_FAMILY, TEST_LOCATION );
611
612   style.Copy( defaultStyle, TextStyle::FONT );
613
614   DALI_TEST_EQUALS( style.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
615
616   // Test STYLE
617   style = TextStyle();
618
619   style.Copy( style2, TextStyle::STYLE );
620
621   DALI_TEST_EQUALS( style.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
622
623   style.Copy( defaultStyle, TextStyle::STYLE );
624
625   DALI_TEST_EQUALS( style.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
626
627   // Test SIZE
628   style = TextStyle();
629
630   style.Copy( style2, TextStyle::SIZE );
631
632   DALI_TEST_EQUALS( style.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
633
634   style.Copy( defaultStyle, TextStyle::SIZE );
635
636   DALI_TEST_EQUALS( style.GetFontPointSize(), PointSize( 0.f ), TEST_LOCATION );
637
638   // Test COLOR
639   style = TextStyle();
640
641   style.Copy( style2, TextStyle::COLOR );
642
643   DALI_TEST_EQUALS( style.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
644
645   style.Copy( defaultStyle, TextStyle::COLOR );
646
647   DALI_TEST_EQUALS( style.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
648
649   // Test WEIGHT
650   style = TextStyle();
651
652   style.Copy( style2, TextStyle::WEIGHT );
653
654   DALI_TEST_EQUALS( style.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
655
656   style.Copy( defaultStyle, TextStyle::WEIGHT );
657
658   DALI_TEST_EQUALS( style.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
659
660   // Test SMOOTH
661   style = TextStyle();
662
663   style.Copy( style2, TextStyle::SMOOTH );
664
665   DALI_TEST_EQUALS( style.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
666
667   style.Copy( defaultStyle, TextStyle::SMOOTH );
668
669   DALI_TEST_EQUALS( style.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
670
671   // Test ITALICS
672   style = TextStyle();
673
674   style.Copy( style2, TextStyle::ITALICS );
675
676   DALI_TEST_CHECK( style.IsItalicsEnabled() );
677   DALI_TEST_EQUALS( style.GetItalicsAngle(), ITALICS_ANGLE, TEST_LOCATION );
678
679   style.Copy( defaultStyle, TextStyle::ITALICS );
680
681   DALI_TEST_CHECK( !style.IsItalicsEnabled() );
682   DALI_TEST_EQUALS( style.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
683
684   // Test UNDERLINE
685   style = TextStyle();
686
687   style.Copy( style2, TextStyle::UNDERLINE );
688
689   DALI_TEST_CHECK( style.IsUnderlineEnabled() );
690   DALI_TEST_EQUALS( style.GetUnderlineThickness(), UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
691   DALI_TEST_EQUALS( style.GetUnderlinePosition(), UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
692
693   style.Copy( defaultStyle, TextStyle::UNDERLINE );
694
695   DALI_TEST_CHECK( !style.IsUnderlineEnabled() );
696   DALI_TEST_EQUALS( style.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
697   DALI_TEST_EQUALS( style.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
698
699   // Test SHADOW
700   style = TextStyle();
701
702   style.Copy( style2, TextStyle::SHADOW );
703
704   DALI_TEST_CHECK( style.IsShadowEnabled() );
705   DALI_TEST_EQUALS( style.GetShadowColor(), SHADOW_COLOR, TEST_LOCATION );
706   DALI_TEST_EQUALS( style.GetShadowOffset(), SHADOW_OFFSET, TEST_LOCATION );
707   DALI_TEST_EQUALS( style.GetShadowSize(), SHADOW_SIZE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
708
709   style.Copy( defaultStyle, TextStyle::SHADOW );
710
711   DALI_TEST_CHECK( !style.IsShadowEnabled() );
712   DALI_TEST_EQUALS( style.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
713   DALI_TEST_EQUALS( style.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
714   DALI_TEST_EQUALS( style.GetShadowSize(), TextStyle::DEFAULT_SHADOW_SIZE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
715
716   // Test GLOW
717   style = TextStyle();
718
719   style.Copy( style2, TextStyle::GLOW );
720
721   DALI_TEST_CHECK( style.IsGlowEnabled() );
722   DALI_TEST_EQUALS( style.GetGlowColor(), GLOW_COLOR, TEST_LOCATION );
723   DALI_TEST_EQUALS( style.GetGlowIntensity(), GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
724
725   style.Copy( defaultStyle, TextStyle::GLOW );
726
727   DALI_TEST_CHECK( !style.IsGlowEnabled() );
728   DALI_TEST_EQUALS( style.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
729   DALI_TEST_EQUALS( style.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
730
731   // Test OUTLINE
732   style = TextStyle();
733
734   style.Copy( style2, TextStyle::OUTLINE );
735
736   DALI_TEST_CHECK( style.IsOutlineEnabled() );
737   DALI_TEST_EQUALS( style.GetOutlineColor(), OUTLINE_COLOR, TEST_LOCATION );
738   DALI_TEST_EQUALS( style.GetOutlineThickness(), OUTLINE_THICKNESS, TEST_LOCATION );
739
740   style.Copy( defaultStyle, TextStyle::OUTLINE );
741
742   DALI_TEST_CHECK( !style.IsOutlineEnabled() );
743   DALI_TEST_EQUALS( style.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
744   DALI_TEST_EQUALS( style.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
745
746   // Test GRADIENT
747   style = TextStyle();
748
749   style.Copy( style2, TextStyle::GRADIENT );
750
751   DALI_TEST_CHECK( style.IsGradientEnabled() );
752   DALI_TEST_EQUALS( style.GetGradientColor(), GRADIENT_COLOR, TEST_LOCATION );
753   DALI_TEST_EQUALS( style.GetGradientStartPoint(), GRADIENT_START_POINT, TEST_LOCATION );
754   DALI_TEST_EQUALS( style.GetGradientEndPoint(), GRADIENT_END_POINT, TEST_LOCATION );
755
756   style.Copy( defaultStyle, TextStyle::GRADIENT );
757
758   DALI_TEST_CHECK( !style.IsGradientEnabled() );
759   DALI_TEST_EQUALS( style.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
760   DALI_TEST_EQUALS( style.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
761   DALI_TEST_EQUALS( style.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
762
763   // Copy to a default.
764   defaultStyle.Copy( style2 );
765   DALI_TEST_CHECK( defaultStyle ==  style2);
766
767   // Copy from default.
768   defaultStyle = TextStyle();
769
770   defaultStyle.SetItalics( ITALICS, ITALICS_ANGLE );
771   defaultStyle.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
772   defaultStyle.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
773   defaultStyle.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
774   defaultStyle.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
775   defaultStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
776
777   // Copy the default values
778   style2.Copy( defaultStyle, static_cast<TextStyle::Mask>( TextStyle::FONT      |
779                                                            TextStyle::STYLE     |
780                                                            TextStyle::SIZE      |
781                                                            TextStyle::COLOR     |
782                                                            TextStyle::WEIGHT    |
783                                                            TextStyle::SMOOTH ) );
784
785   defaultStyle = TextStyle();
786
787   defaultStyle.SetFontName( FONT_FAMILY );
788   defaultStyle.SetFontStyle( FONT_STYLE );
789   defaultStyle.SetFontPointSize( FONT_POINT_SIZE );
790   defaultStyle.SetTextColor( TEXT_COLOR );
791   defaultStyle.SetWeight( TEXT_WEIGHT );
792   defaultStyle.SetSmoothEdge( SMOOTH_EDGE );
793
794   // Copy the default values
795   style2.Copy( defaultStyle, static_cast<TextStyle::Mask>( TextStyle::ITALICS   |
796                                                            TextStyle::UNDERLINE |
797                                                            TextStyle::SHADOW    |
798                                                            TextStyle::GLOW      |
799                                                            TextStyle::OUTLINE   |
800                                                            TextStyle::GRADIENT ) );
801
802   defaultStyle = TextStyle();
803
804   DALI_TEST_CHECK( defaultStyle == style2 );
805
806   END_TEST;
807 }
808
809 int UtcDaliTextStyleMerge(void)
810 {
811   tet_infoline(" UtcDaliTextStyleMerge ");
812
813   TestApplication application;
814
815   TextStyle defaultStyle;
816
817   TextStyle style;
818
819   // Set a style different than default.
820   TextStyle style2;
821   style2.SetFontName( FONT_FAMILY );
822   style2.SetFontStyle( FONT_STYLE );
823   style2.SetFontPointSize( FONT_POINT_SIZE );
824   style2.SetTextColor( TEXT_COLOR );
825
826   style2.SetWeight( TEXT_WEIGHT );
827   style2.SetSmoothEdge( SMOOTH_EDGE );
828
829   style2.SetItalics( ITALICS, ITALICS_ANGLE );
830   style2.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
831   style2.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
832   style2.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
833   style2.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
834   style2.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
835
836   // Test not to merge the same object. To increase coverage.
837
838   const TextStyle& same( style2 );
839
840   style2.Merge( same );
841
842   DALI_TEST_CHECK( same == style2 );
843
844   // Test merge two styles
845
846   style.Merge( style2 );
847
848   DALI_TEST_CHECK( style == style2 );
849
850   // Test merge a default style
851
852   style.Merge( defaultStyle );
853
854   DALI_TEST_CHECK( style == style2 );
855
856   // Tests to increase branch coverage.
857
858   style = defaultStyle;
859   style.SetFontName( FONT_FAMILY );
860
861   TextStyle style3;
862   style3.Merge( style );
863
864   DALI_TEST_CHECK( style == style3 );
865
866
867   END_TEST;
868 }
869
870 int UtcDaliTextStyleReset(void)
871 {
872   tet_infoline(" UtcDaliTextStyleReset ");
873
874   TestApplication application;
875
876   const TextStyle defaultStyle;
877
878   // Reset a default.
879   TextStyle style;
880
881   style.Reset();
882
883   DALI_TEST_CHECK( defaultStyle == style );
884
885   // Reset NONE
886   style.Reset( TextStyle::NONE );
887
888   DALI_TEST_CHECK( defaultStyle == style );
889
890   // Reset ALL
891   TextStyle style2;
892   style2.SetFontName( FONT_FAMILY );
893   style2.SetFontStyle( FONT_STYLE );
894   style2.SetFontPointSize( FONT_POINT_SIZE );
895   style2.SetTextColor( TEXT_COLOR );
896
897   style2.SetWeight( TEXT_WEIGHT );
898   style2.SetSmoothEdge( SMOOTH_EDGE );
899
900   style2.SetItalics( ITALICS, ITALICS_ANGLE );
901   style2.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
902   style2.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
903   style2.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
904   style2.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
905   style2.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
906
907   style2.Reset( TextStyle::ALL );
908
909   DALI_TEST_CHECK( defaultStyle == style2 );
910
911   // Set all parameters
912   style2.SetFontName( FONT_FAMILY );
913   style2.SetFontStyle( FONT_STYLE );
914   style2.SetFontPointSize( FONT_POINT_SIZE );
915   style2.SetTextColor( TEXT_COLOR );
916
917   style2.SetWeight( TEXT_WEIGHT );
918   style2.SetSmoothEdge( SMOOTH_EDGE );
919
920   style2.SetItalics( ITALICS, ITALICS_ANGLE );
921   style2.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
922   style2.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
923   style2.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
924   style2.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
925   style2.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
926
927   // Reset FONT
928   style2.Reset( TextStyle::FONT );
929
930   DALI_TEST_CHECK( style2.IsFontNameDefault() );
931   DALI_TEST_EQUALS( style2.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
932
933   // Reset STYLE
934   style2.Reset( TextStyle::STYLE );
935
936   DALI_TEST_CHECK( style2.IsFontStyleDefault() );
937   DALI_TEST_EQUALS( style2.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
938
939   // Reset SIZE
940   style2.Reset( TextStyle::SIZE );
941
942   DALI_TEST_CHECK( style2.IsFontSizeDefault() );
943   DALI_TEST_EQUALS( style2.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
944
945   // Reset COLOR
946   style2.Reset( TextStyle::COLOR );
947
948   DALI_TEST_CHECK( style2.IsTextColorDefault() );
949   DALI_TEST_EQUALS( style2.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
950
951   // Reset WEIGHT
952   style2.Reset( TextStyle::WEIGHT );
953
954   DALI_TEST_CHECK( style2.IsFontWeightDefault() );
955   DALI_TEST_EQUALS( style2.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
956
957   // Reset SMOOTH
958   style2.Reset( TextStyle::SMOOTH );
959
960   DALI_TEST_CHECK( style2.IsSmoothEdgeDefault() );
961   DALI_TEST_EQUALS( style2.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
962
963   // Reset ITALICS
964   style2.Reset( TextStyle::ITALICS );
965
966   DALI_TEST_CHECK( style2.IsItalicsDefault() );
967   DALI_TEST_CHECK( !style2.IsItalicsEnabled() );
968   DALI_TEST_EQUALS( style2.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
969
970   // Reset UNDERLINE
971   style2.Reset( TextStyle::UNDERLINE );
972
973   DALI_TEST_CHECK( style2.IsUnderlineDefault() );
974   DALI_TEST_CHECK( !style2.IsUnderlineEnabled() );
975   DALI_TEST_EQUALS( style2.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
976   DALI_TEST_EQUALS( style2.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
977
978   // Reset SHADOW
979   style2.Reset( TextStyle::SHADOW );
980
981   DALI_TEST_CHECK( style2.IsShadowDefault() );
982   DALI_TEST_CHECK( !style2.IsShadowEnabled() );
983   DALI_TEST_EQUALS( style2.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
984   DALI_TEST_EQUALS( style2.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
985   DALI_TEST_EQUALS( style2.GetShadowSize(), TextStyle::DEFAULT_SHADOW_SIZE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
986
987   // Reset GLOW
988   style2.Reset( TextStyle::GLOW );
989
990   DALI_TEST_CHECK( style2.IsGlowDefault() );
991   DALI_TEST_CHECK( !style2.IsGlowEnabled() );
992   DALI_TEST_EQUALS( style2.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
993   DALI_TEST_EQUALS( style2.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
994
995   // Reset OUTLINE
996   style2.Reset( TextStyle::OUTLINE );
997
998   DALI_TEST_CHECK( style2.IsOutlineDefault() );
999   DALI_TEST_CHECK( !style2.IsOutlineEnabled() );
1000   DALI_TEST_EQUALS( style2.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
1001   DALI_TEST_EQUALS( style2.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
1002
1003   // Reset GRADIENT
1004   style2.Reset( TextStyle::GRADIENT );
1005
1006   DALI_TEST_CHECK( style2.IsGradientDefault() );
1007   DALI_TEST_CHECK( !style2.IsGradientEnabled() );
1008   DALI_TEST_EQUALS( style2.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
1009   DALI_TEST_EQUALS( style2.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
1010   DALI_TEST_EQUALS( style2.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
1011
1012
1013   // Added to increase coverage.
1014
1015   {
1016   // Reset the font name when there is another parameter of a different struct.
1017   // Test when the struct storing the font name is in the last position of the vector and when is not.
1018
1019   TextStyle nameStyle;
1020
1021   nameStyle.SetFontName( FONT_FAMILY );
1022   nameStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1023   nameStyle.Reset( TextStyle::FONT );
1024
1025   DALI_TEST_EQUALS( nameStyle.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
1026
1027   nameStyle.SetFontName( FONT_FAMILY );
1028   nameStyle.Reset( TextStyle::FONT );
1029
1030   DALI_TEST_EQUALS( nameStyle.GetFontName(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
1031   }
1032
1033   {
1034   // Reset the font style when there is another parameter of a different struct.
1035   // Test when the struct storing the font style is in the last position of the vector and when is not.
1036
1037   TextStyle styleStyle;
1038
1039   styleStyle.SetFontStyle( FONT_STYLE );
1040   styleStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1041   styleStyle.Reset( TextStyle::STYLE );
1042
1043   DALI_TEST_EQUALS( styleStyle.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
1044
1045   styleStyle.SetFontStyle( FONT_STYLE );
1046   styleStyle.Reset( TextStyle::STYLE );
1047
1048   DALI_TEST_EQUALS( styleStyle.GetFontStyle(), DEFAULT_FONT_NAME_STYLE, TEST_LOCATION );
1049   }
1050
1051   {
1052   // Reset the font size when there is another parameter of a different struct.
1053   // Test when the struct storing the font size is in the last position of the vector and when is not.
1054
1055   TextStyle sizeStyle;
1056
1057   sizeStyle.SetFontPointSize( FONT_POINT_SIZE );
1058   sizeStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1059   sizeStyle.Reset( TextStyle::SIZE );
1060
1061   DALI_TEST_EQUALS( sizeStyle.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
1062
1063   sizeStyle.SetFontPointSize( FONT_POINT_SIZE );
1064   sizeStyle.Reset( TextStyle::SIZE );
1065
1066   DALI_TEST_EQUALS( sizeStyle.GetFontPointSize(), DEFAULT_FONT_POINT_SIZE, TEST_LOCATION );
1067   }
1068
1069   {
1070   // Reset the text color when there is another parameter of a different struct.
1071   // Test when the struct storing the text color is in the last position of the vector and when is not.
1072
1073   TextStyle colorStyle;
1074
1075   colorStyle.SetTextColor( TEXT_COLOR );
1076   colorStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1077   colorStyle.Reset( TextStyle::COLOR );
1078
1079   DALI_TEST_EQUALS( colorStyle.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
1080
1081   colorStyle.SetTextColor( TEXT_COLOR );
1082   colorStyle.Reset( TextStyle::COLOR );
1083
1084   DALI_TEST_EQUALS( colorStyle.GetTextColor(), TextStyle::DEFAULT_TEXT_COLOR, TEST_LOCATION );
1085   }
1086
1087   {
1088   // Reset the text weight when there is another parameter of a different struct.
1089   // Test when the struct storing the text weight is in the last position of the vector and when is not.
1090
1091   TextStyle weightStyle;
1092
1093   weightStyle.SetWeight( TEXT_WEIGHT );
1094   weightStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1095   weightStyle.Reset( TextStyle::WEIGHT );
1096
1097   DALI_TEST_EQUALS( weightStyle.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
1098
1099   weightStyle.SetWeight( TEXT_WEIGHT );
1100   weightStyle.Reset( TextStyle::WEIGHT );
1101
1102   DALI_TEST_EQUALS( weightStyle.GetWeight(), TextStyle::DEFAULT_FONT_WEIGHT, TEST_LOCATION );
1103   }
1104
1105   {
1106   // Reset the smooth edge when there is another parameter of a different struct.
1107   // Test when the struct storing the smooth edge is in the last position of the vector and when is not.
1108
1109   TextStyle smoothStyle;
1110
1111   smoothStyle.SetSmoothEdge( SMOOTH_EDGE );
1112   smoothStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1113   smoothStyle.Reset( TextStyle::SMOOTH );
1114
1115   DALI_TEST_EQUALS( smoothStyle.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1116
1117   smoothStyle.SetSmoothEdge( SMOOTH_EDGE );
1118   smoothStyle.Reset( TextStyle::SMOOTH );
1119
1120   DALI_TEST_EQUALS( smoothStyle.GetSmoothEdge(), TextStyle::DEFAULT_SMOOTH_EDGE_DISTANCE_FIELD, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1121   }
1122
1123   {
1124   // Reset the italics when there is another parameter of a different struct.
1125   // Test when the struct storing the italics is in the last position of the vector and when is not.
1126
1127   TextStyle italicsStyle;
1128
1129   italicsStyle.SetItalics( ITALICS, ITALICS_ANGLE );
1130   italicsStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1131   italicsStyle.Reset( TextStyle::ITALICS );
1132
1133   DALI_TEST_EQUALS( italicsStyle.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
1134
1135   italicsStyle.SetItalics( ITALICS, ITALICS_ANGLE );
1136   italicsStyle.Reset( TextStyle::ITALICS );
1137
1138   DALI_TEST_EQUALS( italicsStyle.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
1139   }
1140
1141   {
1142   // Reset the underline when there is another parameter of a different struct.
1143   // Test when the struct storing the underline is in the last position of the vector and when is not.
1144
1145   TextStyle underlineStyle;
1146
1147   underlineStyle.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
1148   underlineStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1149   underlineStyle.Reset( TextStyle::UNDERLINE );
1150
1151   DALI_TEST_EQUALS( underlineStyle.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1152   DALI_TEST_EQUALS( underlineStyle.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1153
1154   underlineStyle.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
1155   underlineStyle.Reset( TextStyle::UNDERLINE );
1156
1157   DALI_TEST_EQUALS( underlineStyle.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1158   DALI_TEST_EQUALS( underlineStyle.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1159   }
1160
1161
1162
1163
1164
1165   {
1166   // Reset the shadow when there is another parameter of a different struct.
1167   // Test when the struct storing the shadow is in the last position of the vector and when is not.
1168
1169   TextStyle shadowStyle;
1170
1171   shadowStyle.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
1172   shadowStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1173   shadowStyle.Reset( TextStyle::SHADOW );
1174
1175   DALI_TEST_CHECK( shadowStyle.IsShadowDefault() );
1176
1177   shadowStyle.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
1178   shadowStyle.Reset( TextStyle::SHADOW );
1179
1180   DALI_TEST_CHECK( shadowStyle.IsShadowDefault() );
1181 }
1182
1183   {
1184   // Reset the glow when there is another parameter of a different struct.
1185   // Test when the struct storing the glow is in the last position of the vector and when is not.
1186
1187   TextStyle glowStyle;
1188
1189   glowStyle.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
1190   glowStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1191   glowStyle.Reset( TextStyle::GLOW );
1192
1193   DALI_TEST_CHECK( glowStyle.IsGlowDefault() );
1194
1195   glowStyle.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
1196   glowStyle.Reset( TextStyle::GLOW );
1197
1198   DALI_TEST_CHECK( glowStyle.IsGlowDefault() );
1199   }
1200
1201   {
1202   // Reset the outline when there is another parameter of a different struct.
1203   // Test when the struct storing the outline is in the last position of the vector and when is not.
1204
1205   TextStyle outlineStyle;
1206
1207   outlineStyle.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
1208   outlineStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1209   outlineStyle.Reset( TextStyle::OUTLINE );
1210
1211   DALI_TEST_CHECK( outlineStyle.IsOutlineDefault() );
1212
1213   outlineStyle.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
1214   outlineStyle.Reset( TextStyle::OUTLINE );
1215
1216   DALI_TEST_CHECK( outlineStyle.IsOutlineDefault() );
1217   }
1218
1219   {
1220   // Reset the gradient when there is another parameter of a different struct.
1221   // Test when the struct storing the gradient is in the last position of the vector and when is not.
1222
1223   TextStyle gradientStyle;
1224
1225   gradientStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1226   gradientStyle.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
1227   gradientStyle.Reset( TextStyle::GRADIENT );
1228
1229   DALI_TEST_CHECK( gradientStyle.IsGradientDefault() );
1230
1231   gradientStyle.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1232   gradientStyle.Reset( TextStyle::GRADIENT );
1233
1234   DALI_TEST_CHECK( gradientStyle.IsGradientDefault() );
1235   }
1236
1237   END_TEST;
1238 }
1239
1240 int UtcDaliTextStyleSetGetFontName(void)
1241 {
1242   tet_infoline(" UtcDaliTextStyleSetGetFontName ");
1243
1244   TestApplication application;
1245
1246   TextStyle style;
1247
1248   style.SetFontName( FONT_FAMILY );
1249
1250   DALI_TEST_EQUALS( style.GetFontName(), FONT_FAMILY, TEST_LOCATION );
1251
1252   // Added to increase coverage
1253   style.SetFontStyle( FONT_STYLE );
1254   DALI_TEST_EQUALS( style.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
1255
1256   END_TEST;
1257 }
1258
1259 int UtcDaliTextStyleSetGetFontStyle(void)
1260 {
1261   tet_infoline(" UtcDaliTextStyleSetGetFontStyle ");
1262
1263   TestApplication application;
1264
1265   TextStyle style;
1266
1267   style.SetFontStyle( FONT_STYLE );
1268
1269   DALI_TEST_EQUALS( style.GetFontStyle(), FONT_STYLE, TEST_LOCATION );
1270
1271   // Added to increase coverage
1272   style.SetFontName( FONT_FAMILY );
1273   DALI_TEST_EQUALS( style.GetFontName(), FONT_FAMILY, TEST_LOCATION );
1274
1275   END_TEST;
1276 }
1277
1278 int UtcDaliTextStyleSetGetFontPointSize(void)
1279 {
1280   tet_infoline(" UtcDaliTextStyleSetGetFontPointSize ");
1281
1282   TestApplication application;
1283
1284   TextStyle style;
1285
1286   style.SetFontPointSize( FONT_POINT_SIZE );
1287
1288   DALI_TEST_EQUALS( style.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
1289
1290   // Added to increase coverage
1291   style.SetTextColor( TEXT_COLOR );
1292   DALI_TEST_EQUALS( style.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
1293
1294   END_TEST;
1295 }
1296
1297 int UtcDaliTextStyleSetGetTextColor(void)
1298 {
1299   tet_infoline(" UtcDaliTextStyleSetGetTextColor ");
1300
1301   TestApplication application;
1302
1303   TextStyle style;
1304
1305   style.SetTextColor( TEXT_COLOR );
1306
1307   DALI_TEST_EQUALS( style.GetTextColor(), TEXT_COLOR, TEST_LOCATION );
1308
1309   // Added to increase coverage
1310   style.SetFontPointSize( FONT_POINT_SIZE );
1311   DALI_TEST_EQUALS( style.GetFontPointSize(), FONT_POINT_SIZE, TEST_LOCATION );
1312
1313   END_TEST;
1314 }
1315
1316 int UtcDaliTextStyleSetGetWeight(void)
1317 {
1318   tet_infoline(" UtcDaliTextStyleSetGetWeight ");
1319
1320   TestApplication application;
1321
1322   TextStyle style;
1323
1324   style.SetWeight( TEXT_WEIGHT );
1325
1326   DALI_TEST_EQUALS( style.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
1327
1328   // Added to increase coverage
1329   style.SetSmoothEdge( SMOOTH_EDGE );
1330   DALI_TEST_EQUALS( style.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1331
1332   END_TEST;
1333 }
1334
1335 int UtcDaliTextStyleSetGetSmoothEdge(void)
1336 {
1337   tet_infoline(" UtcDaliTextStyleSetGetGlow ");
1338
1339   TestApplication application;
1340
1341   TextStyle style;
1342
1343   style.SetSmoothEdge( SMOOTH_EDGE );
1344
1345   DALI_TEST_EQUALS( style.GetSmoothEdge(), SMOOTH_EDGE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1346
1347   // Added to increase coverage
1348   style.SetWeight( TEXT_WEIGHT );
1349   DALI_TEST_EQUALS( style.GetWeight(), TEXT_WEIGHT, TEST_LOCATION );
1350
1351   END_TEST;
1352 }
1353
1354 int UtcDaliTextStyleSetGetItalics(void)
1355 {
1356   tet_infoline(" UtcDaliTextStyleSetGetItalics ");
1357
1358   TestApplication application;
1359
1360   TextStyle style;
1361
1362   DALI_TEST_EQUALS( style.GetItalicsAngle(), TextStyle::DEFAULT_ITALICS_ANGLE, TEST_LOCATION );
1363
1364   style.SetItalics( ITALICS, ITALICS_ANGLE );
1365
1366   DALI_TEST_CHECK( style.IsItalicsEnabled() );
1367   DALI_TEST_EQUALS( style.GetItalicsAngle(), ITALICS_ANGLE, TEST_LOCATION );
1368
1369   style.SetItalics( !ITALICS, TextStyle::DEFAULT_ITALICS_ANGLE  );
1370
1371   DALI_TEST_CHECK( !style.IsItalicsEnabled() );
1372
1373   END_TEST;
1374 }
1375
1376 int UtcDaliTextStyleSetGetUnderline(void)
1377 {
1378   tet_infoline(" UtcDaliTextStyleSetGetUnderline ");
1379
1380   TestApplication application;
1381
1382   TextStyle style;
1383
1384   style.SetUnderline( UNDERLINE, UNDERLINE_THICKNESS, UNDERLINE_POSITION );
1385
1386   DALI_TEST_CHECK( style.IsUnderlineEnabled() );
1387   DALI_TEST_EQUALS( style.GetUnderlineThickness(), UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1388   DALI_TEST_EQUALS( style.GetUnderlinePosition(), UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1389
1390   style.SetUnderline( !UNDERLINE, TextStyle::DEFAULT_UNDERLINE_THICKNESS, TextStyle::DEFAULT_UNDERLINE_POSITION );
1391
1392   DALI_TEST_CHECK( !style.IsUnderlineEnabled() );
1393   DALI_TEST_EQUALS( style.GetUnderlineThickness(), TextStyle::DEFAULT_UNDERLINE_THICKNESS, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1394   DALI_TEST_EQUALS( style.GetUnderlinePosition(), TextStyle::DEFAULT_UNDERLINE_POSITION, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1395
1396   END_TEST;
1397 }
1398
1399 int UtcDaliTextStyleSetGetShadow(void)
1400 {
1401   tet_infoline(" UtcDaliTextStyleSetGetShadow ");
1402
1403   TestApplication application;
1404
1405   TextStyle style;
1406
1407   DALI_TEST_CHECK( !style.IsShadowEnabled() );
1408
1409   style.SetShadow( SHADOW, SHADOW_COLOR, SHADOW_OFFSET, SHADOW_SIZE );
1410
1411   DALI_TEST_CHECK( style.IsShadowEnabled() );
1412   DALI_TEST_EQUALS( style.GetShadowColor(), SHADOW_COLOR, TEST_LOCATION );
1413   DALI_TEST_EQUALS( style.GetShadowOffset(), SHADOW_OFFSET, TEST_LOCATION );
1414   DALI_TEST_EQUALS( style.GetShadowSize(), SHADOW_SIZE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1415
1416   style.SetShadow( !SHADOW, TextStyle::DEFAULT_SHADOW_COLOR, TextStyle::DEFAULT_SHADOW_OFFSET, TextStyle::DEFAULT_SHADOW_SIZE );
1417   DALI_TEST_CHECK( !style.IsShadowEnabled() );
1418   DALI_TEST_EQUALS( style.GetShadowColor(), TextStyle::DEFAULT_SHADOW_COLOR, TEST_LOCATION );
1419   DALI_TEST_EQUALS( style.GetShadowOffset(), TextStyle::DEFAULT_SHADOW_OFFSET, TEST_LOCATION );
1420   DALI_TEST_EQUALS( style.GetShadowSize(), TextStyle::DEFAULT_SHADOW_SIZE, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1421
1422   END_TEST;
1423 }
1424
1425 int UtcDaliTextStyleSetGetGlow(void)
1426 {
1427   tet_infoline(" UtcDaliTextStyleSetGetGlow ");
1428
1429   TestApplication application;
1430
1431   TextStyle style;
1432
1433   DALI_TEST_CHECK( !style.IsGlowEnabled() );
1434
1435   style.SetGlow( GLOW, GLOW_COLOR, GLOW_INTENSITY );
1436
1437   DALI_TEST_CHECK( style.IsGlowEnabled() );
1438   DALI_TEST_EQUALS( style.GetGlowColor(), GLOW_COLOR, TEST_LOCATION );
1439   DALI_TEST_EQUALS( style.GetGlowIntensity(), GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1440
1441   style.SetGlow( !GLOW, TextStyle::DEFAULT_GLOW_COLOR, TextStyle::DEFAULT_GLOW_INTENSITY );
1442
1443   DALI_TEST_CHECK( !style.IsGlowEnabled() );
1444   DALI_TEST_EQUALS( style.GetGlowColor(), TextStyle::DEFAULT_GLOW_COLOR, TEST_LOCATION );
1445   DALI_TEST_EQUALS( style.GetGlowIntensity(), TextStyle::DEFAULT_GLOW_INTENSITY, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
1446
1447   END_TEST;
1448 }
1449
1450 int UtcDaliTextStyleSetGetOutline(void)
1451 {
1452   tet_infoline(" UtcDaliTextStyleSetGetOutline ");
1453
1454   TestApplication application;
1455
1456   TextStyle style;
1457
1458   DALI_TEST_CHECK( !style.IsOutlineEnabled() );
1459
1460   style.SetOutline( OUTLINE, OUTLINE_COLOR, OUTLINE_THICKNESS );
1461
1462   DALI_TEST_CHECK( style.IsOutlineEnabled() );
1463   DALI_TEST_EQUALS( style.GetOutlineColor(), OUTLINE_COLOR, TEST_LOCATION );
1464   DALI_TEST_EQUALS( style.GetOutlineThickness(), OUTLINE_THICKNESS, TEST_LOCATION );
1465
1466   style.SetOutline( !OUTLINE, TextStyle::DEFAULT_OUTLINE_COLOR, TextStyle::DEFAULT_OUTLINE_THICKNESS );
1467
1468   DALI_TEST_CHECK( !style.IsOutlineEnabled() );
1469   DALI_TEST_EQUALS( style.GetOutlineColor(), TextStyle::DEFAULT_OUTLINE_COLOR, TEST_LOCATION );
1470   DALI_TEST_EQUALS( style.GetOutlineThickness(), TextStyle::DEFAULT_OUTLINE_THICKNESS, TEST_LOCATION );
1471
1472   END_TEST;
1473 }
1474
1475 int UtcDaliTextStyleSetGetGradient(void)
1476 {
1477   tet_infoline(" UtcDaliTextStyleSetGetGradient ");
1478
1479   TestApplication application;
1480
1481   TextStyle style;
1482
1483   DALI_TEST_CHECK( !style.IsGradientEnabled() );
1484
1485   style.SetGradient( GRADIENT, GRADIENT_COLOR, GRADIENT_START_POINT, GRADIENT_END_POINT );
1486
1487   DALI_TEST_CHECK( style.IsGradientEnabled() );
1488   DALI_TEST_EQUALS( style.GetGradientColor(), GRADIENT_COLOR, TEST_LOCATION );
1489   DALI_TEST_EQUALS( style.GetGradientStartPoint(), GRADIENT_START_POINT, TEST_LOCATION );
1490   DALI_TEST_EQUALS( style.GetGradientEndPoint(), GRADIENT_END_POINT, TEST_LOCATION );
1491
1492   style.SetGradient( !GRADIENT, TextStyle::DEFAULT_GRADIENT_COLOR, TextStyle::DEFAULT_GRADIENT_START_POINT, TextStyle::DEFAULT_GRADIENT_END_POINT );
1493
1494   DALI_TEST_CHECK( !style.IsGradientEnabled() );
1495   DALI_TEST_EQUALS( style.GetGradientColor(), TextStyle::DEFAULT_GRADIENT_COLOR, TEST_LOCATION );
1496   DALI_TEST_EQUALS( style.GetGradientStartPoint(), TextStyle::DEFAULT_GRADIENT_START_POINT, TEST_LOCATION );
1497   DALI_TEST_EQUALS( style.GetGradientEndPoint(), TextStyle::DEFAULT_GRADIENT_END_POINT, TEST_LOCATION );
1498
1499   END_TEST;
1500 }