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 <string> 16 #include <sstream> 17 #include <vector> 18 #include <fstream> 19 #include <cstdio> 20 #include <unistd.h> 21 #include "gtest/gtest.h" 22 #define private public 23 #include "CommandParser.h" 24 using namespace std; 25 26 namespace { 27 class CommandParserTest : public ::testing::Test { 28 public: CommandParserTest()29 CommandParserTest() {} ~CommandParserTest()30 ~CommandParserTest() {} 31 protected: 32 // 在整个测试夹具类执行前执行一次初始化操作 SetUpTestCase()33 static void SetUpTestCase() 34 { 35 std::stringstream ss1(invalidParams); 36 std::string invalidParam; 37 // 使用空格分割字符串,并存入vector 38 char buffer[FILENAME_MAX]; 39 if (getcwd(buffer, FILENAME_MAX) != nullptr) { 40 currDir = std::string(buffer); 41 currFile = currDir + "/mytestfilename"; 42 // 创建文件流对象并打开文件 43 std::ofstream file(currFile); 44 // 检查文件是否成功打开 45 if (file.is_open()) { 46 file.close(); 47 } else { 48 printf("Error creating file!\n"); 49 } 50 } else { 51 printf("error: getcwd failed\n"); 52 } 53 while (std::getline(ss1, invalidParam, ' ')) { 54 invalidParamVec.push_back(invalidParam); 55 if (invalidParam == "=dir=") { 56 invalidParam = currDir; 57 } else if (invalidParam == "=file=") { 58 invalidParam = currFile; 59 } else if (invalidParam == "-h") { 60 continue; // 不存在的参数存储 61 } 62 validParamVec.push_back(invalidParam); 63 } 64 } 65 // 在整个测试夹具类执行后执行一次清理操作 TearDownTestCase()66 static void TearDownTestCase() 67 { 68 if (std::remove(currFile.c_str()) != 0) { 69 printf("Error deleting file!\n"); 70 } 71 } 72 73 static std::vector<std::string> invalidParamVec; 74 static std::vector<std::string> validParamVec; 75 static std::string invalidParams; 76 static std::string currDir; 77 static std::string currFile; 78 }; 79 std::string CommandParserTest::currDir = ""; 80 std::string CommandParserTest::currFile = ""; 81 std::vector<std::string> CommandParserTest::invalidParamVec = {}; 82 std::vector<std::string> CommandParserTest::validParamVec = {}; 83 std::string CommandParserTest::invalidParams = "-refresh region " 84 "-projectID 138968279 " 85 "-ts trace_70259_commandPipe " 86 "-j =dir= " 87 "-s componentpreviewinstance_1712054594321_1 " 88 "-cpm true " 89 "-device phone " 90 "-shape rect " 91 "-sd 480 " 92 "-ljPath =file= " 93 "-or 1080 2340 " 94 "-cr 1080 2340 " 95 "-fr 1080 2504 " 96 "-f =file= " 97 "-n entry " 98 "-av ACE_2_0 " 99 "-url pages/BigImg_1M " 100 "-pages main_pages " 101 "-arp =dir= " 102 "-pm Stage " 103 "-hsp =dir= " 104 "-l zh_CN " 105 "-cm light " 106 "-o portrait " 107 "-lws 40003 " 108 "-card true " 109 "-p 8888 " 110 "-abn EntryAbility " 111 "-abp ets/entryability/EntryAbility.abc " 112 "-d " 113 "-sm static " 114 "-staticCard true " 115 "-foldable true " 116 "-foldStatus half_fold " 117 "-hs 100000 " 118 "-hf true " 119 "-h"; 120 TEST_F(CommandParserTest,IsSetTest)121 TEST_F(CommandParserTest, IsSetTest) 122 { 123 CommandParser::GetInstance().argsMap.clear(); 124 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 125 EXPECT_TRUE(CommandParser::GetInstance().IsSet("arp")); 126 EXPECT_FALSE(CommandParser::GetInstance().IsSet("abc")); 127 } 128 TEST_F(CommandParserTest,IsCommandValidTest2)129 TEST_F(CommandParserTest, IsCommandValidTest2) 130 { 131 CommandParser::GetInstance().argsMap.clear(); 132 EXPECT_FALSE(CommandParser::GetInstance().ProcessCommand(invalidParamVec)); 133 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 134 } 135 TEST_F(CommandParserTest,IsCommandValidTest_VErr)136 TEST_F(CommandParserTest, IsCommandValidTest_VErr) 137 { 138 CommandParser::GetInstance().argsMap.clear(); 139 invalidParamVec.push_back("-v"); 140 EXPECT_FALSE(CommandParser::GetInstance().ProcessCommand(invalidParamVec)); 141 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 142 } 143 TEST_F(CommandParserTest,IsCommandValidTest_PErr)144 TEST_F(CommandParserTest, IsCommandValidTest_PErr) 145 { 146 CommandParser::GetInstance().argsMap.clear(); 147 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-p"); 148 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 149 *std::next(it) = "new_value"; 150 } 151 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 152 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 153 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 154 *std::next(it) = "655350"; 155 } 156 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 157 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 158 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 159 *std::next(it) = "8888"; 160 } 161 } 162 TEST_F(CommandParserTest,IsCommandValidTest_JErr)163 TEST_F(CommandParserTest, IsCommandValidTest_JErr) 164 { 165 CommandParser::GetInstance().argsMap.clear(); 166 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-j"); 167 if (it != validParamVec.end()) { 168 *it = "-jjjjj"; 169 } 170 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 171 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 172 if (it != validParamVec.end()) { 173 *it = "-j"; 174 } 175 } 176 TEST_F(CommandParserTest,IsCommandValidTest_NErr)177 TEST_F(CommandParserTest, IsCommandValidTest_NErr) 178 { 179 CommandParser::GetInstance().argsMap.clear(); 180 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-n"); 181 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 182 *std::next(it) = "~!@#$%^&"; 183 } 184 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 185 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 186 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 187 std::string str(257, 'a'); 188 *std::next(it) = str; 189 } 190 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 191 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 192 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 193 *std::next(it) = "entry"; 194 } 195 } 196 TEST_F(CommandParserTest,IsCommandValidTest_CrOrErr)197 TEST_F(CommandParserTest, IsCommandValidTest_CrOrErr) 198 { 199 CommandParser::GetInstance().argsMap.clear(); 200 // no -cr param 201 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cr"); 202 if (it != validParamVec.end()) { 203 *it = "~!@#$%^&"; 204 } 205 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 206 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 207 if (it != validParamVec.end()) { 208 *it = "-cr"; 209 } 210 // -cr value invalid 211 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 212 *std::next(it) = "aaaa"; 213 } 214 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 215 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 216 // params value invalid 217 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 218 *std::next(it) = "4000"; 219 } 220 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 221 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 222 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 223 *std::next(it) = "1080"; 224 } 225 } 226 TEST_F(CommandParserTest,IsCommandValidTest_HsErr)227 TEST_F(CommandParserTest, IsCommandValidTest_HsErr) 228 { 229 CommandParser::GetInstance().argsMap.clear(); 230 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hs"); 231 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 232 *std::next(it) = "~!@#$%^&"; 233 } 234 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 235 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 236 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 237 *std::next(it) = "524289"; 238 } 239 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 240 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 241 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 242 *std::next(it) = "100000"; 243 } 244 } 245 TEST_F(CommandParserTest,IsCommandValidTest_HfErr)246 TEST_F(CommandParserTest, IsCommandValidTest_HfErr) 247 { 248 CommandParser::GetInstance().argsMap.clear(); 249 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hf"); 250 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 251 *std::next(it) = "~!@#$%^&"; 252 } 253 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 254 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 255 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 256 *std::next(it) = "true"; 257 } 258 } 259 TEST_F(CommandParserTest,IsCommandValidTest_ShapeErr)260 TEST_F(CommandParserTest, IsCommandValidTest_ShapeErr) 261 { 262 CommandParser::GetInstance().argsMap.clear(); 263 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-shape"); 264 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 265 *std::next(it) = "~!@#$%^&"; 266 } 267 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 268 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 269 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 270 *std::next(it) = "rect"; 271 } 272 } 273 TEST_F(CommandParserTest,IsCommandValidTest_DeviceErr)274 TEST_F(CommandParserTest, IsCommandValidTest_DeviceErr) 275 { 276 CommandParser::GetInstance().argsMap.clear(); 277 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 278 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 279 *std::next(it) = "~!@#$%^&"; 280 } 281 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 282 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 283 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 284 *std::next(it) = "phone"; 285 } 286 } 287 TEST_F(CommandParserTest,IsCommandValidTest_UrlErr)288 TEST_F(CommandParserTest, IsCommandValidTest_UrlErr) 289 { 290 CommandParser::GetInstance().argsMap.clear(); 291 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-url"); 292 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 293 *std::next(it) = ""; 294 } 295 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 296 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 297 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 298 *std::next(it) = "pages/BigImg_1M"; 299 } 300 } 301 TEST_F(CommandParserTest,IsCommandValidTest_FErr)302 TEST_F(CommandParserTest, IsCommandValidTest_FErr) 303 { 304 CommandParser::GetInstance().argsMap.clear(); 305 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-f"); 306 if (it != validParamVec.end()) { 307 *it = "ffff"; 308 } 309 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 310 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 311 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 312 *it = "-f"; 313 *std::next(it) = "pages/BigImg_1M"; 314 } 315 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 316 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 317 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 318 *std::next(it) = currFile; 319 } 320 } 321 TEST_F(CommandParserTest,IsCommandValidTest_ArpErr)322 TEST_F(CommandParserTest, IsCommandValidTest_ArpErr) 323 { 324 CommandParser::GetInstance().argsMap.clear(); 325 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-arp"); 326 if (it != validParamVec.end()) { 327 *it = "aaarp"; 328 } 329 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 330 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 331 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 332 *it = "-arp"; 333 *std::next(it) = "pages/BigImg_1M"; 334 } 335 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 336 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 337 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 338 *std::next(it) = currDir; 339 } 340 } 341 TEST_F(CommandParserTest,IsCommandValidTest_PmErr)342 TEST_F(CommandParserTest, IsCommandValidTest_PmErr) 343 { 344 CommandParser::GetInstance().argsMap.clear(); 345 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-pm"); 346 if (it != validParamVec.end()) { 347 *it = "aaapm"; 348 } 349 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 350 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 351 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 352 *it = "-pm"; 353 *std::next(it) = "aaa"; 354 } 355 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 356 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 357 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 358 *std::next(it) = "Stage"; 359 } 360 } 361 TEST_F(CommandParserTest,IsCommandValidTest_PagesErr)362 TEST_F(CommandParserTest, IsCommandValidTest_PagesErr) 363 { 364 CommandParser::GetInstance().argsMap.clear(); 365 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-pages"); 366 if (it != validParamVec.end()) { 367 *it = "aaapages"; 368 } 369 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 370 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 371 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 372 *it = "-pages"; 373 *std::next(it) = "~!@#$%^"; 374 } 375 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 376 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 377 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 378 *std::next(it) = "main_pages"; 379 } 380 } 381 TEST_F(CommandParserTest,IsCommandValidTest_RefreshErr)382 TEST_F(CommandParserTest, IsCommandValidTest_RefreshErr) 383 { 384 CommandParser::GetInstance().argsMap.clear(); 385 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-refresh"); 386 if (it != validParamVec.end()) { 387 *it = "aaarefresh"; 388 } 389 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 390 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 391 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 392 *it = "-refresh"; 393 *std::next(it) = "~!@#$%^"; 394 } 395 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 396 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 397 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 398 *std::next(it) = "region"; 399 } 400 } 401 TEST_F(CommandParserTest,IsCommandValidTest_CardErr)402 TEST_F(CommandParserTest, IsCommandValidTest_CardErr) 403 { 404 CommandParser::GetInstance().argsMap.clear(); 405 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-card"); 406 if (it != validParamVec.end()) { 407 *it = "aaacard"; 408 } 409 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 410 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 411 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 412 *it = "-card"; 413 *std::next(it) = "~!@#$%^"; 414 } 415 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 416 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 417 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 418 *std::next(it) = "true"; 419 } 420 } 421 TEST_F(CommandParserTest,IsCommandValidTest_ProjectIdErr)422 TEST_F(CommandParserTest, IsCommandValidTest_ProjectIdErr) 423 { 424 CommandParser::GetInstance().argsMap.clear(); 425 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-projectID"); 426 if (it != validParamVec.end()) { 427 *it = "aaaprojectID"; 428 } 429 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 430 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 431 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 432 *it = "-projectID"; 433 *std::next(it) = "~!@#$%^"; 434 } 435 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 436 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 437 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 438 *std::next(it) = "138968279"; 439 } 440 } 441 TEST_F(CommandParserTest,IsCommandValidTest_CmErr)442 TEST_F(CommandParserTest, IsCommandValidTest_CmErr) 443 { 444 CommandParser::GetInstance().argsMap.clear(); 445 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cm"); 446 if (it != validParamVec.end()) { 447 *it = "aaacm"; 448 } 449 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 450 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 451 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 452 *it = "-cm"; 453 *std::next(it) = "~!@#$%^"; 454 } 455 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 456 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 457 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 458 *std::next(it) = "light"; 459 } 460 } 461 TEST_F(CommandParserTest,IsCommandValidTest_AvErr)462 TEST_F(CommandParserTest, IsCommandValidTest_AvErr) 463 { 464 CommandParser::GetInstance().argsMap.clear(); 465 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-av"); 466 if (it != validParamVec.end()) { 467 *it = "aaaav"; 468 } 469 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 470 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 471 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 472 *it = "-av"; 473 *std::next(it) = "~!@#$%^"; 474 } 475 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 476 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 477 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 478 *std::next(it) = "ACE_2_0"; 479 } 480 } 481 TEST_F(CommandParserTest,IsCommandValidTest_OErr)482 TEST_F(CommandParserTest, IsCommandValidTest_OErr) 483 { 484 CommandParser::GetInstance().argsMap.clear(); 485 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-o"); 486 if (it != validParamVec.end()) { 487 *it = "aaao"; 488 } 489 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 490 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 491 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 492 *it = "-o"; 493 *std::next(it) = "~!@#$%^"; 494 } 495 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 496 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 497 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 498 *std::next(it) = "portrait"; 499 } 500 } 501 TEST_F(CommandParserTest,IsCommandValidTest_LwsErr)502 TEST_F(CommandParserTest, IsCommandValidTest_LwsErr) 503 { 504 CommandParser::GetInstance().argsMap.clear(); 505 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-lws"); 506 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 507 *std::next(it) = "~!@#$%^"; 508 } 509 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 510 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 511 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 512 *std::next(it) = "65536"; 513 } 514 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 515 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 516 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 517 *std::next(it) = "40003"; 518 } 519 } 520 TEST_F(CommandParserTest,IsCommandValidTest_SmErr)521 TEST_F(CommandParserTest, IsCommandValidTest_SmErr) 522 { 523 CommandParser::GetInstance().argsMap.clear(); 524 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-sm"); 525 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 526 *std::next(it) = "~!@#$%^"; 527 } 528 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 529 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 530 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 531 *std::next(it) = "static"; 532 } 533 } 534 TEST_F(CommandParserTest,IsCommandValidTest_HspErr)535 TEST_F(CommandParserTest, IsCommandValidTest_HspErr) 536 { 537 CommandParser::GetInstance().argsMap.clear(); 538 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hsp"); 539 if (it != validParamVec.end()) { 540 *it = "aaahsp"; 541 } 542 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 543 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 544 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 545 *it = "-hsp"; 546 *std::next(it) = "~!@#$%^"; 547 } 548 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 549 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 550 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 551 *std::next(it) = currDir; 552 } 553 } 554 TEST_F(CommandParserTest,IsCommandValidTest_CpmErr)555 TEST_F(CommandParserTest, IsCommandValidTest_CpmErr) 556 { 557 CommandParser::GetInstance().argsMap.clear(); 558 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cpm"); 559 if (it != validParamVec.end()) { 560 *it = "aaacpm"; 561 } 562 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 563 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 564 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 565 *it = "-cpm"; 566 *std::next(it) = "~!@#$%^"; 567 } 568 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 569 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 570 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 571 *std::next(it) = "true"; 572 } 573 } 574 TEST_F(CommandParserTest,IsCommandValidTest_AbpErr)575 TEST_F(CommandParserTest, IsCommandValidTest_AbpErr) 576 { 577 CommandParser::GetInstance().argsMap.clear(); 578 // lite device 579 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 580 if (it != validParamVec.end()) { 581 *std::next(it) = "liteWearable"; 582 } 583 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 584 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 585 if (it != validParamVec.end()) { 586 *std::next(it) = "phone"; 587 } 588 // no -d 589 it = std::find(validParamVec.begin(), validParamVec.end(), "-d"); 590 if (it != validParamVec.end()) { 591 *it = "aaad"; 592 } 593 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 594 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 595 if (it != validParamVec.end()) { 596 *it = "-d"; 597 } 598 // no -abp 599 CommandParser::GetInstance().argsMap.clear(); 600 it = std::find(validParamVec.begin(), validParamVec.end(), "-abp"); 601 if (it != validParamVec.end()) { 602 *it = "aaaabp"; 603 } 604 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 605 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 606 // -abp value empty 607 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 608 *it = "-abp"; 609 *std::next(it) = ""; 610 } 611 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 612 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 613 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 614 *std::next(it) = "ets/entryability/EntryAbility.abc"; 615 } 616 } 617 TEST_F(CommandParserTest,IsCommandValidTest_AbnErr)618 TEST_F(CommandParserTest, IsCommandValidTest_AbnErr) 619 { 620 CommandParser::GetInstance().argsMap.clear(); 621 // no -d 622 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-d"); 623 if (it != validParamVec.end()) { 624 *it = "aaad"; 625 } 626 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 627 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 628 if (it != validParamVec.end()) { 629 *it = "-d"; 630 } 631 // lite device 632 it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 633 if (it != validParamVec.end()) { 634 *std::next(it) = "liteWearable"; 635 } 636 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 637 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 638 if (it != validParamVec.end()) { 639 *std::next(it) = "phone"; 640 } 641 // no -abn 642 CommandParser::GetInstance().argsMap.clear(); 643 it = std::find(validParamVec.begin(), validParamVec.end(), "-abn"); 644 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 645 *it = "aaaabn"; 646 } 647 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 648 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 649 // -abn value empty 650 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 651 *it = "-abn"; 652 *std::next(it) = ""; 653 } 654 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 655 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 656 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 657 *std::next(it) = "EntryAbility"; 658 } 659 } 660 TEST_F(CommandParserTest,IsCommandValidTest_StaticCardErr)661 TEST_F(CommandParserTest, IsCommandValidTest_StaticCardErr) 662 { 663 CommandParser::GetInstance().argsMap.clear(); 664 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-staticCard"); 665 if (it != validParamVec.end()) { 666 *it = "aaastaticCard"; 667 } 668 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 669 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 670 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 671 *it = "-staticCard"; 672 *std::next(it) = "~!@#$%^"; 673 } 674 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 675 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 676 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 677 *std::next(it) = "true"; 678 } 679 } 680 TEST_F(CommandParserTest,IsCommandValidTest_FoldableErr)681 TEST_F(CommandParserTest, IsCommandValidTest_FoldableErr) 682 { 683 CommandParser::GetInstance().argsMap.clear(); 684 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 685 if (it != validParamVec.end()) { 686 *it = "aaafoldable"; 687 } 688 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 689 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 690 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 691 *it = "-foldable"; 692 *std::next(it) = "~!@#$%^"; 693 } 694 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 695 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 696 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 697 *std::next(it) = "true"; 698 } 699 } 700 TEST_F(CommandParserTest,IsCommandValidTest_FoldStatusErr)701 TEST_F(CommandParserTest, IsCommandValidTest_FoldStatusErr) 702 { 703 CommandParser::GetInstance().argsMap.clear(); 704 // no -foldable 705 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 706 if (it != validParamVec.end()) { 707 *it = "aaafoldable"; 708 } 709 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 710 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 711 // param -foldable value is false 712 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 713 *it = "-foldable"; 714 *std::next(it) = "false"; 715 } 716 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 717 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 718 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 719 *std::next(it) = "true"; 720 } 721 // param foldStatus value invalid 722 CommandParser::GetInstance().argsMap.clear(); 723 it = std::find(validParamVec.begin(), validParamVec.end(), "-foldStatus"); 724 if (it != validParamVec.end()) { 725 *it = "aaafoldStatus"; 726 } 727 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 728 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 729 if (it != validParamVec.end()) { 730 *it = "-foldStatus"; 731 } 732 } 733 TEST_F(CommandParserTest,IsCommandValidTest_FrErr)734 TEST_F(CommandParserTest, IsCommandValidTest_FrErr) 735 { 736 CommandParser::GetInstance().argsMap.clear(); 737 // no -foldable 738 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 739 if (it != validParamVec.end()) { 740 *it = "aaafoldable"; 741 } 742 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 743 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 744 // param -foldable value is false 745 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 746 *it = "-foldable"; 747 *std::next(it) = "false"; 748 } 749 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 750 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 751 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 752 *std::next(it) = "true"; 753 } 754 // no param -fr 755 CommandParser::GetInstance().argsMap.clear(); 756 it = std::find(validParamVec.begin(), validParamVec.end(), "-fr"); 757 if (it != validParamVec.end()) { 758 *it = "aaafr"; 759 } 760 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 761 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 762 if (it != validParamVec.end()) { 763 *it = "-fr"; 764 } 765 // param -fr value is invalid 766 it = std::find(validParamVec.begin(), validParamVec.end(), "-fr"); 767 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 768 *std::next(it) = "aaaa"; 769 } 770 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 771 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 772 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 773 *std::next(it) = "1080"; 774 } 775 } 776 TEST_F(CommandParserTest,IsCommandValidTest_LjPathErr)777 TEST_F(CommandParserTest, IsCommandValidTest_LjPathErr) 778 { 779 CommandParser::GetInstance().argsMap.clear(); 780 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-ljPath"); 781 if (it != validParamVec.end()) { 782 *it = "aaaljPath"; 783 } 784 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 785 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 786 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 787 *it = "-ljPath"; 788 *std::next(it) = "~!@#$%^"; 789 } 790 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 791 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 792 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 793 *std::next(it) = currFile; 794 } 795 } 796 TEST_F(CommandParserTest,IsCommandValidTest_LErr)797 TEST_F(CommandParserTest, IsCommandValidTest_LErr) 798 { 799 CommandParser::GetInstance().argsMap.clear(); 800 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-l"); 801 if (it != validParamVec.end()) { 802 *it = "aaal"; 803 } 804 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 805 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 806 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 807 *it = "-l"; 808 *std::next(it) = "~!@#$%^"; 809 } 810 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 811 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 812 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 813 *std::next(it) = "zh_CN"; 814 } 815 } 816 TEST_F(CommandParserTest,IsCommandValidTest_TsErr)817 TEST_F(CommandParserTest, IsCommandValidTest_TsErr) 818 { 819 CommandParser::GetInstance().argsMap.clear(); 820 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-ts"); 821 if (it != validParamVec.end()) { 822 *it = "aaats"; 823 } 824 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 825 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 826 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 827 *it = "-ts"; 828 *std::next(it) = "~!@#$%^"; 829 } 830 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 831 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 832 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 833 *std::next(it) = "trace_70259_commandPipe"; 834 } 835 } 836 TEST_F(CommandParserTest,IsCommandValidTest_SErr)837 TEST_F(CommandParserTest, IsCommandValidTest_SErr) 838 { 839 CommandParser::GetInstance().argsMap.clear(); 840 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-s"); 841 if (it != validParamVec.end()) { 842 *it = "aaas"; 843 } 844 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 845 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 846 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 847 *it = "-s"; 848 *std::next(it) = "~!@#$%^"; 849 } 850 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 851 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 852 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 853 *std::next(it) = "componentpreviewinstance_1712054594321_1"; 854 } 855 } 856 TEST_F(CommandParserTest,IsCommandValidTest_SdErr)857 TEST_F(CommandParserTest, IsCommandValidTest_SdErr) 858 { 859 CommandParser::GetInstance().argsMap.clear(); 860 auto it = std::find(validParamVec.begin(), validParamVec.end(), "-sd"); 861 if (it != validParamVec.end()) { 862 *it = "aaasd"; 863 } 864 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 865 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 866 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 867 *it = "-sd"; 868 *std::next(it) = "~!@#$%^"; 869 } 870 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 871 EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 872 if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 873 *std::next(it) = "480"; 874 } 875 } 876 877 TEST_F(CommandParserTest,IsCommandValidTest1)878 TEST_F(CommandParserTest, IsCommandValidTest1) 879 { 880 CommandParser::GetInstance().argsMap.clear(); 881 EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 882 EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 883 } 884 TEST_F(CommandParserTest,ValueTest)885 TEST_F(CommandParserTest, ValueTest) 886 { 887 string str1 = "abcd"; 888 string str2 = "rect"; 889 string str3 = CommandParser::GetInstance().Value("shape"); 890 EXPECT_EQ(str2, str3); 891 EXPECT_NE(str1, str3); 892 } 893 TEST_F(CommandParserTest,ValuesTest)894 TEST_F(CommandParserTest, ValuesTest) 895 { 896 std::vector<std::string> vec1 = {"1111", "2222"}; 897 std::vector<std::string> vec2 = {"1080", "2340"}; 898 std::vector<std::string> vec3 = CommandParser::GetInstance().Values("or"); 899 for (int i = 0; i < vec3.size(); i++) { 900 EXPECT_NE(vec1[i], vec3[i]); 901 } 902 for (int i = 0; i < vec3.size(); i++) { 903 EXPECT_EQ(vec2[i], vec3[i]); 904 } 905 } 906 TEST_F(CommandParserTest,RegisterTest)907 TEST_F(CommandParserTest, RegisterTest) 908 { 909 std::string key = "-abcd"; 910 uint32_t count = 1; 911 CommandParser::GetInstance().Register(key, count, "abcd"); 912 uint32_t num = CommandParser::GetInstance().regsArgsCountMap[key]; 913 string helpStr = CommandParser::GetInstance().regsHelpMap[key]; 914 EXPECT_EQ(num, count); 915 EXPECT_EQ(helpStr, "abcd"); 916 } 917 TEST_F(CommandParserTest,IsResolutionValidTest)918 TEST_F(CommandParserTest, IsResolutionValidTest) 919 { 920 int32_t val1 = 0; 921 int32_t val2 = 1; 922 int32_t val3 = 1024; 923 int32_t val4 = 3840; 924 int32_t val5 = 3841; 925 EXPECT_FALSE(CommandParser::GetInstance().IsResolutionValid(val1)); 926 EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val2)); 927 EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val3)); 928 EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val4)); 929 EXPECT_FALSE(CommandParser::GetInstance().IsResolutionValid(val5)); 930 } 931 TEST_F(CommandParserTest,GetOrignalResolutionWidthTest)932 TEST_F(CommandParserTest, GetOrignalResolutionWidthTest) 933 { 934 int32_t val1 = 1080; 935 EXPECT_EQ(CommandParser::GetInstance().GetOrignalResolutionWidth(), val1); 936 } 937 TEST_F(CommandParserTest,GetOrignalResolutionHeightTest)938 TEST_F(CommandParserTest, GetOrignalResolutionHeightTest) 939 { 940 int32_t val1 = 2340; 941 EXPECT_EQ(CommandParser::GetInstance().GetOrignalResolutionHeight(), val1); 942 } 943 TEST_F(CommandParserTest,GetCompressionResolutionWidthTest)944 TEST_F(CommandParserTest, GetCompressionResolutionWidthTest) 945 { 946 int32_t val1 = 1080; 947 EXPECT_EQ(CommandParser::GetInstance().GetCompressionResolutionWidth(), val1); 948 } 949 TEST_F(CommandParserTest,GetCompressionResolutionHeightTest)950 TEST_F(CommandParserTest, GetCompressionResolutionHeightTest) 951 { 952 int32_t val1 = 2340; 953 EXPECT_EQ(CommandParser::GetInstance().GetCompressionResolutionHeight(), val1); 954 } 955 TEST_F(CommandParserTest,GetJsHeapSizeTest)956 TEST_F(CommandParserTest, GetJsHeapSizeTest) 957 { 958 int32_t val1 = 100000; 959 EXPECT_EQ(CommandParser::GetInstance().GetJsHeapSize(), val1); 960 } 961 TEST_F(CommandParserTest,GetAppNameTest)962 TEST_F(CommandParserTest, GetAppNameTest) 963 { 964 std::string val1 = "entry"; 965 EXPECT_EQ(CommandParser::GetInstance().GetAppName(), val1); 966 } 967 TEST_F(CommandParserTest,IsSendJSHeapTest)968 TEST_F(CommandParserTest, IsSendJSHeapTest) 969 { 970 EXPECT_TRUE(CommandParser::GetInstance().IsSendJSHeap()); 971 } 972 TEST_F(CommandParserTest,GetDeviceTypeTest)973 TEST_F(CommandParserTest, GetDeviceTypeTest) 974 { 975 EXPECT_EQ(CommandParser::GetInstance().GetDeviceType(), "phone"); 976 } 977 TEST_F(CommandParserTest,IsRegionRefreshTest)978 TEST_F(CommandParserTest, IsRegionRefreshTest) 979 { 980 EXPECT_TRUE(CommandParser::GetInstance().IsRegionRefresh()); 981 } 982 TEST_F(CommandParserTest,IsCardDisplayTest)983 TEST_F(CommandParserTest, IsCardDisplayTest) 984 { 985 EXPECT_TRUE(CommandParser::GetInstance().IsCardDisplay()); 986 } 987 TEST_F(CommandParserTest,GetConfigPathTest)988 TEST_F(CommandParserTest, GetConfigPathTest) 989 { 990 EXPECT_EQ(CommandParser::GetInstance().GetConfigPath(), currFile); 991 } 992 TEST_F(CommandParserTest,GetProjectIDTest)993 TEST_F(CommandParserTest, GetProjectIDTest) 994 { 995 std::string str = "138968279"; 996 EXPECT_EQ(CommandParser::GetInstance().GetProjectID(), str); 997 } 998 TEST_F(CommandParserTest,GetScreenModeTest)999 TEST_F(CommandParserTest, GetScreenModeTest) 1000 { 1001 std::string str = "static"; 1002 EXPECT_EQ(CommandParser::GetInstance().GetScreenMode(), CommandParser::ScreenMode::STATIC); 1003 } 1004 TEST_F(CommandParserTest,GetConfigChangesTest)1005 TEST_F(CommandParserTest, GetConfigChangesTest) 1006 { 1007 EXPECT_EQ(CommandParser::GetInstance().GetConfigChanges(), ""); 1008 } 1009 TEST_F(CommandParserTest,GetAppResourcePathTest)1010 TEST_F(CommandParserTest, GetAppResourcePathTest) 1011 { 1012 EXPECT_EQ(CommandParser::GetInstance().GetAppResourcePath(), currDir); 1013 } 1014 TEST_F(CommandParserTest,GetScreenShapeTest)1015 TEST_F(CommandParserTest, GetScreenShapeTest) 1016 { 1017 std::string str = "rect"; 1018 EXPECT_EQ(CommandParser::GetInstance().GetScreenShape(), str); 1019 } 1020 TEST_F(CommandParserTest,GetProjectModelTest)1021 TEST_F(CommandParserTest, GetProjectModelTest) 1022 { 1023 std::string str = "Stage"; 1024 EXPECT_EQ(CommandParser::GetInstance().GetProjectModel(), str); 1025 } 1026 TEST_F(CommandParserTest,GetProjectModelEnumValueTest)1027 TEST_F(CommandParserTest, GetProjectModelEnumValueTest) 1028 { 1029 int value = 1; 1030 EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumValue(), value); 1031 } 1032 TEST_F(CommandParserTest,GetProjectModelEnumNameTest)1033 TEST_F(CommandParserTest, GetProjectModelEnumNameTest) 1034 { 1035 int index = 0; 1036 EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 1037 index = 1; 1038 EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "Stage"); 1039 index = -1; 1040 EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 1041 index = 2; 1042 EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 1043 } 1044 TEST_F(CommandParserTest,GetPagesTest)1045 TEST_F(CommandParserTest, GetPagesTest) 1046 { 1047 std::string str = "main_pages"; 1048 EXPECT_EQ(CommandParser::GetInstance().GetPages(), str); 1049 } 1050 TEST_F(CommandParserTest,GetContainerSdkPathTest)1051 TEST_F(CommandParserTest, GetContainerSdkPathTest) 1052 { 1053 EXPECT_EQ(CommandParser::GetInstance().GetContainerSdkPath(), currDir); 1054 } 1055 TEST_F(CommandParserTest,CheckParamInvalidityTest)1056 TEST_F(CommandParserTest, CheckParamInvalidityTest) 1057 { 1058 std::string param = "0"; 1059 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1060 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1061 param = "110"; 1062 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1063 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1064 param = "01"; 1065 EXPECT_TRUE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1066 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1067 param = "ab01"; 1068 EXPECT_TRUE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1069 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1070 param = "0.34"; 1071 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1072 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1073 param = "10.34"; 1074 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 1075 EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 1076 } 1077 TEST_F(CommandParserTest,IsComponentModeTest)1078 TEST_F(CommandParserTest, IsComponentModeTest) 1079 { 1080 EXPECT_TRUE(CommandParser::GetInstance().IsComponentMode()); 1081 } 1082 TEST_F(CommandParserTest,GetAbilityPathTest)1083 TEST_F(CommandParserTest, GetAbilityPathTest) 1084 { 1085 std::string str = "ets/entryability/EntryAbility.abc"; 1086 EXPECT_EQ(CommandParser::GetInstance().GetAbilityPath(), str); 1087 } 1088 TEST_F(CommandParserTest,GetAbilityNameTest)1089 TEST_F(CommandParserTest, GetAbilityNameTest) 1090 { 1091 std::string str = "EntryAbility"; 1092 EXPECT_EQ(CommandParser::GetInstance().GetAbilityName(), str); 1093 } 1094 TEST_F(CommandParserTest,IsStaticCardTest)1095 TEST_F(CommandParserTest, IsStaticCardTest) 1096 { 1097 EXPECT_TRUE(CommandParser::GetInstance().IsStaticCard()); 1098 } 1099 TEST_F(CommandParserTest,IsMainArgLengthInvalidTest)1100 TEST_F(CommandParserTest, IsMainArgLengthInvalidTest) 1101 { 1102 std::string validStr = "1111111"; 1103 EXPECT_FALSE(CommandParser::GetInstance().IsMainArgLengthInvalid(validStr.c_str())); 1104 int desiredLength = 1184; 1105 char initialChar = '1'; 1106 std::string invalidStr(desiredLength, initialChar); 1107 EXPECT_TRUE(CommandParser::GetInstance().IsMainArgLengthInvalid(invalidStr.c_str())); 1108 } 1109 TEST_F(CommandParserTest,IsFoldableTest)1110 TEST_F(CommandParserTest, IsFoldableTest) 1111 { 1112 EXPECT_TRUE(CommandParser::GetInstance().IsFoldable()); 1113 } 1114 TEST_F(CommandParserTest,GetFoldStatusTest)1115 TEST_F(CommandParserTest, GetFoldStatusTest) 1116 { 1117 std::string str = "half_fold"; 1118 EXPECT_EQ(CommandParser::GetInstance().GetFoldStatus(), str); 1119 } 1120 TEST_F(CommandParserTest,GetFoldResolutionWidthTest)1121 TEST_F(CommandParserTest, GetFoldResolutionWidthTest) 1122 { 1123 int32_t value = 1080; 1124 EXPECT_EQ(CommandParser::GetInstance().GetFoldResolutionWidth(), value); 1125 } 1126 TEST_F(CommandParserTest,GetFoldResolutionHeightTest)1127 TEST_F(CommandParserTest, GetFoldResolutionHeightTest) 1128 { 1129 int32_t value = 2504; 1130 EXPECT_EQ(CommandParser::GetInstance().GetFoldResolutionHeight(), value); 1131 } 1132 TEST_F(CommandParserTest,GetLoaderJsonPathTest)1133 TEST_F(CommandParserTest, GetLoaderJsonPathTest) 1134 { 1135 EXPECT_EQ(CommandParser::GetInstance().GetLoaderJsonPath(), currFile); 1136 } 1137 TEST_F(CommandParserTest,GetCommandInfoTest)1138 TEST_F(CommandParserTest, GetCommandInfoTest) 1139 { 1140 CommandInfo info; 1141 CommandParser::GetInstance().GetCommandInfo(info); 1142 EXPECT_EQ(info.deviceType, "phone"); 1143 EXPECT_TRUE(info.isComponentMode); 1144 } 1145 TEST_F(CommandParserTest,GetFoldInfoTest)1146 TEST_F(CommandParserTest, GetFoldInfoTest) 1147 { 1148 FoldInfo info; 1149 CommandParser::GetInstance().GetFoldInfo(info); 1150 EXPECT_TRUE(info.foldable); 1151 EXPECT_EQ(info.foldStatus, "half_fold"); 1152 } 1153 TEST_F(CommandParserTest,ParseArgsTest)1154 TEST_F(CommandParserTest, ParseArgsTest) 1155 { 1156 int argc = 5; 1157 char* argv[5]; // 5 is array length 1158 // param value length is out of range 1159 int desiredLength = 1184; 1160 char initialChar = '1'; 1161 std::string invalidStr(desiredLength, initialChar); 1162 argv[1] = "-p"; 1163 argv[2] = const_cast<char*>(invalidStr.c_str()); 1164 int ret = CommandParser::GetInstance().ParseArgs(argc, argv); 1165 EXPECT_EQ(ret, 11); // 11 is expect return value 1166 // param value invalid 1167 argv[2] = "999999999"; 1168 ret = CommandParser::GetInstance().ParseArgs(argc, argv); 1169 EXPECT_EQ(ret, 11); // 11 is expect return value 1170 argv[2] = "9999"; 1171 ret = CommandParser::GetInstance().ParseArgs(argc, argv); 1172 EXPECT_EQ(ret, -1); // -1 is expect return valu 1173 // invalid param 1174 argv[3] = "-v"; 1175 ret = CommandParser::GetInstance().ParseArgs(argc, argv); 1176 EXPECT_EQ(ret, 0); // 0 is expect return value 1177 } 1178 }