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 #include <cstdio> 16 #include <fstream> 17 #include <gtest/gtest.h> 18 19 #include "input_manager_util.h" 20 #include "mmi_log.h" 21 #include "pointer_renderer.h" 22 23 #undef MMI_LOG_TAG 24 #define MMI_LOG_TAG "PointerRendererTest" 25 constexpr int32_t MIN_POINTER_COLOR{0x000000}; 26 constexpr int32_t MAX_POINTER_COLOR{0xFFFFFF}; 27 constexpr int32_t OTHER_POINTER_COLOR{0x171717}; 28 constexpr int32_t MIDDLE_POINTER_COLOR{0x7F7F7F}; 29 30 namespace OHOS { 31 namespace MMI { 32 namespace { 33 using namespace testing::ext; 34 } // namespace 35 class PointerRendererTest : public testing::Test { 36 public: SetUpTestCase(void)37 static void SetUpTestCase(void) {}; TearDownTestCase(void)38 static void TearDownTestCase(void) {}; SetUp(void)39 void SetUp(void) {}; 40 }; 41 42 /** 43 * @tc.name: PointerRendererTest_GetOffsetX_001 44 * @tc.desc: Test GetOffsetX 45 * @tc.type: Function 46 * @tc.require: 47 */ 48 HWTEST_F(PointerRendererTest, PointerRendererTest_GetOffsetX_001, TestSize.Level1) 49 { 50 CALL_TEST_DEBUG; 51 RenderConfig config; 52 config.align_ = ICON_TYPE::ANGLE_E; 53 int32_t ret = config.GetOffsetX(); 54 EXPECT_EQ(ret, 256); 55 config.align_ = ICON_TYPE::ANGLE_S; 56 ret = config.GetOffsetX(); 57 EXPECT_EQ(ret, 256); 58 config.align_ = ICON_TYPE::ANGLE_W; 59 ret = config.GetOffsetX(); 60 EXPECT_EQ(ret, 256); 61 config.align_ = ICON_TYPE::ANGLE_N; 62 ret = config.GetOffsetX(); 63 EXPECT_EQ(ret, 256); 64 config.align_ = ICON_TYPE::ANGLE_SE; 65 ret = config.GetOffsetX(); 66 EXPECT_EQ(ret, 256); 67 config.align_ = ICON_TYPE::ANGLE_NE; 68 ret = config.GetOffsetX(); 69 EXPECT_EQ(ret, 256); 70 config.align_ = ICON_TYPE::ANGLE_SW; 71 ret = config.GetOffsetX(); 72 EXPECT_EQ(ret, 256); 73 config.align_ = ICON_TYPE::ANGLE_NW; 74 ret = config.GetOffsetX(); 75 EXPECT_EQ(ret, 256); 76 config.align_ = ICON_TYPE::ANGLE_CENTER; 77 ret = config.GetOffsetX(); 78 EXPECT_EQ(ret, 256); 79 config.align_ = ICON_TYPE::ANGLE_NW_RIGHT; 80 ret = config.GetOffsetX(); 81 EXPECT_EQ(ret, 256); 82 } 83 84 /** 85 * @tc.name: PointerRendererTest_GetOffsetY_001 86 * @tc.desc: Test GetOffsetY 87 * @tc.type: Function 88 * @tc.require: 89 */ 90 HWTEST_F(PointerRendererTest, PointerRendererTest_GetOffsetY_001, TestSize.Level1) 91 { 92 CALL_TEST_DEBUG; 93 RenderConfig config; 94 config.align_ = ICON_TYPE::ANGLE_E; 95 int32_t ret = config.GetOffsetY(); 96 EXPECT_EQ(ret, 256); 97 config.align_ = ICON_TYPE::ANGLE_S; 98 ret = config.GetOffsetY(); 99 EXPECT_EQ(ret, 256); 100 config.align_ = ICON_TYPE::ANGLE_W; 101 ret = config.GetOffsetY(); 102 EXPECT_EQ(ret, 256); 103 config.align_ = ICON_TYPE::ANGLE_N; 104 ret = config.GetOffsetY(); 105 EXPECT_EQ(ret, 256); 106 config.align_ = ICON_TYPE::ANGLE_SE; 107 ret = config.GetOffsetY(); 108 EXPECT_EQ(ret, 256); 109 config.align_ = ICON_TYPE::ANGLE_NE; 110 ret = config.GetOffsetY(); 111 EXPECT_EQ(ret, 256); 112 config.align_ = ICON_TYPE::ANGLE_SW; 113 ret = config.GetOffsetY(); 114 EXPECT_EQ(ret, 256); 115 config.align_ = ICON_TYPE::ANGLE_NW; 116 ret = config.GetOffsetY(); 117 EXPECT_EQ(ret, 256); 118 config.align_ = ICON_TYPE::ANGLE_CENTER; 119 ret = config.GetOffsetY(); 120 EXPECT_EQ(ret, 256); 121 config.align_ = ICON_TYPE::ANGLE_NW_RIGHT; 122 ret = config.GetOffsetY(); 123 EXPECT_EQ(ret, 256); 124 } 125 126 /** 127 * @tc.name: PointerRendererTest_UserIconScale_001 128 * @tc.desc: Test UserIconScale 129 * @tc.type: Function 130 * @tc.require: 131 */ 132 HWTEST_F(PointerRendererTest, PointerRendererTest_UserIconScale_001, TestSize.Level1) 133 { 134 CALL_TEST_DEBUG; 135 RenderConfig config; 136 uint32_t width = 100; 137 uint32_t height = 200; 138 config.userIconFollowSystem = true; 139 PointerRenderer renderer; 140 image_ptr_t ret = renderer.UserIconScale(width, height, config); 141 EXPECT_EQ(ret, nullptr); 142 config.userIconFollowSystem = false; 143 ret = renderer.UserIconScale(width, height, config); 144 EXPECT_EQ(ret, nullptr); 145 } 146 147 /** 148 * @tc.name: PointerRendererTest_Render_001 149 * @tc.desc: Test Render 150 * @tc.type: Function 151 * @tc.require: 152 */ 153 HWTEST_F(PointerRendererTest, PointerRendererTest_Render_001, TestSize.Level1) 154 { 155 CALL_TEST_DEBUG; 156 RenderConfig config; 157 PointerRenderer renderer; 158 uint32_t width = 10; 159 uint32_t height = 20; 160 uint8_t addr[800] = {10}; 161 config.style_ = MOUSE_ICON::TRANSPARENT_ICON; 162 int32_t ret = renderer.Render(addr, width, height, config); 163 EXPECT_EQ(ret, RET_OK); 164 config.style_ = MOUSE_ICON::AECH_DEVELOPER_DEFINED_ICON; 165 ret = renderer.Render(addr, width, height, config); 166 config.direction = 5; 167 EXPECT_EQ(ret, RET_ERR); 168 config.direction = 0; 169 config.style_ = MOUSE_ICON::DEVELOPER_DEFINED_ICON; 170 ret = renderer.Render(addr, width, height, config); 171 EXPECT_EQ(ret, RET_ERR); 172 } 173 174 /** 175 * @tc.name: PointerRendererTest_Render_002 176 * @tc.desc: Test Render 177 * @tc.type: Function 178 * @tc.require: 179 */ 180 HWTEST_F(PointerRendererTest, PointerRendererTest_Render_002, TestSize.Level1) 181 { 182 CALL_TEST_DEBUG; 183 RenderConfig config; 184 PointerRenderer renderer; 185 uint32_t width = 10; 186 uint32_t height = 20; 187 uint8_t addr[800] = {10}; 188 config.style_ = MOUSE_ICON::AECH_DEVELOPER_DEFINED_ICON; 189 190 std::string imagePath = "/system/etc/multimodalinput/mouse_icon/Default.svg"; 191 OHOS::Media::SourceOptions opts; 192 uint32_t ret = 0; 193 auto imageSource = OHOS::Media::ImageSource::CreateImageSource(imagePath, opts, ret); 194 ASSERT_NE(imageSource, nullptr); 195 std::set<std::string> formats; 196 ret = imageSource->GetSupportedFormats(formats); 197 OHOS::Media::DecodeOptions decodeOpts; 198 decodeOpts.desiredSize = { 199 .width = 80, 200 .height = 80 201 }; 202 decodeOpts.SVGOpts.fillColor = {.isValidColor = false, .color = 0xff00ff}; 203 decodeOpts.SVGOpts.strokeColor = {.isValidColor = false, .color = 0xff00ff}; 204 config.userIconPixelMap = imageSource->CreatePixelMap(decodeOpts, ret); 205 ASSERT_NE(config.userIconPixelMap, nullptr); 206 ret = renderer.Render(addr, width, height, config); 207 config.direction = 5; 208 EXPECT_EQ(ret, RET_OK); 209 } 210 211 /** 212 * @tc.name: PointerRendererTest_DynamicRender_001 213 * @tc.desc: Test DynamicRender 214 * @tc.type: Function 215 * @tc.require: 216 */ 217 HWTEST_F(PointerRendererTest, PointerRendererTest_DynamicRender_001, TestSize.Level1) 218 { 219 CALL_TEST_DEBUG; 220 RenderConfig config; 221 PointerRenderer renderer; 222 uint32_t width = 10; 223 uint32_t height = 20; 224 uint8_t addr[800] = {10}; 225 config.style_ = MOUSE_ICON::TRANSPARENT_ICON; 226 int32_t ret = renderer.DynamicRender(addr, width, height, config); 227 EXPECT_EQ(ret, RET_OK); 228 config.style_ = MOUSE_ICON::AECH_DEVELOPER_DEFINED_ICON; 229 ret = renderer.DynamicRender(addr, width, height, config); 230 config.direction = 5; 231 EXPECT_EQ(ret, RET_OK); 232 config.direction = 0; 233 config.style_ = MOUSE_ICON::DEVELOPER_DEFINED_ICON; 234 ret = renderer.DynamicRender(addr, width, height, config); 235 EXPECT_EQ(ret, RET_OK); 236 } 237 238 /** 239 * @tc.name: PointerRendererTest_DynamicRender_002 240 * @tc.desc: Test DynamicRender 241 * @tc.type: Function 242 * @tc.require: 243 */ 244 HWTEST_F(PointerRendererTest, PointerRendererTest_DynamicRender_002, TestSize.Level1) 245 { 246 CALL_TEST_DEBUG; 247 RenderConfig config; 248 PointerRenderer renderer; 249 uint32_t width = 10; 250 uint32_t height = 20; 251 uint8_t addr[800] = {10}; 252 config.style_ = MOUSE_ICON::LOADING; 253 int32_t ret = renderer.DynamicRender(addr, width, height, config); 254 EXPECT_EQ(ret, RET_ERR); 255 } 256 257 /** 258 * @tc.name: PointerRendererTest_ExtractDrawingImage_001 259 * @tc.desc: Test ExtractDrawingImage 260 * @tc.type: Function 261 * @tc.require: 262 */ 263 HWTEST_F(PointerRendererTest, PointerRendererTest_ExtractDrawingImage_001, TestSize.Level1) 264 { 265 CALL_TEST_DEBUG; 266 PointerRenderer renderer; 267 pixelmap_ptr_t pixelMap = std::make_shared<OHOS::Media::PixelMap>(); 268 ASSERT_NE(pixelMap, nullptr); 269 Media::ImageInfo imageInfo; 270 imageInfo.size.width = 280; 271 imageInfo.size.height = 280; 272 imageInfo.pixelFormat = Media::PixelFormat::RGB_565; 273 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_UNKNOWN; 274 imageInfo.colorSpace = Media::ColorSpace::DISPLAY_P3; 275 pixelMap->SetImageInfo(imageInfo); 276 image_ptr_t ret = renderer.ExtractDrawingImage(pixelMap); 277 ASSERT_EQ(ret, nullptr); 278 imageInfo.pixelFormat = Media::PixelFormat::RGBA_8888; 279 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_OPAQUE; 280 imageInfo.colorSpace = Media::ColorSpace::LINEAR_SRGB; 281 pixelMap->SetImageInfo(imageInfo); 282 ret = renderer.ExtractDrawingImage(pixelMap); 283 ASSERT_EQ(ret, nullptr); 284 imageInfo.pixelFormat = Media::PixelFormat::BGRA_8888; 285 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_PREMUL; 286 imageInfo.colorSpace = Media::ColorSpace::SRGB; 287 pixelMap->SetImageInfo(imageInfo); 288 ret = renderer.ExtractDrawingImage(pixelMap); 289 ASSERT_EQ(ret, nullptr); 290 imageInfo.pixelFormat = Media::PixelFormat::ALPHA_8; 291 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_UNPREMUL; 292 imageInfo.colorSpace = Media::ColorSpace::UNKNOWN; 293 pixelMap->SetImageInfo(imageInfo); 294 ret = renderer.ExtractDrawingImage(pixelMap); 295 ASSERT_EQ(ret, nullptr); 296 } 297 298 /** 299 * @tc.name: PointerRendererTest_ExtractDrawingImage_002 300 * @tc.desc: Test ExtractDrawingImage 301 * @tc.type: Function 302 * @tc.require: 303 */ 304 HWTEST_F(PointerRendererTest, PointerRendererTest_ExtractDrawingImage_002, TestSize.Level1) 305 { 306 CALL_TEST_DEBUG; 307 PointerRenderer renderer; 308 pixelmap_ptr_t pixelMap = std::make_shared<OHOS::Media::PixelMap>(); 309 ASSERT_NE(pixelMap, nullptr); 310 Media::ImageInfo imageInfo; 311 imageInfo.size.width = 280; 312 imageInfo.size.height = 280; 313 imageInfo.pixelFormat = Media::PixelFormat::RGBA_F16; 314 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_UNKNOWN; 315 imageInfo.colorSpace = Media::ColorSpace::DISPLAY_P3; 316 pixelMap->SetImageInfo(imageInfo); 317 image_ptr_t ret = renderer.ExtractDrawingImage(pixelMap); 318 ASSERT_EQ(ret, nullptr); 319 imageInfo.pixelFormat = Media::PixelFormat::UNKNOWN; 320 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_OPAQUE; 321 imageInfo.colorSpace = Media::ColorSpace::LINEAR_SRGB; 322 pixelMap->SetImageInfo(imageInfo); 323 ret = renderer.ExtractDrawingImage(pixelMap); 324 ASSERT_EQ(ret, nullptr); 325 imageInfo.pixelFormat = Media::PixelFormat::ARGB_8888; 326 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_PREMUL; 327 imageInfo.colorSpace = Media::ColorSpace::SRGB; 328 pixelMap->SetImageInfo(imageInfo); 329 ret = renderer.ExtractDrawingImage(pixelMap); 330 ASSERT_EQ(ret, nullptr); 331 imageInfo.pixelFormat = Media::PixelFormat::RGB_888; 332 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_UNPREMUL; 333 imageInfo.colorSpace = Media::ColorSpace::UNKNOWN; 334 pixelMap->SetImageInfo(imageInfo); 335 ret = renderer.ExtractDrawingImage(pixelMap); 336 ASSERT_EQ(ret, nullptr); 337 } 338 339 /** 340 * @tc.name: PointerRendererTest_ExtractDrawingImage_003 341 * @tc.desc: Test ExtractDrawingImage 342 * @tc.type: Function 343 * @tc.require: 344 */ 345 HWTEST_F(PointerRendererTest, PointerRendererTest_ExtractDrawingImage_003, TestSize.Level1) 346 { 347 CALL_TEST_DEBUG; 348 PointerRenderer renderer; 349 pixelmap_ptr_t pixelMap = std::make_shared<OHOS::Media::PixelMap>(); 350 ASSERT_NE(pixelMap, nullptr); 351 Media::ImageInfo imageInfo; 352 imageInfo.size.width = 280; 353 imageInfo.size.height = 280; 354 imageInfo.pixelFormat = Media::PixelFormat::NV21; 355 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_UNKNOWN; 356 imageInfo.colorSpace = Media::ColorSpace::DISPLAY_P3; 357 pixelMap->SetImageInfo(imageInfo); 358 image_ptr_t ret = renderer.ExtractDrawingImage(pixelMap); 359 ASSERT_EQ(ret, nullptr); 360 imageInfo.pixelFormat = Media::PixelFormat::NV12; 361 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_OPAQUE; 362 imageInfo.colorSpace = Media::ColorSpace::LINEAR_SRGB; 363 pixelMap->SetImageInfo(imageInfo); 364 ret = renderer.ExtractDrawingImage(pixelMap); 365 ASSERT_EQ(ret, nullptr); 366 imageInfo.pixelFormat = Media::PixelFormat::CMYK; 367 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_PREMUL; 368 imageInfo.colorSpace = Media::ColorSpace::SRGB; 369 pixelMap->SetImageInfo(imageInfo); 370 ret = renderer.ExtractDrawingImage(pixelMap); 371 ASSERT_EQ(ret, nullptr); 372 imageInfo.pixelFormat = Media::PixelFormat::RGBA_1010102; 373 imageInfo.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_PREMUL; 374 imageInfo.colorSpace = Media::ColorSpace::SRGB; 375 pixelMap->SetImageInfo(imageInfo); 376 ret = renderer.ExtractDrawingImage(pixelMap); 377 ASSERT_EQ(ret, nullptr); 378 } 379 380 /** 381 * @tc.name: PointerRendererTest_DrawImage_001 382 * @tc.desc: Test DrawImage 383 * @tc.type: Function 384 * @tc.require: 385 */ 386 HWTEST_F(PointerRendererTest, PointerRendererTest_DrawImage_001, TestSize.Level1) 387 { 388 CALL_TEST_DEBUG; 389 PointerRenderer renderer; 390 OHOS::Rosen::Drawing::Canvas canvas; 391 RenderConfig config; 392 config.style_ = MOUSE_ICON::LOADING; 393 int32_t ret = renderer.DrawImage(canvas, config); 394 EXPECT_EQ(ret, RET_ERR); 395 config.style_ = MOUSE_ICON::DEFAULT; 396 ret = renderer.DrawImage(canvas, config); 397 EXPECT_EQ(ret, RET_OK); 398 } 399 400 /** 401 * @tc.name: PointerRendererTest_DrawImage_002 402 * @tc.desc: Test DrawImage 403 * @tc.type: Function 404 * @tc.require: 405 */ 406 HWTEST_F(PointerRendererTest, PointerRendererTest_DrawImage_002, TestSize.Level1) 407 { 408 CALL_TEST_DEBUG; 409 PointerRenderer renderer; 410 OHOS::Rosen::Drawing::Canvas canvas; 411 RenderConfig config; 412 config.style_ = MOUSE_ICON::LOADING; 413 config.path_ = "/system/etc/multimodalinput/mouse_icon/Default.svg"; 414 int32_t ret = renderer.DrawImage(canvas, config); 415 EXPECT_EQ(ret, RET_OK); 416 417 config.style_ = MOUSE_ICON::DEFAULT; 418 ret = renderer.DrawImage(canvas, config); 419 EXPECT_EQ(ret, RET_OK); 420 } 421 422 /** 423 * @tc.name: PointerRendererTest_LoadCursorSvgWithColor_001 424 * @tc.desc: Test LoadCursorSvgWithColor 425 * @tc.type: Function 426 * @tc.require: 427 */ 428 HWTEST_F(PointerRendererTest, PointerRendererTest_LoadCursorSvgWithColor_001, TestSize.Level1) 429 { 430 CALL_TEST_DEBUG; 431 RenderConfig config; 432 PointerRenderer renderer; 433 pixelmap_ptr_t ret = renderer.LoadCursorSvgWithColor(config); 434 EXPECT_EQ(ret, nullptr); 435 config.color = 0xFFFFFF; 436 ret = renderer.LoadCursorSvgWithColor(config); 437 EXPECT_EQ(ret, nullptr); 438 config.style_ = CURSOR_COPY; 439 config.color = 0x000123; 440 ret = renderer.LoadCursorSvgWithColor(config); 441 EXPECT_EQ(ret, nullptr); 442 config.color = 0xFFFFFF; 443 ret = renderer.LoadCursorSvgWithColor(config); 444 EXPECT_EQ(ret, nullptr); 445 config.style_ = HAND_GRABBING; 446 config.color = 0xFFFFFF; 447 ret = renderer.LoadCursorSvgWithColor(config); 448 EXPECT_EQ(ret, nullptr); 449 config.style_ = HAND_GRABBING; 450 config.color = 0x000123; 451 ret = renderer.LoadCursorSvgWithColor(config); 452 EXPECT_EQ(ret, nullptr); 453 } 454 455 /** 456 * @tc.name: PointerRendererTest_LoadCursorSvgWithColor_002 457 * @tc.desc: Test LoadCursorSvgWithColor && ChangeSvgCursorColor 458 * @tc.type: Function 459 * @tc.require: 460 */ 461 HWTEST_F(PointerRendererTest, PointerRendererTest_LoadCursorSvgWithColor_002, TestSize.Level1) 462 { 463 CALL_TEST_DEBUG; 464 RenderConfig config; 465 PointerRenderer renderer; 466 config.path_ = "/system/etc/multimodalinput/mouse_icon/Default.svg"; 467 config.style_ = MOUSE_ICON::CURSOR_COPY; 468 config.color = MAX_POINTER_COLOR; 469 pixelmap_ptr_t ret = renderer.LoadCursorSvgWithColor(config); 470 EXPECT_NE(ret, nullptr); 471 472 config.color = MIN_POINTER_COLOR; 473 ret = renderer.LoadCursorSvgWithColor(config); 474 EXPECT_NE(ret, nullptr); 475 } 476 477 /** 478 * @tc.name: PointerRendererTest_LoadCursorSvgWithColor_003 479 * @tc.desc: Test LoadCursorSvgWithColor && SetCursorColorBaseOnStyle 480 * @tc.type: Function 481 * @tc.require: 482 */ 483 HWTEST_F(PointerRendererTest, PointerRendererTest_LoadCursorSvgWithColor_003, TestSize.Level1) 484 { 485 CALL_TEST_DEBUG; 486 RenderConfig config; 487 PointerRenderer renderer; 488 config.path_ = "/system/etc/multimodalinput/mouse_icon/Default.svg"; 489 490 config.style_ = MOUSE_ICON::DEFAULT; 491 config.color = MIN_POINTER_COLOR; 492 pixelmap_ptr_t ret = renderer.LoadCursorSvgWithColor(config); 493 EXPECT_NE(ret, nullptr); 494 495 config.style_ = MOUSE_ICON::HAND_GRABBING; 496 config.color = MIN_POINTER_COLOR; 497 ret = renderer.LoadCursorSvgWithColor(config); 498 EXPECT_NE(ret, nullptr); 499 500 config.style_ = MOUSE_ICON::HAND_OPEN; 501 config.color = MAX_POINTER_COLOR; 502 ret = renderer.LoadCursorSvgWithColor(config); 503 EXPECT_NE(ret, nullptr); 504 505 config.style_ = MOUSE_ICON::HAND_POINTING; 506 config.color = OTHER_POINTER_COLOR; 507 ret = renderer.LoadCursorSvgWithColor(config); 508 EXPECT_NE(ret, nullptr); 509 510 config.style_ = MOUSE_ICON::HAND_POINTING; 511 config.color = MIDDLE_POINTER_COLOR; 512 ret = renderer.LoadCursorSvgWithColor(config); 513 EXPECT_NE(ret, nullptr); 514 } 515 516 /** 517 * @tc.name: PointerRendererTest_AdjustIncreaseRatio_001 518 * @tc.desc: Test AdjustIncreaseRatio 519 * @tc.type: Function 520 * @tc.require: 521 */ 522 HWTEST_F(PointerRendererTest, PointerRendererTest_AdjustIncreaseRatio_001, TestSize.Level1) 523 { 524 CALL_TEST_DEBUG; 525 RenderConfig config; 526 float originDpi = 0.0f; 527 float ret = config.AdjustIncreaseRatio(originDpi); 528 EXPECT_EQ(ret, 1.22f); 529 originDpi = 1.9f; 530 ret = config.AdjustIncreaseRatio(originDpi); 531 EXPECT_EQ(ret, 1.22f); 532 originDpi = 2.125f; 533 ret = config.AdjustIncreaseRatio(originDpi); 534 EXPECT_NE(ret, 1.22f); 535 } 536 } // namespace MMI 537 } // namespace OHOS