17c804472Sopenharmony_ci/* 27c804472Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 37c804472Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47c804472Sopenharmony_ci * you may not use this file except in compliance with the License. 57c804472Sopenharmony_ci * You may obtain a copy of the License at 67c804472Sopenharmony_ci * 77c804472Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87c804472Sopenharmony_ci * 97c804472Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107c804472Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117c804472Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127c804472Sopenharmony_ci * See the License for the specific language governing permissions and 137c804472Sopenharmony_ci * limitations under the License. 147c804472Sopenharmony_ci */ 157c804472Sopenharmony_ci#include <string> 167c804472Sopenharmony_ci#include <sstream> 177c804472Sopenharmony_ci#include <vector> 187c804472Sopenharmony_ci#include <fstream> 197c804472Sopenharmony_ci#include <cstdio> 207c804472Sopenharmony_ci#include <unistd.h> 217c804472Sopenharmony_ci#include "gtest/gtest.h" 227c804472Sopenharmony_ci#define private public 237c804472Sopenharmony_ci#include "CommandParser.h" 247c804472Sopenharmony_ci 257c804472Sopenharmony_cinamespace { 267c804472Sopenharmony_ci class CommandParserTest : public ::testing::Test { 277c804472Sopenharmony_ci public: 287c804472Sopenharmony_ci CommandParserTest() {} 297c804472Sopenharmony_ci ~CommandParserTest() {} 307c804472Sopenharmony_ci protected: 317c804472Sopenharmony_ci // 在整个测试夹具类执行前执行一次初始化操作 327c804472Sopenharmony_ci static void SetUpTestCase() 337c804472Sopenharmony_ci { 347c804472Sopenharmony_ci std::stringstream ss1(invalidParams); 357c804472Sopenharmony_ci std::string invalidParam; 367c804472Sopenharmony_ci // 使用空格分割字符串,并存入vector 377c804472Sopenharmony_ci char buffer[FILENAME_MAX]; 387c804472Sopenharmony_ci if (getcwd(buffer, FILENAME_MAX) != nullptr) { 397c804472Sopenharmony_ci currDir = std::string(buffer); 407c804472Sopenharmony_ci currFile = currDir + "/mytestfilename"; 417c804472Sopenharmony_ci // 创建文件流对象并打开文件 427c804472Sopenharmony_ci std::ofstream file(currFile); 437c804472Sopenharmony_ci // 检查文件是否成功打开 447c804472Sopenharmony_ci if (file.is_open()) { 457c804472Sopenharmony_ci file.close(); 467c804472Sopenharmony_ci } else { 477c804472Sopenharmony_ci printf("Error creating file!\n"); 487c804472Sopenharmony_ci } 497c804472Sopenharmony_ci } else { 507c804472Sopenharmony_ci printf("error: getcwd failed\n"); 517c804472Sopenharmony_ci } 527c804472Sopenharmony_ci while (std::getline(ss1, invalidParam, ' ')) { 537c804472Sopenharmony_ci invalidParamVec.push_back(invalidParam); 547c804472Sopenharmony_ci if (invalidParam == "=dir=") { 557c804472Sopenharmony_ci invalidParam = currDir; 567c804472Sopenharmony_ci } else if (invalidParam == "=file=") { 577c804472Sopenharmony_ci invalidParam = currFile; 587c804472Sopenharmony_ci } else if (invalidParam == "-h") { 597c804472Sopenharmony_ci continue; // 不存在的参数存储 607c804472Sopenharmony_ci } 617c804472Sopenharmony_ci validParamVec.push_back(invalidParam); 627c804472Sopenharmony_ci } 637c804472Sopenharmony_ci } 647c804472Sopenharmony_ci // 在整个测试夹具类执行后执行一次清理操作 657c804472Sopenharmony_ci static void TearDownTestCase() 667c804472Sopenharmony_ci { 677c804472Sopenharmony_ci if (std::remove(currFile.c_str()) != 0) { 687c804472Sopenharmony_ci printf("Error deleting file!\n"); 697c804472Sopenharmony_ci } 707c804472Sopenharmony_ci } 717c804472Sopenharmony_ci 727c804472Sopenharmony_ci static std::vector<std::string> invalidParamVec; 737c804472Sopenharmony_ci static std::vector<std::string> validParamVec; 747c804472Sopenharmony_ci static std::string invalidParams; 757c804472Sopenharmony_ci static std::string currDir; 767c804472Sopenharmony_ci static std::string currFile; 777c804472Sopenharmony_ci }; 787c804472Sopenharmony_ci std::string CommandParserTest::currDir = ""; 797c804472Sopenharmony_ci std::string CommandParserTest::currFile = ""; 807c804472Sopenharmony_ci std::vector<std::string> CommandParserTest::invalidParamVec = {}; 817c804472Sopenharmony_ci std::vector<std::string> CommandParserTest::validParamVec = {}; 827c804472Sopenharmony_ci std::string CommandParserTest::invalidParams = "-refresh region " 837c804472Sopenharmony_ci "-projectID 138968279 " 847c804472Sopenharmony_ci "-ts trace_70259_commandPipe " 857c804472Sopenharmony_ci "-j =dir= " 867c804472Sopenharmony_ci "-s componentpreviewinstance_1712054594321_1 " 877c804472Sopenharmony_ci "-cpm true " 887c804472Sopenharmony_ci "-device phone " 897c804472Sopenharmony_ci "-shape rect " 907c804472Sopenharmony_ci "-sd 480 " 917c804472Sopenharmony_ci "-ljPath =file= " 927c804472Sopenharmony_ci "-or 1080 2340 " 937c804472Sopenharmony_ci "-cr 1080 2340 " 947c804472Sopenharmony_ci "-fr 1080 2504 " 957c804472Sopenharmony_ci "-f =file= " 967c804472Sopenharmony_ci "-n entry " 977c804472Sopenharmony_ci "-av ACE_2_0 " 987c804472Sopenharmony_ci "-url pages/BigImg_1M " 997c804472Sopenharmony_ci "-pages main_pages " 1007c804472Sopenharmony_ci "-arp =dir= " 1017c804472Sopenharmony_ci "-pm Stage " 1027c804472Sopenharmony_ci "-hsp =dir= " 1037c804472Sopenharmony_ci "-l zh_CN " 1047c804472Sopenharmony_ci "-cm light " 1057c804472Sopenharmony_ci "-o portrait " 1067c804472Sopenharmony_ci "-lws 40003 " 1077c804472Sopenharmony_ci "-card true " 1087c804472Sopenharmony_ci "-p 8888 " 1097c804472Sopenharmony_ci "-abn EntryAbility " 1107c804472Sopenharmony_ci "-abp ets/entryability/EntryAbility.abc " 1117c804472Sopenharmony_ci "-d " 1127c804472Sopenharmony_ci "-sm static " 1137c804472Sopenharmony_ci "-staticCard true " 1147c804472Sopenharmony_ci "-foldable true " 1157c804472Sopenharmony_ci "-foldStatus half_fold " 1167c804472Sopenharmony_ci "-hs 100000 " 1177c804472Sopenharmony_ci "-hf true " 1187c804472Sopenharmony_ci "-h"; 1197c804472Sopenharmony_ci 1207c804472Sopenharmony_ci TEST_F(CommandParserTest, IsSetTest) 1217c804472Sopenharmony_ci { 1227c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1237c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1247c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsSet("arp")); 1257c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsSet("abc")); 1267c804472Sopenharmony_ci } 1277c804472Sopenharmony_ci 1287c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest2) 1297c804472Sopenharmony_ci { 1307c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1317c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().ProcessCommand(invalidParamVec)); 1327c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1337c804472Sopenharmony_ci } 1347c804472Sopenharmony_ci 1357c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_VErr) 1367c804472Sopenharmony_ci { 1377c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1387c804472Sopenharmony_ci invalidParamVec.push_back("-v"); 1397c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().ProcessCommand(invalidParamVec)); 1407c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1417c804472Sopenharmony_ci } 1427c804472Sopenharmony_ci 1437c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_PErr) 1447c804472Sopenharmony_ci { 1457c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1467c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-p"); 1477c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1487c804472Sopenharmony_ci *std::next(it) = "new_value"; 1497c804472Sopenharmony_ci } 1507c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1517c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1527c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1537c804472Sopenharmony_ci *std::next(it) = "655350"; 1547c804472Sopenharmony_ci } 1557c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1567c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1577c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1587c804472Sopenharmony_ci *std::next(it) = "8888"; 1597c804472Sopenharmony_ci } 1607c804472Sopenharmony_ci } 1617c804472Sopenharmony_ci 1627c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_JErr) 1637c804472Sopenharmony_ci { 1647c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1657c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-j"); 1667c804472Sopenharmony_ci if (it != validParamVec.end()) { 1677c804472Sopenharmony_ci *it = "-jjjjj"; 1687c804472Sopenharmony_ci } 1697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1707c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1717c804472Sopenharmony_ci if (it != validParamVec.end()) { 1727c804472Sopenharmony_ci *it = "-j"; 1737c804472Sopenharmony_ci } 1747c804472Sopenharmony_ci } 1757c804472Sopenharmony_ci 1767c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_NErr) 1777c804472Sopenharmony_ci { 1787c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1797c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-n"); 1807c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1817c804472Sopenharmony_ci *std::next(it) = "~!@#$%^&"; 1827c804472Sopenharmony_ci } 1837c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1847c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1857c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1867c804472Sopenharmony_ci std::string str(257, 'a'); 1877c804472Sopenharmony_ci *std::next(it) = str; 1887c804472Sopenharmony_ci } 1897c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 1907c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 1917c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 1927c804472Sopenharmony_ci *std::next(it) = "entry"; 1937c804472Sopenharmony_ci } 1947c804472Sopenharmony_ci } 1957c804472Sopenharmony_ci 1967c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_CrOrErr) 1977c804472Sopenharmony_ci { 1987c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 1997c804472Sopenharmony_ci // no -cr param 2007c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cr"); 2017c804472Sopenharmony_ci if (it != validParamVec.end()) { 2027c804472Sopenharmony_ci *it = "~!@#$%^&"; 2037c804472Sopenharmony_ci } 2047c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2057c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2067c804472Sopenharmony_ci if (it != validParamVec.end()) { 2077c804472Sopenharmony_ci *it = "-cr"; 2087c804472Sopenharmony_ci } 2097c804472Sopenharmony_ci // -cr value invalid 2107c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2117c804472Sopenharmony_ci *std::next(it) = "aaaa"; 2127c804472Sopenharmony_ci } 2137c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2147c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2157c804472Sopenharmony_ci // params value invalid 2167c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2177c804472Sopenharmony_ci *std::next(it) = "4000"; 2187c804472Sopenharmony_ci } 2197c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2207c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2217c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2227c804472Sopenharmony_ci *std::next(it) = "1080"; 2237c804472Sopenharmony_ci } 2247c804472Sopenharmony_ci } 2257c804472Sopenharmony_ci 2267c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_HsErr) 2277c804472Sopenharmony_ci { 2287c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 2297c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hs"); 2307c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2317c804472Sopenharmony_ci *std::next(it) = "~!@#$%^&"; 2327c804472Sopenharmony_ci } 2337c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2347c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2357c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2367c804472Sopenharmony_ci *std::next(it) = "524289"; 2377c804472Sopenharmony_ci } 2387c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2397c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2407c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2417c804472Sopenharmony_ci *std::next(it) = "100000"; 2427c804472Sopenharmony_ci } 2437c804472Sopenharmony_ci } 2447c804472Sopenharmony_ci 2457c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_HfErr) 2467c804472Sopenharmony_ci { 2477c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 2487c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hf"); 2497c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2507c804472Sopenharmony_ci *std::next(it) = "~!@#$%^&"; 2517c804472Sopenharmony_ci } 2527c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2537c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2547c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2557c804472Sopenharmony_ci *std::next(it) = "true"; 2567c804472Sopenharmony_ci } 2577c804472Sopenharmony_ci } 2587c804472Sopenharmony_ci 2597c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_ShapeErr) 2607c804472Sopenharmony_ci { 2617c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 2627c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-shape"); 2637c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2647c804472Sopenharmony_ci *std::next(it) = "~!@#$%^&"; 2657c804472Sopenharmony_ci } 2667c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2677c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2687c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2697c804472Sopenharmony_ci *std::next(it) = "rect"; 2707c804472Sopenharmony_ci } 2717c804472Sopenharmony_ci } 2727c804472Sopenharmony_ci 2737c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_DeviceErr) 2747c804472Sopenharmony_ci { 2757c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 2767c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 2777c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2787c804472Sopenharmony_ci *std::next(it) = "~!@#$%^&"; 2797c804472Sopenharmony_ci } 2807c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2817c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2827c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2837c804472Sopenharmony_ci *std::next(it) = "phone"; 2847c804472Sopenharmony_ci } 2857c804472Sopenharmony_ci } 2867c804472Sopenharmony_ci 2877c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_UrlErr) 2887c804472Sopenharmony_ci { 2897c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 2907c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-url"); 2917c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2927c804472Sopenharmony_ci *std::next(it) = ""; 2937c804472Sopenharmony_ci } 2947c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 2957c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 2967c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 2977c804472Sopenharmony_ci *std::next(it) = "pages/BigImg_1M"; 2987c804472Sopenharmony_ci } 2997c804472Sopenharmony_ci } 3007c804472Sopenharmony_ci 3017c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_FErr) 3027c804472Sopenharmony_ci { 3037c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 3047c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-f"); 3057c804472Sopenharmony_ci if (it != validParamVec.end()) { 3067c804472Sopenharmony_ci *it = "ffff"; 3077c804472Sopenharmony_ci } 3087c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3097c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 3107c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3117c804472Sopenharmony_ci *it = "-f"; 3127c804472Sopenharmony_ci *std::next(it) = "pages/BigImg_1M"; 3137c804472Sopenharmony_ci } 3147c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3157c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 3167c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3177c804472Sopenharmony_ci *std::next(it) = currFile; 3187c804472Sopenharmony_ci } 3197c804472Sopenharmony_ci } 3207c804472Sopenharmony_ci 3217c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_ArpErr) 3227c804472Sopenharmony_ci { 3237c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 3247c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-arp"); 3257c804472Sopenharmony_ci if (it != validParamVec.end()) { 3267c804472Sopenharmony_ci *it = "aaarp"; 3277c804472Sopenharmony_ci } 3287c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3297c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 3307c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3317c804472Sopenharmony_ci *it = "-arp"; 3327c804472Sopenharmony_ci *std::next(it) = "pages/BigImg_1M"; 3337c804472Sopenharmony_ci } 3347c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3357c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 3367c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3377c804472Sopenharmony_ci *std::next(it) = currDir; 3387c804472Sopenharmony_ci } 3397c804472Sopenharmony_ci } 3407c804472Sopenharmony_ci 3417c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_PmErr) 3427c804472Sopenharmony_ci { 3437c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 3447c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-pm"); 3457c804472Sopenharmony_ci if (it != validParamVec.end()) { 3467c804472Sopenharmony_ci *it = "aaapm"; 3477c804472Sopenharmony_ci } 3487c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3497c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 3507c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3517c804472Sopenharmony_ci *it = "-pm"; 3527c804472Sopenharmony_ci *std::next(it) = "aaa"; 3537c804472Sopenharmony_ci } 3547c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3557c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 3567c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3577c804472Sopenharmony_ci *std::next(it) = "Stage"; 3587c804472Sopenharmony_ci } 3597c804472Sopenharmony_ci } 3607c804472Sopenharmony_ci 3617c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_PagesErr) 3627c804472Sopenharmony_ci { 3637c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 3647c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-pages"); 3657c804472Sopenharmony_ci if (it != validParamVec.end()) { 3667c804472Sopenharmony_ci *it = "aaapages"; 3677c804472Sopenharmony_ci } 3687c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 3707c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3717c804472Sopenharmony_ci *it = "-pages"; 3727c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 3737c804472Sopenharmony_ci } 3747c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3757c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 3767c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3777c804472Sopenharmony_ci *std::next(it) = "main_pages"; 3787c804472Sopenharmony_ci } 3797c804472Sopenharmony_ci } 3807c804472Sopenharmony_ci 3817c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_RefreshErr) 3827c804472Sopenharmony_ci { 3837c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 3847c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-refresh"); 3857c804472Sopenharmony_ci if (it != validParamVec.end()) { 3867c804472Sopenharmony_ci *it = "aaarefresh"; 3877c804472Sopenharmony_ci } 3887c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3897c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 3907c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3917c804472Sopenharmony_ci *it = "-refresh"; 3927c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 3937c804472Sopenharmony_ci } 3947c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 3957c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 3967c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 3977c804472Sopenharmony_ci *std::next(it) = "region"; 3987c804472Sopenharmony_ci } 3997c804472Sopenharmony_ci } 4007c804472Sopenharmony_ci 4017c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_CardErr) 4027c804472Sopenharmony_ci { 4037c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 4047c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-card"); 4057c804472Sopenharmony_ci if (it != validParamVec.end()) { 4067c804472Sopenharmony_ci *it = "aaacard"; 4077c804472Sopenharmony_ci } 4087c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4097c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 4107c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4117c804472Sopenharmony_ci *it = "-card"; 4127c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 4137c804472Sopenharmony_ci } 4147c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4157c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 4167c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4177c804472Sopenharmony_ci *std::next(it) = "true"; 4187c804472Sopenharmony_ci } 4197c804472Sopenharmony_ci } 4207c804472Sopenharmony_ci 4217c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_ProjectIdErr) 4227c804472Sopenharmony_ci { 4237c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 4247c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-projectID"); 4257c804472Sopenharmony_ci if (it != validParamVec.end()) { 4267c804472Sopenharmony_ci *it = "aaaprojectID"; 4277c804472Sopenharmony_ci } 4287c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4297c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 4307c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4317c804472Sopenharmony_ci *it = "-projectID"; 4327c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 4337c804472Sopenharmony_ci } 4347c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4357c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 4367c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4377c804472Sopenharmony_ci *std::next(it) = "138968279"; 4387c804472Sopenharmony_ci } 4397c804472Sopenharmony_ci } 4407c804472Sopenharmony_ci 4417c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_CmErr) 4427c804472Sopenharmony_ci { 4437c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 4447c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cm"); 4457c804472Sopenharmony_ci if (it != validParamVec.end()) { 4467c804472Sopenharmony_ci *it = "aaacm"; 4477c804472Sopenharmony_ci } 4487c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4497c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 4507c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4517c804472Sopenharmony_ci *it = "-cm"; 4527c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 4537c804472Sopenharmony_ci } 4547c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4557c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 4567c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4577c804472Sopenharmony_ci *std::next(it) = "light"; 4587c804472Sopenharmony_ci } 4597c804472Sopenharmony_ci } 4607c804472Sopenharmony_ci 4617c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_AvErr) 4627c804472Sopenharmony_ci { 4637c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 4647c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-av"); 4657c804472Sopenharmony_ci if (it != validParamVec.end()) { 4667c804472Sopenharmony_ci *it = "aaaav"; 4677c804472Sopenharmony_ci } 4687c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 4707c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4717c804472Sopenharmony_ci *it = "-av"; 4727c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 4737c804472Sopenharmony_ci } 4747c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4757c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 4767c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4777c804472Sopenharmony_ci *std::next(it) = "ACE_2_0"; 4787c804472Sopenharmony_ci } 4797c804472Sopenharmony_ci } 4807c804472Sopenharmony_ci 4817c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_OErr) 4827c804472Sopenharmony_ci { 4837c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 4847c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-o"); 4857c804472Sopenharmony_ci if (it != validParamVec.end()) { 4867c804472Sopenharmony_ci *it = "aaao"; 4877c804472Sopenharmony_ci } 4887c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4897c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 4907c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4917c804472Sopenharmony_ci *it = "-o"; 4927c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 4937c804472Sopenharmony_ci } 4947c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 4957c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 4967c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 4977c804472Sopenharmony_ci *std::next(it) = "portrait"; 4987c804472Sopenharmony_ci } 4997c804472Sopenharmony_ci } 5007c804472Sopenharmony_ci 5017c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_LwsErr) 5027c804472Sopenharmony_ci { 5037c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5047c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-lws"); 5057c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5067c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 5077c804472Sopenharmony_ci } 5087c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5097c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 5107c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5117c804472Sopenharmony_ci *std::next(it) = "65536"; 5127c804472Sopenharmony_ci } 5137c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5147c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 5157c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5167c804472Sopenharmony_ci *std::next(it) = "40003"; 5177c804472Sopenharmony_ci } 5187c804472Sopenharmony_ci } 5197c804472Sopenharmony_ci 5207c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_SmErr) 5217c804472Sopenharmony_ci { 5227c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5237c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-sm"); 5247c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5257c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 5267c804472Sopenharmony_ci } 5277c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5287c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 5297c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5307c804472Sopenharmony_ci *std::next(it) = "static"; 5317c804472Sopenharmony_ci } 5327c804472Sopenharmony_ci } 5337c804472Sopenharmony_ci 5347c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_HspErr) 5357c804472Sopenharmony_ci { 5367c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5377c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-hsp"); 5387c804472Sopenharmony_ci if (it != validParamVec.end()) { 5397c804472Sopenharmony_ci *it = "aaahsp"; 5407c804472Sopenharmony_ci } 5417c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5427c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 5437c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5447c804472Sopenharmony_ci *it = "-hsp"; 5457c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 5467c804472Sopenharmony_ci } 5477c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5487c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 5497c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5507c804472Sopenharmony_ci *std::next(it) = currDir; 5517c804472Sopenharmony_ci } 5527c804472Sopenharmony_ci } 5537c804472Sopenharmony_ci 5547c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_CpmErr) 5557c804472Sopenharmony_ci { 5567c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5577c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-cpm"); 5587c804472Sopenharmony_ci if (it != validParamVec.end()) { 5597c804472Sopenharmony_ci *it = "aaacpm"; 5607c804472Sopenharmony_ci } 5617c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5627c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 5637c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5647c804472Sopenharmony_ci *it = "-cpm"; 5657c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 5667c804472Sopenharmony_ci } 5677c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5687c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 5697c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 5707c804472Sopenharmony_ci *std::next(it) = "true"; 5717c804472Sopenharmony_ci } 5727c804472Sopenharmony_ci } 5737c804472Sopenharmony_ci 5747c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_AbpErr) 5757c804472Sopenharmony_ci { 5767c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5777c804472Sopenharmony_ci // lite device 5787c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 5797c804472Sopenharmony_ci if (it != validParamVec.end()) { 5807c804472Sopenharmony_ci *std::next(it) = "liteWearable"; 5817c804472Sopenharmony_ci } 5827c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5837c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 5847c804472Sopenharmony_ci if (it != validParamVec.end()) { 5857c804472Sopenharmony_ci *std::next(it) = "phone"; 5867c804472Sopenharmony_ci } 5877c804472Sopenharmony_ci // no -d 5887c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-d"); 5897c804472Sopenharmony_ci if (it != validParamVec.end()) { 5907c804472Sopenharmony_ci *it = "aaad"; 5917c804472Sopenharmony_ci } 5927c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 5937c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 5947c804472Sopenharmony_ci if (it != validParamVec.end()) { 5957c804472Sopenharmony_ci *it = "-d"; 5967c804472Sopenharmony_ci } 5977c804472Sopenharmony_ci // no -abp 5987c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 5997c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-abp"); 6007c804472Sopenharmony_ci if (it != validParamVec.end()) { 6017c804472Sopenharmony_ci *it = "aaaabp"; 6027c804472Sopenharmony_ci } 6037c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6047c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 6057c804472Sopenharmony_ci // -abp value empty 6067c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6077c804472Sopenharmony_ci *it = "-abp"; 6087c804472Sopenharmony_ci *std::next(it) = ""; 6097c804472Sopenharmony_ci } 6107c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6117c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 6127c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6137c804472Sopenharmony_ci *std::next(it) = "ets/entryability/EntryAbility.abc"; 6147c804472Sopenharmony_ci } 6157c804472Sopenharmony_ci } 6167c804472Sopenharmony_ci 6177c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_AbnErr) 6187c804472Sopenharmony_ci { 6197c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 6207c804472Sopenharmony_ci // no -d 6217c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-d"); 6227c804472Sopenharmony_ci if (it != validParamVec.end()) { 6237c804472Sopenharmony_ci *it = "aaad"; 6247c804472Sopenharmony_ci } 6257c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6267c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 6277c804472Sopenharmony_ci if (it != validParamVec.end()) { 6287c804472Sopenharmony_ci *it = "-d"; 6297c804472Sopenharmony_ci } 6307c804472Sopenharmony_ci // lite device 6317c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-device"); 6327c804472Sopenharmony_ci if (it != validParamVec.end()) { 6337c804472Sopenharmony_ci *std::next(it) = "liteWearable"; 6347c804472Sopenharmony_ci } 6357c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6367c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 6377c804472Sopenharmony_ci if (it != validParamVec.end()) { 6387c804472Sopenharmony_ci *std::next(it) = "phone"; 6397c804472Sopenharmony_ci } 6407c804472Sopenharmony_ci // no -abn 6417c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 6427c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-abn"); 6437c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6447c804472Sopenharmony_ci *it = "aaaabn"; 6457c804472Sopenharmony_ci } 6467c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6477c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 6487c804472Sopenharmony_ci // -abn value empty 6497c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6507c804472Sopenharmony_ci *it = "-abn"; 6517c804472Sopenharmony_ci *std::next(it) = ""; 6527c804472Sopenharmony_ci } 6537c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6547c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 6557c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6567c804472Sopenharmony_ci *std::next(it) = "EntryAbility"; 6577c804472Sopenharmony_ci } 6587c804472Sopenharmony_ci } 6597c804472Sopenharmony_ci 6607c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_StaticCardErr) 6617c804472Sopenharmony_ci { 6627c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 6637c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-staticCard"); 6647c804472Sopenharmony_ci if (it != validParamVec.end()) { 6657c804472Sopenharmony_ci *it = "aaastaticCard"; 6667c804472Sopenharmony_ci } 6677c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6687c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 6697c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6707c804472Sopenharmony_ci *it = "-staticCard"; 6717c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 6727c804472Sopenharmony_ci } 6737c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6747c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 6757c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6767c804472Sopenharmony_ci *std::next(it) = "true"; 6777c804472Sopenharmony_ci } 6787c804472Sopenharmony_ci } 6797c804472Sopenharmony_ci 6807c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_FoldableErr) 6817c804472Sopenharmony_ci { 6827c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 6837c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 6847c804472Sopenharmony_ci if (it != validParamVec.end()) { 6857c804472Sopenharmony_ci *it = "aaafoldable"; 6867c804472Sopenharmony_ci } 6877c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6887c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 6897c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6907c804472Sopenharmony_ci *it = "-foldable"; 6917c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 6927c804472Sopenharmony_ci } 6937c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 6947c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 6957c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 6967c804472Sopenharmony_ci *std::next(it) = "true"; 6977c804472Sopenharmony_ci } 6987c804472Sopenharmony_ci } 6997c804472Sopenharmony_ci 7007c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_FoldStatusErr) 7017c804472Sopenharmony_ci { 7027c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7037c804472Sopenharmony_ci // no -foldable 7047c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 7057c804472Sopenharmony_ci if (it != validParamVec.end()) { 7067c804472Sopenharmony_ci *it = "aaafoldable"; 7077c804472Sopenharmony_ci } 7087c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7097c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 7107c804472Sopenharmony_ci // param -foldable value is false 7117c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7127c804472Sopenharmony_ci *it = "-foldable"; 7137c804472Sopenharmony_ci *std::next(it) = "false"; 7147c804472Sopenharmony_ci } 7157c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7167c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 7177c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7187c804472Sopenharmony_ci *std::next(it) = "true"; 7197c804472Sopenharmony_ci } 7207c804472Sopenharmony_ci // param foldStatus value invalid 7217c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7227c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-foldStatus"); 7237c804472Sopenharmony_ci if (it != validParamVec.end()) { 7247c804472Sopenharmony_ci *it = "aaafoldStatus"; 7257c804472Sopenharmony_ci } 7267c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7277c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 7287c804472Sopenharmony_ci if (it != validParamVec.end()) { 7297c804472Sopenharmony_ci *it = "-foldStatus"; 7307c804472Sopenharmony_ci } 7317c804472Sopenharmony_ci } 7327c804472Sopenharmony_ci 7337c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_FrErr) 7347c804472Sopenharmony_ci { 7357c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7367c804472Sopenharmony_ci // no -foldable 7377c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-foldable"); 7387c804472Sopenharmony_ci if (it != validParamVec.end()) { 7397c804472Sopenharmony_ci *it = "aaafoldable"; 7407c804472Sopenharmony_ci } 7417c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7427c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 7437c804472Sopenharmony_ci // param -foldable value is false 7447c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7457c804472Sopenharmony_ci *it = "-foldable"; 7467c804472Sopenharmony_ci *std::next(it) = "false"; 7477c804472Sopenharmony_ci } 7487c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7497c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 7507c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7517c804472Sopenharmony_ci *std::next(it) = "true"; 7527c804472Sopenharmony_ci } 7537c804472Sopenharmony_ci // no param -fr 7547c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7557c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-fr"); 7567c804472Sopenharmony_ci if (it != validParamVec.end()) { 7577c804472Sopenharmony_ci *it = "aaafr"; 7587c804472Sopenharmony_ci } 7597c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7607c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 7617c804472Sopenharmony_ci if (it != validParamVec.end()) { 7627c804472Sopenharmony_ci *it = "-fr"; 7637c804472Sopenharmony_ci } 7647c804472Sopenharmony_ci // param -fr value is invalid 7657c804472Sopenharmony_ci it = std::find(validParamVec.begin(), validParamVec.end(), "-fr"); 7667c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7677c804472Sopenharmony_ci *std::next(it) = "aaaa"; 7687c804472Sopenharmony_ci } 7697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7707c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 7717c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7727c804472Sopenharmony_ci *std::next(it) = "1080"; 7737c804472Sopenharmony_ci } 7747c804472Sopenharmony_ci } 7757c804472Sopenharmony_ci 7767c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_LjPathErr) 7777c804472Sopenharmony_ci { 7787c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7797c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-ljPath"); 7807c804472Sopenharmony_ci if (it != validParamVec.end()) { 7817c804472Sopenharmony_ci *it = "aaaljPath"; 7827c804472Sopenharmony_ci } 7837c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7847c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 7857c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7867c804472Sopenharmony_ci *it = "-ljPath"; 7877c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 7887c804472Sopenharmony_ci } 7897c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 7907c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 7917c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 7927c804472Sopenharmony_ci *std::next(it) = currFile; 7937c804472Sopenharmony_ci } 7947c804472Sopenharmony_ci } 7957c804472Sopenharmony_ci 7967c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_LErr) 7977c804472Sopenharmony_ci { 7987c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 7997c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-l"); 8007c804472Sopenharmony_ci if (it != validParamVec.end()) { 8017c804472Sopenharmony_ci *it = "aaal"; 8027c804472Sopenharmony_ci } 8037c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8047c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 8057c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8067c804472Sopenharmony_ci *it = "-l"; 8077c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 8087c804472Sopenharmony_ci } 8097c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8107c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 8117c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8127c804472Sopenharmony_ci *std::next(it) = "zh_CN"; 8137c804472Sopenharmony_ci } 8147c804472Sopenharmony_ci } 8157c804472Sopenharmony_ci 8167c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_TsErr) 8177c804472Sopenharmony_ci { 8187c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 8197c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-ts"); 8207c804472Sopenharmony_ci if (it != validParamVec.end()) { 8217c804472Sopenharmony_ci *it = "aaats"; 8227c804472Sopenharmony_ci } 8237c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8247c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 8257c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8267c804472Sopenharmony_ci *it = "-ts"; 8277c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 8287c804472Sopenharmony_ci } 8297c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8307c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 8317c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8327c804472Sopenharmony_ci *std::next(it) = "trace_70259_commandPipe"; 8337c804472Sopenharmony_ci } 8347c804472Sopenharmony_ci } 8357c804472Sopenharmony_ci 8367c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_SErr) 8377c804472Sopenharmony_ci { 8387c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 8397c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-s"); 8407c804472Sopenharmony_ci if (it != validParamVec.end()) { 8417c804472Sopenharmony_ci *it = "aaas"; 8427c804472Sopenharmony_ci } 8437c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8447c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 8457c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8467c804472Sopenharmony_ci *it = "-s"; 8477c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 8487c804472Sopenharmony_ci } 8497c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8507c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 8517c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8527c804472Sopenharmony_ci *std::next(it) = "componentpreviewinstance_1712054594321_1"; 8537c804472Sopenharmony_ci } 8547c804472Sopenharmony_ci } 8557c804472Sopenharmony_ci 8567c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest_SdErr) 8577c804472Sopenharmony_ci { 8587c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 8597c804472Sopenharmony_ci auto it = std::find(validParamVec.begin(), validParamVec.end(), "-sd"); 8607c804472Sopenharmony_ci if (it != validParamVec.end()) { 8617c804472Sopenharmony_ci *it = "aaasd"; 8627c804472Sopenharmony_ci } 8637c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8647c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 8657c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8667c804472Sopenharmony_ci *it = "-sd"; 8677c804472Sopenharmony_ci *std::next(it) = "~!@#$%^"; 8687c804472Sopenharmony_ci } 8697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8707c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsCommandValid()); 8717c804472Sopenharmony_ci if (it != validParamVec.end() && std::next(it) != validParamVec.end()) { 8727c804472Sopenharmony_ci *std::next(it) = "480"; 8737c804472Sopenharmony_ci } 8747c804472Sopenharmony_ci } 8757c804472Sopenharmony_ci 8767c804472Sopenharmony_ci 8777c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCommandValidTest1) 8787c804472Sopenharmony_ci { 8797c804472Sopenharmony_ci CommandParser::GetInstance().argsMap.clear(); 8807c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().ProcessCommand(validParamVec)); 8817c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCommandValid()); 8827c804472Sopenharmony_ci } 8837c804472Sopenharmony_ci 8847c804472Sopenharmony_ci TEST_F(CommandParserTest, ValueTest) 8857c804472Sopenharmony_ci { 8867c804472Sopenharmony_ci std::string str1 = "abcd"; 8877c804472Sopenharmony_ci std::string str2 = "rect"; 8887c804472Sopenharmony_ci std::string str3 = CommandParser::GetInstance().Value("shape"); 8897c804472Sopenharmony_ci EXPECT_EQ(str2, str3); 8907c804472Sopenharmony_ci EXPECT_NE(str1, str3); 8917c804472Sopenharmony_ci } 8927c804472Sopenharmony_ci 8937c804472Sopenharmony_ci TEST_F(CommandParserTest, ValuesTest) 8947c804472Sopenharmony_ci { 8957c804472Sopenharmony_ci std::vector<std::string> vec1 = {"1111", "2222"}; 8967c804472Sopenharmony_ci std::vector<std::string> vec2 = {"1080", "2340"}; 8977c804472Sopenharmony_ci std::vector<std::string> vec3 = CommandParser::GetInstance().Values("or"); 8987c804472Sopenharmony_ci for (int i = 0; i < vec3.size(); i++) { 8997c804472Sopenharmony_ci EXPECT_NE(vec1[i], vec3[i]); 9007c804472Sopenharmony_ci } 9017c804472Sopenharmony_ci for (int i = 0; i < vec3.size(); i++) { 9027c804472Sopenharmony_ci EXPECT_EQ(vec2[i], vec3[i]); 9037c804472Sopenharmony_ci } 9047c804472Sopenharmony_ci } 9057c804472Sopenharmony_ci 9067c804472Sopenharmony_ci TEST_F(CommandParserTest, RegisterTest) 9077c804472Sopenharmony_ci { 9087c804472Sopenharmony_ci std::string key = "-abcd"; 9097c804472Sopenharmony_ci uint32_t count = 1; 9107c804472Sopenharmony_ci CommandParser::GetInstance().Register(key, count, "abcd"); 9117c804472Sopenharmony_ci uint32_t num = CommandParser::GetInstance().regsArgsCountMap[key]; 9127c804472Sopenharmony_ci std::string helpStr = CommandParser::GetInstance().regsHelpMap[key]; 9137c804472Sopenharmony_ci EXPECT_EQ(num, count); 9147c804472Sopenharmony_ci EXPECT_EQ(helpStr, "abcd"); 9157c804472Sopenharmony_ci } 9167c804472Sopenharmony_ci 9177c804472Sopenharmony_ci TEST_F(CommandParserTest, IsResolutionValidTest) 9187c804472Sopenharmony_ci { 9197c804472Sopenharmony_ci int32_t val1 = 0; 9207c804472Sopenharmony_ci int32_t val2 = 1; 9217c804472Sopenharmony_ci int32_t val3 = 1024; 9227c804472Sopenharmony_ci int32_t val4 = 3840; 9237c804472Sopenharmony_ci int32_t val5 = 3841; 9247c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsResolutionValid(val1)); 9257c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val2)); 9267c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val3)); 9277c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsResolutionValid(val4)); 9287c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsResolutionValid(val5)); 9297c804472Sopenharmony_ci } 9307c804472Sopenharmony_ci 9317c804472Sopenharmony_ci TEST_F(CommandParserTest, GetOrignalResolutionWidthTest) 9327c804472Sopenharmony_ci { 9337c804472Sopenharmony_ci int32_t val1 = 1080; 9347c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetOrignalResolutionWidth(), val1); 9357c804472Sopenharmony_ci } 9367c804472Sopenharmony_ci 9377c804472Sopenharmony_ci TEST_F(CommandParserTest, GetOrignalResolutionHeightTest) 9387c804472Sopenharmony_ci { 9397c804472Sopenharmony_ci int32_t val1 = 2340; 9407c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetOrignalResolutionHeight(), val1); 9417c804472Sopenharmony_ci } 9427c804472Sopenharmony_ci 9437c804472Sopenharmony_ci TEST_F(CommandParserTest, GetCompressionResolutionWidthTest) 9447c804472Sopenharmony_ci { 9457c804472Sopenharmony_ci int32_t val1 = 1080; 9467c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetCompressionResolutionWidth(), val1); 9477c804472Sopenharmony_ci } 9487c804472Sopenharmony_ci 9497c804472Sopenharmony_ci TEST_F(CommandParserTest, GetCompressionResolutionHeightTest) 9507c804472Sopenharmony_ci { 9517c804472Sopenharmony_ci int32_t val1 = 2340; 9527c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetCompressionResolutionHeight(), val1); 9537c804472Sopenharmony_ci } 9547c804472Sopenharmony_ci 9557c804472Sopenharmony_ci TEST_F(CommandParserTest, GetJsHeapSizeTest) 9567c804472Sopenharmony_ci { 9577c804472Sopenharmony_ci int32_t val1 = 100000; 9587c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetJsHeapSize(), val1); 9597c804472Sopenharmony_ci } 9607c804472Sopenharmony_ci 9617c804472Sopenharmony_ci TEST_F(CommandParserTest, GetAppNameTest) 9627c804472Sopenharmony_ci { 9637c804472Sopenharmony_ci std::string val1 = "entry"; 9647c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetAppName(), val1); 9657c804472Sopenharmony_ci } 9667c804472Sopenharmony_ci 9677c804472Sopenharmony_ci TEST_F(CommandParserTest, IsSendJSHeapTest) 9687c804472Sopenharmony_ci { 9697c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsSendJSHeap()); 9707c804472Sopenharmony_ci } 9717c804472Sopenharmony_ci 9727c804472Sopenharmony_ci TEST_F(CommandParserTest, GetDeviceTypeTest) 9737c804472Sopenharmony_ci { 9747c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetDeviceType(), "phone"); 9757c804472Sopenharmony_ci } 9767c804472Sopenharmony_ci 9777c804472Sopenharmony_ci TEST_F(CommandParserTest, IsRegionRefreshTest) 9787c804472Sopenharmony_ci { 9797c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsRegionRefresh()); 9807c804472Sopenharmony_ci } 9817c804472Sopenharmony_ci 9827c804472Sopenharmony_ci TEST_F(CommandParserTest, IsCardDisplayTest) 9837c804472Sopenharmony_ci { 9847c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsCardDisplay()); 9857c804472Sopenharmony_ci } 9867c804472Sopenharmony_ci 9877c804472Sopenharmony_ci TEST_F(CommandParserTest, GetConfigPathTest) 9887c804472Sopenharmony_ci { 9897c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetConfigPath(), currFile); 9907c804472Sopenharmony_ci } 9917c804472Sopenharmony_ci 9927c804472Sopenharmony_ci TEST_F(CommandParserTest, GetProjectIDTest) 9937c804472Sopenharmony_ci { 9947c804472Sopenharmony_ci std::string str = "138968279"; 9957c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectID(), str); 9967c804472Sopenharmony_ci } 9977c804472Sopenharmony_ci 9987c804472Sopenharmony_ci TEST_F(CommandParserTest, GetScreenModeTest) 9997c804472Sopenharmony_ci { 10007c804472Sopenharmony_ci std::string str = "static"; 10017c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetScreenMode(), CommandParser::ScreenMode::STATIC); 10027c804472Sopenharmony_ci } 10037c804472Sopenharmony_ci 10047c804472Sopenharmony_ci TEST_F(CommandParserTest, GetConfigChangesTest) 10057c804472Sopenharmony_ci { 10067c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetConfigChanges(), ""); 10077c804472Sopenharmony_ci } 10087c804472Sopenharmony_ci 10097c804472Sopenharmony_ci TEST_F(CommandParserTest, GetAppResourcePathTest) 10107c804472Sopenharmony_ci { 10117c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetAppResourcePath(), currDir); 10127c804472Sopenharmony_ci } 10137c804472Sopenharmony_ci 10147c804472Sopenharmony_ci TEST_F(CommandParserTest, GetScreenShapeTest) 10157c804472Sopenharmony_ci { 10167c804472Sopenharmony_ci std::string str = "rect"; 10177c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetScreenShape(), str); 10187c804472Sopenharmony_ci } 10197c804472Sopenharmony_ci 10207c804472Sopenharmony_ci TEST_F(CommandParserTest, GetProjectModelTest) 10217c804472Sopenharmony_ci { 10227c804472Sopenharmony_ci std::string str = "Stage"; 10237c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModel(), str); 10247c804472Sopenharmony_ci } 10257c804472Sopenharmony_ci 10267c804472Sopenharmony_ci TEST_F(CommandParserTest, GetProjectModelEnumValueTest) 10277c804472Sopenharmony_ci { 10287c804472Sopenharmony_ci int value = 1; 10297c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumValue(), value); 10307c804472Sopenharmony_ci } 10317c804472Sopenharmony_ci 10327c804472Sopenharmony_ci TEST_F(CommandParserTest, GetProjectModelEnumNameTest) 10337c804472Sopenharmony_ci { 10347c804472Sopenharmony_ci int index = 0; 10357c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 10367c804472Sopenharmony_ci index = 1; 10377c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "Stage"); 10387c804472Sopenharmony_ci index = -1; 10397c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 10407c804472Sopenharmony_ci index = 2; 10417c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetProjectModelEnumName(index), "FA"); 10427c804472Sopenharmony_ci } 10437c804472Sopenharmony_ci 10447c804472Sopenharmony_ci TEST_F(CommandParserTest, GetPagesTest) 10457c804472Sopenharmony_ci { 10467c804472Sopenharmony_ci std::string str = "main_pages"; 10477c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetPages(), str); 10487c804472Sopenharmony_ci } 10497c804472Sopenharmony_ci 10507c804472Sopenharmony_ci TEST_F(CommandParserTest, GetContainerSdkPathTest) 10517c804472Sopenharmony_ci { 10527c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetContainerSdkPath(), currDir); 10537c804472Sopenharmony_ci } 10547c804472Sopenharmony_ci 10557c804472Sopenharmony_ci TEST_F(CommandParserTest, CheckParamInvalidityTest) 10567c804472Sopenharmony_ci { 10577c804472Sopenharmony_ci std::string param = "0"; 10587c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10597c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10607c804472Sopenharmony_ci param = "110"; 10617c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10627c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10637c804472Sopenharmony_ci param = "01"; 10647c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10657c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10667c804472Sopenharmony_ci param = "ab01"; 10677c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10687c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10697c804472Sopenharmony_ci param = "0.34"; 10707c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10717c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10727c804472Sopenharmony_ci param = "10.34"; 10737c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, true)); 10747c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().CheckParamInvalidity(param, false)); 10757c804472Sopenharmony_ci } 10767c804472Sopenharmony_ci 10777c804472Sopenharmony_ci TEST_F(CommandParserTest, IsComponentModeTest) 10787c804472Sopenharmony_ci { 10797c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsComponentMode()); 10807c804472Sopenharmony_ci } 10817c804472Sopenharmony_ci 10827c804472Sopenharmony_ci TEST_F(CommandParserTest, GetAbilityPathTest) 10837c804472Sopenharmony_ci { 10847c804472Sopenharmony_ci std::string str = "ets/entryability/EntryAbility.abc"; 10857c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetAbilityPath(), str); 10867c804472Sopenharmony_ci } 10877c804472Sopenharmony_ci 10887c804472Sopenharmony_ci TEST_F(CommandParserTest, GetAbilityNameTest) 10897c804472Sopenharmony_ci { 10907c804472Sopenharmony_ci std::string str = "EntryAbility"; 10917c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetAbilityName(), str); 10927c804472Sopenharmony_ci } 10937c804472Sopenharmony_ci 10947c804472Sopenharmony_ci TEST_F(CommandParserTest, IsStaticCardTest) 10957c804472Sopenharmony_ci { 10967c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsStaticCard()); 10977c804472Sopenharmony_ci } 10987c804472Sopenharmony_ci 10997c804472Sopenharmony_ci TEST_F(CommandParserTest, IsMainArgLengthInvalidTest) 11007c804472Sopenharmony_ci { 11017c804472Sopenharmony_ci std::string validStr = "1111111"; 11027c804472Sopenharmony_ci EXPECT_FALSE(CommandParser::GetInstance().IsMainArgLengthInvalid(validStr.c_str())); 11037c804472Sopenharmony_ci int desiredLength = 1184; 11047c804472Sopenharmony_ci char initialChar = '1'; 11057c804472Sopenharmony_ci std::string invalidStr(desiredLength, initialChar); 11067c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsMainArgLengthInvalid(invalidStr.c_str())); 11077c804472Sopenharmony_ci } 11087c804472Sopenharmony_ci 11097c804472Sopenharmony_ci TEST_F(CommandParserTest, IsFoldableTest) 11107c804472Sopenharmony_ci { 11117c804472Sopenharmony_ci EXPECT_TRUE(CommandParser::GetInstance().IsFoldable()); 11127c804472Sopenharmony_ci } 11137c804472Sopenharmony_ci 11147c804472Sopenharmony_ci TEST_F(CommandParserTest, GetFoldStatusTest) 11157c804472Sopenharmony_ci { 11167c804472Sopenharmony_ci std::string str = "half_fold"; 11177c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetFoldStatus(), str); 11187c804472Sopenharmony_ci } 11197c804472Sopenharmony_ci 11207c804472Sopenharmony_ci TEST_F(CommandParserTest, GetFoldResolutionWidthTest) 11217c804472Sopenharmony_ci { 11227c804472Sopenharmony_ci int32_t value = 1080; 11237c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetFoldResolutionWidth(), value); 11247c804472Sopenharmony_ci } 11257c804472Sopenharmony_ci 11267c804472Sopenharmony_ci TEST_F(CommandParserTest, GetFoldResolutionHeightTest) 11277c804472Sopenharmony_ci { 11287c804472Sopenharmony_ci int32_t value = 2504; 11297c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetFoldResolutionHeight(), value); 11307c804472Sopenharmony_ci } 11317c804472Sopenharmony_ci 11327c804472Sopenharmony_ci TEST_F(CommandParserTest, GetLoaderJsonPathTest) 11337c804472Sopenharmony_ci { 11347c804472Sopenharmony_ci EXPECT_EQ(CommandParser::GetInstance().GetLoaderJsonPath(), currFile); 11357c804472Sopenharmony_ci } 11367c804472Sopenharmony_ci 11377c804472Sopenharmony_ci TEST_F(CommandParserTest, GetCommandInfoTest) 11387c804472Sopenharmony_ci { 11397c804472Sopenharmony_ci CommandInfo info; 11407c804472Sopenharmony_ci CommandParser::GetInstance().GetCommandInfo(info); 11417c804472Sopenharmony_ci EXPECT_EQ(info.deviceType, "phone"); 11427c804472Sopenharmony_ci EXPECT_TRUE(info.isComponentMode); 11437c804472Sopenharmony_ci } 11447c804472Sopenharmony_ci 11457c804472Sopenharmony_ci TEST_F(CommandParserTest, GetFoldInfoTest) 11467c804472Sopenharmony_ci { 11477c804472Sopenharmony_ci FoldInfo info; 11487c804472Sopenharmony_ci CommandParser::GetInstance().GetFoldInfo(info); 11497c804472Sopenharmony_ci EXPECT_TRUE(info.foldable); 11507c804472Sopenharmony_ci EXPECT_EQ(info.foldStatus, "half_fold"); 11517c804472Sopenharmony_ci } 11527c804472Sopenharmony_ci 11537c804472Sopenharmony_ci TEST_F(CommandParserTest, ParseArgsTest) 11547c804472Sopenharmony_ci { 11557c804472Sopenharmony_ci int argc = 5; 11567c804472Sopenharmony_ci char* argv[5]; // 5 is array length 11577c804472Sopenharmony_ci // param value length is out of range 11587c804472Sopenharmony_ci int desiredLength = 1184; 11597c804472Sopenharmony_ci char initialChar = '1'; 11607c804472Sopenharmony_ci std::string invalidStr(desiredLength, initialChar); 11617c804472Sopenharmony_ci argv[1] = "-p"; 11627c804472Sopenharmony_ci argv[2] = const_cast<char*>(invalidStr.c_str()); 11637c804472Sopenharmony_ci int ret = CommandParser::GetInstance().ParseArgs(argc, argv); 11647c804472Sopenharmony_ci EXPECT_EQ(ret, 11); // 11 is expect return value 11657c804472Sopenharmony_ci // param value invalid 11667c804472Sopenharmony_ci argv[2] = "999999999"; 11677c804472Sopenharmony_ci ret = CommandParser::GetInstance().ParseArgs(argc, argv); 11687c804472Sopenharmony_ci EXPECT_EQ(ret, 11); // 11 is expect return value 11697c804472Sopenharmony_ci argv[2] = "9999"; 11707c804472Sopenharmony_ci ret = CommandParser::GetInstance().ParseArgs(argc, argv); 11717c804472Sopenharmony_ci EXPECT_EQ(ret, -1); // -1 is expect return valu 11727c804472Sopenharmony_ci // invalid param 11737c804472Sopenharmony_ci argv[3] = "-v"; 11747c804472Sopenharmony_ci ret = CommandParser::GetInstance().ParseArgs(argc, argv); 11757c804472Sopenharmony_ci EXPECT_EQ(ret, 0); // 0 is expect return value 11767c804472Sopenharmony_ci } 11777c804472Sopenharmony_ci}