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_runtime_effect.h"
19 #include "skia_adapter/skia_runtime_shader_builder.h"
20 #include "effect/runtime_effect.h"
21
22 using namespace testing;
23 using namespace testing::ext;
24
25 namespace OHOS {
26 namespace Rosen {
27 namespace Drawing {
28 class SkiaRuntimeEffectTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp() override;
33 void TearDown() override;
34 };
35
SetUpTestCase()36 void SkiaRuntimeEffectTest::SetUpTestCase() {}
TearDownTestCase()37 void SkiaRuntimeEffectTest::TearDownTestCase() {}
SetUp()38 void SkiaRuntimeEffectTest::SetUp() {}
TearDown()39 void SkiaRuntimeEffectTest::TearDown() {}
40
41 /**
42 * @tc.name: InitForShader001
43 * @tc.desc: Test InitForShader
44 * @tc.type: FUNC
45 * @tc.require: I91EQ7
46 */
47 HWTEST_F(SkiaRuntimeEffectTest, InitForShader001, TestSize.Level1)
48 {
49 RuntimeEffectOptions op;
50 std::string s = "safd";
51 SkiaRuntimeEffect skiaRuntimeEffect;
52 skiaRuntimeEffect.InitForShader(s, op);
53 EXPECT_TRUE(skiaRuntimeEffect.GetRuntimeEffect() == nullptr);
54 }
55
56 /**
57 * @tc.name: InitForShader002
58 * @tc.desc: Test InitForShader
59 * @tc.type: FUNC
60 * @tc.require: I91EQ7
61 */
62 HWTEST_F(SkiaRuntimeEffectTest, InitForShader002, TestSize.Level1)
63 {
64 std::string s = "safd";
65 SkiaRuntimeEffect skiaRuntimeEffect;
66 skiaRuntimeEffect.InitForShader(s);
67 EXPECT_TRUE(skiaRuntimeEffect.GetRuntimeEffect() == nullptr);
68 }
69
70 /**
71 * @tc.name: InitForBlender001
72 * @tc.desc: Test InitForBlender
73 * @tc.type: FUNC
74 * @tc.require: I91EQ7
75 */
76 HWTEST_F(SkiaRuntimeEffectTest, InitForBlender001, TestSize.Level1)
77 {
78 std::string s = "safd";
79 SkiaRuntimeEffect skiaRuntimeEffect;
80 skiaRuntimeEffect.InitForBlender(s);
81 EXPECT_TRUE(skiaRuntimeEffect.GetRuntimeEffect() == nullptr);
82 }
83
84 /**
85 * @tc.name: GetRuntimeEffect001
86 * @tc.desc: Test GetRuntimeEffect
87 * @tc.type: FUNC
88 * @tc.require: I91EQ7
89 */
90 HWTEST_F(SkiaRuntimeEffectTest, GetRuntimeEffect001, TestSize.Level1)
91 {
92 SkiaRuntimeEffect skiaRuntimeEffect;
93 EXPECT_TRUE(skiaRuntimeEffect.GetRuntimeEffect() == nullptr);
94 }
95
96 /**
97 * @tc.name: MakeShader001
98 * @tc.desc: Test MakeShader
99 * @tc.type: FUNC
100 * @tc.require: I91EQ7
101 */
102 HWTEST_F(SkiaRuntimeEffectTest, MakeShader001, TestSize.Level1)
103 {
104 SkiaRuntimeShaderBuilder skiaRuntimeShaderBuilder;
105 EXPECT_TRUE(skiaRuntimeShaderBuilder.MakeShader(nullptr, false) == nullptr);
106 Matrix matrix;
107 EXPECT_TRUE(skiaRuntimeShaderBuilder.MakeShader(&matrix, false) == nullptr);
108 }
109
110 /**
111 * @tc.name: SetRuntimeEffect001
112 * @tc.desc: Test SetRuntimeEffect
113 * @tc.type: FUNC
114 * @tc.require: I91EQ7
115 */
116 HWTEST_F(SkiaRuntimeEffectTest, SetRuntimeEffect001, TestSize.Level1)
117 {
118 SkiaRuntimeEffect skiaRuntimeEffect;
119 sk_sp<SkRuntimeEffect> effect;
120 skiaRuntimeEffect.SetRuntimeEffect(effect);
121 auto effect2 = skiaRuntimeEffect.GetRuntimeEffect();
122 ASSERT_TRUE(effect == effect2);
123 }
124
125 /**
126 * @tc.name: InitForES3Shader001
127 * @tc.desc: Test InitForES3Shader
128 * @tc.type: FUNC
129 * @tc.require: I91EQ7
130 */
131 HWTEST_F(SkiaRuntimeEffectTest, InitForES3Shader001, TestSize.Level1)
132 {
133 std::string s1 = "safd";
134 SkiaRuntimeEffect skiaRuntimeEffect;
135 skiaRuntimeEffect.InitForES3Shader(s1);
136 EXPECT_TRUE(skiaRuntimeEffect.GetRuntimeEffect() == nullptr);
137 }
138 } // namespace Drawing
139 } // namespace Rosen
140 } // namespace OHOS