1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <cstddef>
17 #include "gtest/gtest.h"
18 #include "skia_adapter/skia_font_style_set.h"
19
20 using namespace testing;
21 using namespace testing::ext;
22
23 namespace OHOS {
24 namespace Rosen {
25 namespace Drawing {
26 class SkiaFontStyleSetTest : public testing::Test {
27 public:
28 static void SetUpTestCase();
29 static void TearDownTestCase();
30 void SetUp() override;
31 void TearDown() override;
32 };
33
SetUpTestCase()34 void SkiaFontStyleSetTest::SetUpTestCase() {}
TearDownTestCase()35 void SkiaFontStyleSetTest::TearDownTestCase() {}
SetUp()36 void SkiaFontStyleSetTest::SetUp() {}
TearDown()37 void SkiaFontStyleSetTest::TearDown() {}
38
39 /**
40 * @tc.name: CreateTypeface001
41 * @tc.desc: Test CreateTypeface
42 * @tc.type: FUNC
43 * @tc.require: I91F9L
44 */
45 HWTEST_F(SkiaFontStyleSetTest, CreateTypeface001, TestSize.Level1)
46 {
47 auto skiaFontStyleSet = SkiaFontStyleSet::CreateEmpty();
48 ASSERT_TRUE(skiaFontStyleSet->CreateTypeface(0) == nullptr);
49 }
50
51 /**
52 * @tc.name: GetStyle001
53 * @tc.desc: Test GetStyle
54 * @tc.type: FUNC
55 * @tc.require: I91F9L
56 */
57 HWTEST_F(SkiaFontStyleSetTest, GetStyle001, TestSize.Level1)
58 {
59 std::shared_ptr<FontStyleSetImpl> fontStyleSetImpl = nullptr;
60 auto skiaFontStyleSet1 = std::make_shared<FontStyleSet>(fontStyleSetImpl);
61 FontStyle fontStyle;
62 std::string styleName = "style";
63 skiaFontStyleSet1->GetStyle(0, &fontStyle, &styleName);
64 auto skiaFontStyleSet2 = SkiaFontStyleSet::CreateEmpty();
65 skiaFontStyleSet2->GetStyle(0, &fontStyle, &styleName);
66 }
67
68 /**
69 * @tc.name: MatchStyle001
70 * @tc.desc: Test MatchStyle
71 * @tc.type: FUNC
72 * @tc.require: I91F9L
73 */
74 HWTEST_F(SkiaFontStyleSetTest, MatchStyle001, TestSize.Level1)
75 {
76 std::shared_ptr<FontStyleSetImpl> fontStyleSetImpl = nullptr;
77 auto skiaFontStyleSet1 = std::make_shared<FontStyleSet>(fontStyleSetImpl);
78 FontStyle fontStyle;
79 auto typeface1 = skiaFontStyleSet1->MatchStyle(fontStyle);
80 auto skiaFontStyleSet2 = SkiaFontStyleSet::CreateEmpty();
81 auto typeface2 = skiaFontStyleSet2->MatchStyle(fontStyle);
82 ASSERT_TRUE(typeface1 == nullptr);
83 ASSERT_TRUE(typeface2 == nullptr);
84 }
85
86 /**
87 * @tc.name: Count001
88 * @tc.desc: Test Count
89 * @tc.type: FUNC
90 * @tc.require: I91F9L
91 */
92 HWTEST_F(SkiaFontStyleSetTest, Count001, TestSize.Level1)
93 {
94 auto skiaFontStyleSet = SkiaFontStyleSet::CreateEmpty();
95 ASSERT_TRUE(skiaFontStyleSet->Count() >= 0);
96 }
97 } // namespace Drawing
98 } // namespace Rosen
99 } // namespace OHOS