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.
22 #include <dali-toolkit-test-suite-utils.h>
23 #include <dali-toolkit/internal/text/bounded-paragraph-run.h>
24 #include <dali-toolkit/internal/text/character-spacing-character-run.h>
25 #include <dali-toolkit/internal/text/color-run.h>
26 #include <dali-toolkit/internal/text/font-description-run.h>
27 #include <dali-toolkit/internal/text/strikethrough-character-run.h>
28 #include <dali-toolkit/internal/text/underlined-character-run.h>
31 using namespace Toolkit;
34 // Tests the following functions for AbstractStyleCharacterRun.
35 // CharacterIndex GetStartCharacterIndex() const;
36 // Length GetNumberOfCharacters() const;
37 // CharacterIndex GetEndCharacterIndex() const;
39 template<typename TYPE_OF_RUN>
40 void TestAbstractStyleCharacterRunEmptyCharacterRun(std::string test_name)
42 tet_infoline(" TestAbstractStyleCharacterRunEmptyCharacterRun ");
43 std::cout << " testing " << test_name << std::endl;
45 tet_infoline(" Default Constructor ");
46 TYPE_OF_RUN abstractStyleCharacterRun;
48 tet_infoline(" AbstractStyleCharacterRun_GetStartCharacterIndex ");
49 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetStartCharacterIndex(), 0u, TEST_LOCATION);
51 tet_infoline(" AbstractStyleCharacterRun_GetNumberOfCharacters ");
52 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetNumberOfCharacters(), 0u, TEST_LOCATION);
54 tet_infoline(" AbstractStyleCharacterRun_GetEndCharacterIndex ");
55 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetEndCharacterIndex(), 0u, TEST_LOCATION);
58 template<typename TYPE_OF_RUN>
59 void TestAbstractStyleCharacterRunOneCharacter(std::string test_name)
61 tet_infoline(" TestAbstractStyleCharacterRunOneCharacter ");
62 std::cout << " testing " << test_name << std::endl;
64 TYPE_OF_RUN abstractStyleCharacterRun;
65 abstractStyleCharacterRun.characterRun.numberOfCharacters = 1u;
66 tet_infoline(" AbstractStyleCharacterRun_GetStartCharacterIndex ");
67 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetStartCharacterIndex(), 0u, TEST_LOCATION);
69 tet_infoline(" AbstractStyleCharacterRun_GetNumberOfCharacters ");
70 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetNumberOfCharacters(), 1u, TEST_LOCATION);
72 tet_infoline(" AbstractStyleCharacterRun_GetEndCharacterIndex ");
73 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetEndCharacterIndex(), 0u, TEST_LOCATION);
75 abstractStyleCharacterRun.characterRun.characterIndex = 5u;
76 tet_infoline(" AbstractStyleCharacterRun_GetStartCharacterIndex ");
77 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetStartCharacterIndex(), 5u, TEST_LOCATION);
79 tet_infoline(" AbstractStyleCharacterRun_GetNumberOfCharacters ");
80 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetNumberOfCharacters(), 1u, TEST_LOCATION);
82 tet_infoline(" AbstractStyleCharacterRun_GetEndCharacterIndex ");
83 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetEndCharacterIndex(), 5u, TEST_LOCATION);
86 template<typename TYPE_OF_RUN>
87 void TestAbstractStyleCharacterRunMoreThanOneCharacter(std::string test_name)
89 tet_infoline(" TestAbstractStyleCharacterRunOneCharacter ");
90 std::cout << " testing " << test_name << std::endl;
92 TYPE_OF_RUN abstractStyleCharacterRun;
93 abstractStyleCharacterRun.characterRun.numberOfCharacters = 15u;
94 tet_infoline(" AbstractStyleCharacterRun_GetStartCharacterIndex ");
95 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetStartCharacterIndex(), 0u, TEST_LOCATION);
97 tet_infoline(" AbstractStyleCharacterRun_GetNumberOfCharacters ");
98 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetNumberOfCharacters(), 15u, TEST_LOCATION);
100 tet_infoline(" AbstractStyleCharacterRun_GetEndCharacterIndex ");
101 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetEndCharacterIndex(), 14u, TEST_LOCATION);
103 abstractStyleCharacterRun.characterRun.characterIndex = 5u;
104 tet_infoline(" AbstractStyleCharacterRun_GetStartCharacterIndex ");
105 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetStartCharacterIndex(), 5u, TEST_LOCATION);
107 tet_infoline(" AbstractStyleCharacterRun_GetNumberOfCharacters ");
108 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetNumberOfCharacters(), 15u, TEST_LOCATION);
110 tet_infoline(" AbstractStyleCharacterRun_GetEndCharacterIndex ");
111 DALI_TEST_EQUALS(abstractStyleCharacterRun.GetEndCharacterIndex(), 19u, TEST_LOCATION);
114 int UtcDaliTextAbstractStyleCharacterRun(void)
116 ToolkitTestApplication application;
117 tet_infoline(" UtcDaliTextAbstractStyleCharacterRun");
119 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::ColorRun>("ColorRun");
120 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::CharacterSpacingCharacterRun>("CharacterSpacingCharacterRun");
121 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::FontDescriptionRun>("FontDescriptionRun");
122 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::UnderlinedCharacterRun>("UnderlinedCharacterRun");
123 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::StrikethroughCharacterRun>("StrikethroughCharacterRun");
124 TestAbstractStyleCharacterRunEmptyCharacterRun<Dali::Toolkit::Text::BoundedParagraphRun>("BoundedParagraphRun");
126 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::ColorRun>("ColorRun");
127 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::CharacterSpacingCharacterRun>("CharacterSpacingCharacterRun");
128 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::FontDescriptionRun>("FontDescriptionRun");
129 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::UnderlinedCharacterRun>("UnderlinedCharacterRun");
130 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::StrikethroughCharacterRun>("StrikethroughCharacterRun");
131 TestAbstractStyleCharacterRunOneCharacter<Dali::Toolkit::Text::BoundedParagraphRun>("BoundedParagraphRun");
133 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::ColorRun>("ColorRun");
134 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::CharacterSpacingCharacterRun>("CharacterSpacingCharacterRun");
135 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::FontDescriptionRun>("FontDescriptionRun");
136 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::UnderlinedCharacterRun>("UnderlinedCharacterRun");
137 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::StrikethroughCharacterRun>("StrikethroughCharacterRun");
138 TestAbstractStyleCharacterRunMoreThanOneCharacter<Dali::Toolkit::Text::BoundedParagraphRun>("BoundedParagraphRun");