From dbc2161ffc29a0b0ebae0a603ab588ac5a3a1726 Mon Sep 17 00:00:00 2001 From: sunlian Date: Wed, 17 Apr 2024 16:03:30 +0800 Subject: [PATCH] update readme Signed-off-by: sunlian --- README.md | 240 ++++++++++++++++-- docs/CaseRule.md | 173 +++++++++++++ function/communication/wifi/.gitignore | 11 + .../communication/wifi/AppScope/app.json5 | 10 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2041 bytes function/communication/wifi/README_CN.md | 66 +++++ .../communication/wifi/build-profile.json5 | 36 +++ function/communication/wifi/entry/.gitignore | 6 + .../wifi/entry/build-profile.json5 | 31 +++ .../communication/wifi/entry/hvigorfile.ts | 6 + .../wifi/entry/obfuscation-rules.txt | 18 ++ .../communication/wifi/entry/oh-package.json5 | 10 + .../main/ets/entryability/EntryAbility.ets | 43 ++++ .../wifi/entry/src/main/ets/pages/Index.ets | 42 +++ .../wifi/entry/src/main/module.json5 | 37 +++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 ++ .../src/main/resources/base/media/icon.png | Bin 0 -> 2041 bytes .../main/resources/base/media/startIcon.png | Bin 0 -> 4351 bytes .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 16 ++ .../main/resources/zh_CN/element/string.json | 16 ++ .../src/ohosTest/ets/test/Ability.test.ets | 35 +++ .../entry/src/ohosTest/ets/test/List.test.ets | 5 + .../ohosTest/ets/testability/TestAbility.ets | 50 ++++ .../ohosTest/ets/testability/pages/Index.ets | 17 ++ .../ets/testrunner/OpenHarmonyTestRunner.ets | 47 ++++ .../wifi/entry/src/ohosTest/module.json5 | 37 +++ .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 16 ++ .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/test_pages.json | 5 + .../wifi/entry/src/test/List.test.ets | 5 + .../wifi/entry/src/test/LocalUnit.test.ets | 33 +++ .../wifi/hvigor/hvigor-config.json5 | 18 ++ .../wifi/hvigor/hvigor-wrapper.js | 1 + function/communication/wifi/hvigorfile.ts | 6 + function/communication/wifi/hvigorw | 48 ++++ function/communication/wifi/hvigorw.bat | 64 +++++ .../communication/wifi/oh-package-lock.json5 | 13 + function/communication/wifi/oh-package.json5 | 13 + .../communication/wifi/screenshots/home.png | Bin 0 -> 80164 bytes .../benchmark_arkts_compiler/README_CN.md | 2 +- .../communication/wifi_perf/.gitignore | 11 + .../wifi_perf/AppScope/app.json5 | 10 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2041 bytes .../communication/wifi_perf/README_CN.md | 58 +++++ .../wifi_perf/build-profile.json5 | 36 +++ .../communication/wifi_perf/entry/.gitignore | 6 + .../wifi_perf/entry/build-profile.json5 | 31 +++ .../wifi_perf/entry/hvigorfile.ts | 6 + .../wifi_perf/entry/obfuscation-rules.txt | 18 ++ .../wifi_perf/entry/oh-package.json5 | 10 + .../main/ets/entryability/EntryAbility.ets | 43 ++++ .../entry/src/main/ets/pages/Index.ets | 43 ++++ .../wifi_perf/entry/src/main/module.json5 | 37 +++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 ++ .../src/main/resources/base/media/icon.png | Bin 0 -> 2041 bytes .../main/resources/base/media/startIcon.png | Bin 0 -> 4351 bytes .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 16 ++ .../main/resources/zh_CN/element/string.json | 16 ++ .../src/ohosTest/ets/test/Ability.test.ets | 35 +++ .../entry/src/ohosTest/ets/test/List.test.ets | 5 + .../ohosTest/ets/testability/TestAbility.ets | 50 ++++ .../ohosTest/ets/testability/pages/Index.ets | 17 ++ .../ets/testrunner/OpenHarmonyTestRunner.ets | 47 ++++ .../wifi_perf/entry/src/ohosTest/module.json5 | 37 +++ .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 16 ++ .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/test_pages.json | 5 + .../wifi_perf/entry/src/test/List.test.ets | 5 + .../entry/src/test/LocalUnit.test.ets | 33 +++ .../wifi_perf/hvigor/hvigor-config.json5 | 18 ++ .../wifi_perf/hvigor/hvigor-wrapper.js | 1 + .../communication/wifi_perf/hvigorfile.ts | 6 + performance/communication/wifi_perf/hvigorw | 48 ++++ .../communication/wifi_perf/hvigorw.bat | 64 +++++ .../wifi_perf/oh-package-lock.json5 | 13 + .../communication/wifi_perf/oh-package.json5 | 13 + .../wifi_perf/screenshots/home.png | Bin 0 -> 112883 bytes scenario/MyMusic/screenshots/home.png | Bin 0 -> 197976 bytes 86 files changed, 1991 insertions(+), 29 deletions(-) create mode 100644 docs/CaseRule.md create mode 100644 function/communication/wifi/.gitignore create mode 100644 function/communication/wifi/AppScope/app.json5 create mode 100644 function/communication/wifi/AppScope/resources/base/element/string.json create mode 100644 function/communication/wifi/AppScope/resources/base/media/app_icon.png create mode 100644 function/communication/wifi/README_CN.md create mode 100644 function/communication/wifi/build-profile.json5 create mode 100644 function/communication/wifi/entry/.gitignore create mode 100644 function/communication/wifi/entry/build-profile.json5 create mode 100644 function/communication/wifi/entry/hvigorfile.ts create mode 100644 function/communication/wifi/entry/obfuscation-rules.txt create mode 100644 function/communication/wifi/entry/oh-package.json5 create mode 100644 function/communication/wifi/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 function/communication/wifi/entry/src/main/ets/pages/Index.ets create mode 100644 function/communication/wifi/entry/src/main/module.json5 create mode 100644 function/communication/wifi/entry/src/main/resources/base/element/color.json create mode 100644 function/communication/wifi/entry/src/main/resources/base/element/string.json create mode 100644 function/communication/wifi/entry/src/main/resources/base/media/icon.png create mode 100644 function/communication/wifi/entry/src/main/resources/base/media/startIcon.png create mode 100644 function/communication/wifi/entry/src/main/resources/base/profile/main_pages.json create mode 100644 function/communication/wifi/entry/src/main/resources/en_US/element/string.json create mode 100644 function/communication/wifi/entry/src/main/resources/zh_CN/element/string.json create mode 100644 function/communication/wifi/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 function/communication/wifi/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 function/communication/wifi/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 function/communication/wifi/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 function/communication/wifi/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets create mode 100644 function/communication/wifi/entry/src/ohosTest/module.json5 create mode 100644 function/communication/wifi/entry/src/ohosTest/resources/base/element/color.json create mode 100644 function/communication/wifi/entry/src/ohosTest/resources/base/element/string.json create mode 100644 function/communication/wifi/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 function/communication/wifi/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 function/communication/wifi/entry/src/test/List.test.ets create mode 100644 function/communication/wifi/entry/src/test/LocalUnit.test.ets create mode 100644 function/communication/wifi/hvigor/hvigor-config.json5 create mode 100644 function/communication/wifi/hvigor/hvigor-wrapper.js create mode 100644 function/communication/wifi/hvigorfile.ts create mode 100644 function/communication/wifi/hvigorw create mode 100644 function/communication/wifi/hvigorw.bat create mode 100644 function/communication/wifi/oh-package-lock.json5 create mode 100644 function/communication/wifi/oh-package.json5 create mode 100644 function/communication/wifi/screenshots/home.png create mode 100644 performance/communication/wifi_perf/.gitignore create mode 100644 performance/communication/wifi_perf/AppScope/app.json5 create mode 100644 performance/communication/wifi_perf/AppScope/resources/base/element/string.json create mode 100644 performance/communication/wifi_perf/AppScope/resources/base/media/app_icon.png create mode 100644 performance/communication/wifi_perf/README_CN.md create mode 100644 performance/communication/wifi_perf/build-profile.json5 create mode 100644 performance/communication/wifi_perf/entry/.gitignore create mode 100644 performance/communication/wifi_perf/entry/build-profile.json5 create mode 100644 performance/communication/wifi_perf/entry/hvigorfile.ts create mode 100644 performance/communication/wifi_perf/entry/obfuscation-rules.txt create mode 100644 performance/communication/wifi_perf/entry/oh-package.json5 create mode 100644 performance/communication/wifi_perf/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 performance/communication/wifi_perf/entry/src/main/ets/pages/Index.ets create mode 100644 performance/communication/wifi_perf/entry/src/main/module.json5 create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/base/element/color.json create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/base/element/string.json create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/base/media/icon.png create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/base/media/startIcon.png create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/base/profile/main_pages.json create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/en_US/element/string.json create mode 100644 performance/communication/wifi_perf/entry/src/main/resources/zh_CN/element/string.json create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/module.json5 create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/color.json create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/string.json create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 performance/communication/wifi_perf/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 performance/communication/wifi_perf/entry/src/test/List.test.ets create mode 100644 performance/communication/wifi_perf/entry/src/test/LocalUnit.test.ets create mode 100644 performance/communication/wifi_perf/hvigor/hvigor-config.json5 create mode 100644 performance/communication/wifi_perf/hvigor/hvigor-wrapper.js create mode 100644 performance/communication/wifi_perf/hvigorfile.ts create mode 100644 performance/communication/wifi_perf/hvigorw create mode 100644 performance/communication/wifi_perf/hvigorw.bat create mode 100644 performance/communication/wifi_perf/oh-package-lock.json5 create mode 100644 performance/communication/wifi_perf/oh-package.json5 create mode 100644 performance/communication/wifi_perf/screenshots/home.png create mode 100644 scenario/MyMusic/screenshots/home.png diff --git a/README.md b/README.md index 0aa519fd..45177ba3 100644 --- a/README.md +++ b/README.md @@ -11,49 +11,233 @@ ![test_content](figures/test_content.png) -已开发的内容: -1. 通过模拟用户使用场景开发测试的应用,例如:音乐、购物、办公等测试应用; -2. ArkUI组件一致性测试Benchmark; -3. ArkTS编译器性能测试Benchmark; - - #### 目录结构 ``` -├── figures //readme 图片资源 +├── function //功能测试目录 +│ └── communication //子系统 +│ └── wifi //Wi-Fi模块功能测试应用 +│ └── bluetooth //蓝牙模块功能测试应用 +│ └── multimedia //子系统 +│ └── audio //音频模块功能测试应用 ├── performance //性能测试目录 -│ └── arkts //模块 -| └── benchmark //编译器Benchmark用例 -│ └── arkui //模块 -| └── benchMark //组件BenchMark用例 -├── scenario //用户场景测试应用 -│ └── arkui //模块 -│ └── MyMap //地图测试hap -│ └── MyMusic //音乐测试hap -│ └── MyNews //新闻测试hap -│ └── MyShopping //购物测试hap -│ └── MyWps //办公测试hap -└── ... //其他测试类型 -└── release //测试用例版本发布 +│ └── arkts //子系统 +│ └── benchmark_arkts_compiler //编译器语言Benchmark用例 +│ └── arkui //子系统 +│ └── benchmark_component //组件性能BenchMark用例 +│ └── benchmark_pipeline //组件性能BenchMark工具 +│ └── communication //子系统 +│ └── wifi_perf //Wi-Fi模块性能测试应用 +│ └── bluetooth_perf //蓝牙模块性能测试应用 +│ └── multimedia //子系统 +│ └── audio_perf //音频模块性能测试应用 +├── scenario //场景测试应用 +│ └── MyMap //地图测试hap +│ └── MyMusic //音乐测试hap +│ └── MyNews //新闻测试hap +│ └── MyShopping //购物测试hap +│ └── MyDoc //办公测试hap +│ └── MyChat //社交测试hap +│ └── MyGame //游戏测试hap +└── figures //readme 图片资源 └── readme //说明文档 ``` -#### 编码规范 +#### 测试应用示例 + + | Wi-Fi功能测试 | Wi-Fi性能测试 | 音乐场景测试应用 | 新闻场景测试应用 | +|----------------------|--------------------------------|-----------------------------|-----------------------| + | ![image](function/communication/wifi/screenshots/home.png) | ![image](performance/communication/wifi_perf/screenshots/home.png) | ![image](scenario/MyMusic/screenshots/home.png) | ![image](scenario/MyNews/screenshots/home.png) | + +#### 测试范围和目标介绍 + +1. 测试范围 + +测试规范参考:[OpenHarmony应用质量要求](https://www.openharmony.cn/certification/moreStandard) + +集成测试仓规划的测试内容如下: + +功能测试 + +| 子系统 | 测试模块 | +|------|-------| +| 设备管理 | 系统信息 | +| 多模输入 | 触摸/手势 | +| 通信 | Wi-Fi | +| 通信 | 蓝牙 | +| 通信 | 网络传输 | +| 媒体 | 音频 | +| 媒体 | 视频 | +| 媒体 | 图片 | +| 文件 | 文件读写 | + +场景测试 + +| 编号 | 场景 | +|-----|------| +| 1 | 音乐播放 | +| 2 | 社交软件 | +| 3 | 办公软件 | +| 4 | 电商购物 | +| 5 | 新闻资讯 | + + +性能测试 + + +| 编号 | 测试项 | +|----|----------| +| 1 | 应用启动、切换 | +| 2 | 文件IO性能 | +| 3 | 网络传输性能 | +| 4 | 图形显示性能 | +| 5 | 音视频编解码性能 | +| 6 | 游戏性能 | +| 7 | 功耗 | + +2. 测试目标 + +Release版本发布前需要通过功能测试和场景测试 + +Release版本建议基于官方硬件平台进行性能测试 + +测试项细节参考各用例模块说明 + +#### 使用说明 + +用例测试使用步骤: +1. 下载代码 + +从代码仓同步代码 + +2. 编译构建 + +使用DevEco编译测试hap + +手动测试直接在DevEco中运行test工程测试用例即可。 + +自动化测试环境搭建继续按后续步骤操作: + +3. 环境准备 +测试环境创建四个目录和一个执行脚本: + + config//json配置文件 + + tools//执行所需的工具 + + testcases//测试应用hap + + report//报告输出目录 + + run.bat//执行脚本 + +将编译好的hap文件拷贝到testcases目录。 + +配置文件预置模板: + +myShopping.json + +``` +{ + "description": "Configuration for myshopping Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "180000", + "bundle-name": "ohos.samples.myShopping", + "module-name": "entry_test", + "shell-timeout": "60000", + "testcase-timeout": 30000 + }, + "kits": [ + { + "test-file-name": [ + "myShopping.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, { + "type": "ShellKit", + "run-command": [ + "power-shell wakeup", + "power-shell setmode 602" + ] + }] +} +``` + +参展这个模板,给其他应用的测试hap创建json文件,创建后修改bundle-name,module-name,test-file-name ,这里注意应用的bundle-name的这个名称最好和hap的文件名一致,方便检索修改 + +例如:myMusic.json + +修改: + +``` +template_data['driver']['bundle-name'] = f'ohos.samples.{文件名}' +template_data['driver']['bundle-name'] = 'entry_test' +template_data['kits']['test-file-name'] = 'myShopping.hap' +``` + +``` +{ + "description": "Configuration for myshopping Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "180000", + "bundle-name": "ohos.samples.myMusic", + "module-name": "entry_test", + "shell-timeout": "60000", + "testcase-timeout": 30000 + }, + "kits": [ + { + "test-file-name": [ + "myShopping.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, { + "type": "ShellKit", + "run-command": [ + "power-shell wakeup", + "power-shell setmode 602" + ] + }] +} +``` + +4. 执行用例 + + run -l 包名 + +5. 查看报告 + + 查看report输出的报告。 + + + +其他细节参考各测试应用使用说明 + +#### 编码规范 +应用代码规范参考Sample仓要求: 1. 代码规范 + + 查看[代码规范](https://gitee.com/openharmony/applications_app_samples/blob/master/CodeCommitChecklist.md) 2. 工程结构规范 + + 查看[工程结构规范](https://gitee.com/openharmony/applications_app_samples/blob/master/CodeCommitChecklist.md) 3. README编写规范 -4. 用例设计规范 -#### 使用说明 + 查看[README编写规范](https://gitee.com/openharmony/applications_app_samples/blob/master/CodeCommitChecklist.md) +4. 用例设计规范 -参考各子模块使用说明 + 查看[用例设计规范](docs/CaseRule.md) #### 参与贡献 -可以参与共建的方向: -1. 黑盒功能测试:WIFI、蓝牙、音频、视频等; -2. 行业场景测试:金融、PC、车机等; -3. 专项工具:应用安全性、应用性能等; +上述规划中的测试内容,包括不限于: +1. 功能测试:Wi-Fi、蓝牙、音频、视频等; +2. 场景测试:办公、媒体、游戏等; +3. 专项工具:应用性能、安全性、稳定性等; 有任何关于本仓的想法和问题请联系管理员或者提issue问题单。 diff --git a/docs/CaseRule.md b/docs/CaseRule.md new file mode 100644 index 00000000..e50fa4ae --- /dev/null +++ b/docs/CaseRule.md @@ -0,0 +1,173 @@ +# 用例设计指导 + + + +概要:测试应用的测试执行、测试结果、测试报告均根据用例设计呈现。 + +用例定义的内容包含:测试项、测试数据、测试逻辑、预期结果等。 + +依托应用进行多维度测试,是区别于兼容性、单元测试的黑盒测试,测试目的为验证操作系统功能,用户的真实使用场景,以真实的数据流、完整的应用功能为基础,实现北向应用开发支撑能力的整体测试。 + + +## 测试用例分级 + +0级 冒烟 不多于1% + +1级 基本 不多于5% + +2级 重要 不多于20% + +3级 一般 不少于50% + +4级 生僻 不多于20% + +## 测试套命名规范: + +测试套命名举例: + +类别_模块/应用_功能集/页面 + +scenario_myMusic_Playback + + +## 用例名称规范: +用例名称举例: + +分类_模块/应用_功能点_编号 + +scenario_myMusic_Player_001 + +## 测试用例分类: + +### Ui测试 + +聚焦用户常用的应用操作,不做基础的组件属性样式等测试(兼容性已覆盖) + +分以下几个模块: + +1、滑动(可滑动的窗口或者页面) + +2、点击(所有需要响应的按钮、标签、图像等) + +3、触摸(同点击) + +4、动画(页面内动效测试) + + +### 应用功能测试 + +对应用成块的功能进行测试 + +例如:资讯、购物类应用测测试项可能包括 + +1、发布文章 + +2、收藏、点赞、评论 + +3、加入购物车 + +4、联系客服 + + + +### 应用性能测试 + +对应用的核心场景使用性能进行测试 + +#### 测试项 + +①应用启动时间 + +②应用界面帧率 + +③应用内存占用 + +④应用CPU占用 + +#### 术语 + +##### 冷启动完成时延 + +应用首次启动时间,即系统从开始处理应用组件到完成运行进入主界面的时间。 + +##### 热启动完成时延 + +应用非首次启动时间,即打开应用,并将应用置于后台后再次从桌面点击启动的时间。 + +##### 启动响应时延 + +启动响应时延是从触发应用启动开始,到应用打开动效的首帧之间的时间。 + +##### 帧率( Frame Per Second,简称FPS) + +FPS指应用每秒渲染的帧数。 + +### 应用稳定性测试 + +对应用运行的稳定性进行测试 + +#### 测试方法 + +使用wukong稳定性压测工具进行压力测试,通过执行后faultlog中捕获的异常数量来评价系统上的应用运行稳定性; + +#### 稳定性衡量指标 + +##### 应用稳定性故障 + +应用稳定性故障包含两种类型的具体故障,即“应用崩溃”和“应用冻屏”。故应用稳定性故障总数为两类具体故障数之和 + +###### 应用崩溃 + +指在用户正常操作的情况下,某个应用突然出现闪退、异常停止运行等完全不可用 的情况。应用崩溃包含两类具体故障:Cpp Crash、JS Crash,主要差异是C++代码还是JS/TS代码出现的异常 + +###### 应用冻屏 + +指整个软件系统是正常的,某个应用出现屏幕卡住不动或一段时间内操作未及时响应的故障,也即用户俗称的应用死机、卡死、卡屏、无响应问题。对应的具体故障为App Freeze + +###### 发生原因 + +内存资源异常: + +①内存泄露 + +指在用户正常操作的情况下,应用对内存使用不当,导致有限的内存资源申请超上限或使用完未被释放。内存泄漏会引起应用崩溃、应用冻屏等稳定性故障 + +②踩内存 + +指在用户正常操作的情况下,程序指令非法访问内存地址,也称为内存越界。踩内存会造成应用崩溃、应用冻屏等稳定性故障。 + +##### MTBF + +MTBF(Mean Time Between Failure)即平均无故障工作时间(单位:h),是衡量一个产品(尤其是电器产品)的可靠性指标 + +### 应用场景测试: + +依托应用进行特定的场景测试,每个场景需要包含用户所有在该场景下所需的操作,对应用的功能进行场景化的复合测试 + +以这些场景为例子: + +蓝牙(搜索发现,配对,连接,断开,切换) + +wifi(搜索发现,输入密码,连接,断开,切换) + +听音乐(拉起应用,选择歌单,选中音乐,播放,下一首/上一首 切换,暂停,恢复播放,停止,随机播放,单曲循环) + +购物(浏览商品,查看商品详细信息,客服交互,) + +拍照、录像(图库管理,相机操作) + +文件管理(新建、读取、写入、删除) + + + +## 生产报告检索规则: + +一级:分类 + +二级:模块 + + + + + + diff --git a/function/communication/wifi/.gitignore b/function/communication/wifi/.gitignore new file mode 100644 index 00000000..fbabf771 --- /dev/null +++ b/function/communication/wifi/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/function/communication/wifi/AppScope/app.json5 b/function/communication/wifi/AppScope/app.json5 new file mode 100644 index 00000000..e0ee6eae --- /dev/null +++ b/function/communication/wifi/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.communication_wifi", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/function/communication/wifi/AppScope/resources/base/element/string.json b/function/communication/wifi/AppScope/resources/base/element/string.json new file mode 100644 index 00000000..892f7076 --- /dev/null +++ b/function/communication/wifi/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "communication_wifi" + } + ] +} diff --git a/function/communication/wifi/AppScope/resources/base/media/app_icon.png b/function/communication/wifi/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/function/communication/wifi/README_CN.md b/function/communication/wifi/README_CN.md new file mode 100644 index 00000000..f87704b1 --- /dev/null +++ b/function/communication/wifi/README_CN.md @@ -0,0 +1,66 @@ +# ArkCompiler ts-swift workload mix-case + +### 介绍 + +测试Wi-Fi基本功能: + +| 用例 | +|--------| +| 打开Wi-Fi | +| 发现SSID | +| 连接(无密码) | +| 断开 | +| 重新连接(无密码) | +| 重新连接(WEP) | +| 连接(WPA/WPA2) | +| 重新连接(WPA/WPA2) | +| 连接(WPA-PSK) | +| 重新连接(WPA-PSK) | +| 访问网站 | +| 下载文件 | +| 自动连接 | +| 取消自动连接 | +| 删除记录后重新连接(有密码) | +| 连接不广播SSID | +| 关闭Wi-Fi | + +### 效果预览 + +| 主页 | +|--------------------------------| +| ![image](screenshots/home.png) | + + + +``` +. +├── README_CN.md +└── pages + ├── Index.ets //测试入口页面 +└── cases + ├── enable.ets // 用例 + ├── disable.ets + ├── scan.ets + └── connect.ets + └── transmit.ets +``` +### 相关权限 +无 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568; +2. 本示例仅支持API10版本SDK,版本号:4.0.10.13; +3. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600); + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo function/communiction_wifi/ > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git +git pull origin master +``` diff --git a/function/communication/wifi/build-profile.json5 b/function/communication/wifi/build-profile.json5 new file mode 100644 index 00000000..d7ddeff7 --- /dev/null +++ b/function/communication/wifi/build-profile.json5 @@ -0,0 +1,36 @@ +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/.gitignore b/function/communication/wifi/entry/.gitignore new file mode 100644 index 00000000..e2713a27 --- /dev/null +++ b/function/communication/wifi/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/function/communication/wifi/entry/build-profile.json5 b/function/communication/wifi/entry/build-profile.json5 new file mode 100644 index 00000000..197e83c1 --- /dev/null +++ b/function/communication/wifi/entry/build-profile.json5 @@ -0,0 +1,31 @@ +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/hvigorfile.ts b/function/communication/wifi/entry/hvigorfile.ts new file mode 100644 index 00000000..c6edcd90 --- /dev/null +++ b/function/communication/wifi/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/function/communication/wifi/entry/obfuscation-rules.txt b/function/communication/wifi/entry/obfuscation-rules.txt new file mode 100644 index 00000000..985b2aeb --- /dev/null +++ b/function/communication/wifi/entry/obfuscation-rules.txt @@ -0,0 +1,18 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README.md + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope \ No newline at end of file diff --git a/function/communication/wifi/entry/oh-package.json5 b/function/communication/wifi/entry/oh-package.json5 new file mode 100644 index 00000000..248c3b75 --- /dev/null +++ b/function/communication/wifi/entry/oh-package.json5 @@ -0,0 +1,10 @@ +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": {} +} + diff --git a/function/communication/wifi/entry/src/main/ets/entryability/EntryAbility.ets b/function/communication/wifi/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..1c7aa63a --- /dev/null +++ b/function/communication/wifi/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,43 @@ +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/function/communication/wifi/entry/src/main/ets/pages/Index.ets b/function/communication/wifi/entry/src/main/ets/pages/Index.ets new file mode 100644 index 00000000..d4c22a06 --- /dev/null +++ b/function/communication/wifi/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,42 @@ +@Entry +@Component +struct Index { + @State message: string = 'Communication Wi-Fi Function Test'; + private cases: string[] = ['打开Wi-Fi','发现SSID','关闭Wi-Fi','连接(无密码)', '断开', '重新连接(无密码)', '连接(WEP)','重新连接(WEP)', + '连接(WPA/WPA2)', '重新连接(WPA/WPA2)','连接(WPA-PSK)','重新连接(WPA-PSK)', + '访问网站', '下载文件','自动连接','取消自动连接','删除记录后重新连接(有密码)','连接不广播SSID'] + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(20) + .fontWeight(FontWeight.Bold) + .margin(20) + Button('执行全部用例') + .fontSize(20) + .fontWeight(FontWeight.Bold) + .width('50%') + .margin(20) + List({ space: 20, initialIndex: 0 }) { + ForEach(this.cases, (item: string) => { + ListItem() { + Text(item) + .width('100%') + .height(30) + .fontSize(16) + .textAlign(TextAlign.Center) + .borderRadius(10) + .borderWidth(1) + .borderColor(Color.Blue) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + }.width('90%') + .scrollBar(BarState.Off) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/main/module.json5 b/function/communication/wifi/entry/src/main/module.json5 new file mode 100644 index 00000000..f2ff2c7f --- /dev/null +++ b/function/communication/wifi/entry/src/main/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/main/resources/base/element/color.json b/function/communication/wifi/entry/src/main/resources/base/element/color.json new file mode 100644 index 00000000..3c712962 --- /dev/null +++ b/function/communication/wifi/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/main/resources/base/element/string.json b/function/communication/wifi/entry/src/main/resources/base/element/string.json new file mode 100644 index 00000000..f9459551 --- /dev/null +++ b/function/communication/wifi/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/main/resources/base/media/icon.png b/function/communication/wifi/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/function/communication/wifi/entry/src/main/resources/base/media/startIcon.png b/function/communication/wifi/entry/src/main/resources/base/media/startIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..366f76459ffd4494ec40d0ddd5c59385b9c5da11 GIT binary patch literal 4351 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 literal 0 HcmV?d00001 diff --git a/function/communication/wifi/entry/src/main/resources/base/profile/main_pages.json b/function/communication/wifi/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 00000000..1898d94f --- /dev/null +++ b/function/communication/wifi/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/function/communication/wifi/entry/src/main/resources/en_US/element/string.json b/function/communication/wifi/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 00000000..f9459551 --- /dev/null +++ b/function/communication/wifi/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/main/resources/zh_CN/element/string.json b/function/communication/wifi/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 00000000..597ecf95 --- /dev/null +++ b/function/communication/wifi/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/ets/test/Ability.test.ets b/function/communication/wifi/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 00000000..8aa37497 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import hilog from '@ohos.hilog'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/ets/test/List.test.ets b/function/communication/wifi/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 00000000..794c7dc4 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/ets/testability/TestAbility.ets b/function/communication/wifi/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 00000000..9484761c --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,50 @@ +import UIAbility from '@ohos.app.ability.UIAbility'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import hilog from '@ohos.hilog'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import window from '@ohos.window'; +import Want from '@ohos.app.ability.Want'; +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; + +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/ets/testability/pages/Index.ets b/function/communication/wifi/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 00000000..423b4276 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/function/communication/wifi/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets new file mode 100644 index 00000000..917d27a5 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets @@ -0,0 +1,47 @@ +import hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import Want from '@ohos.app.ability.Want'; + +let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator | undefined = undefined +let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs | undefined = undefined + +async function onAbilityCreateCallback() { + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err : Error) { + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + const bundleName = abilityDelegatorArguments.bundleName; + const testAbilityName = 'TestAbility'; + let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + const want: Want = { + bundleName: bundleName, + abilityName: testAbilityName + }; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + abilityDelegator.startAbility(want, (err, data) => { + hilog.info(0x0000, 'testTag', 'startAbility : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'startAbility : data : %{public}s',JSON.stringify(data) ?? ''); + }) + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/module.json5 b/function/communication/wifi/entry/src/ohosTest/module.json5 new file mode 100644 index 00000000..4fc97017 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/function/communication/wifi/entry/src/ohosTest/resources/base/element/color.json b/function/communication/wifi/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 00000000..3c712962 --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/resources/base/element/string.json b/function/communication/wifi/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 00000000..65d8fa5a --- /dev/null +++ b/function/communication/wifi/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/function/communication/wifi/entry/src/ohosTest/resources/base/media/icon.png b/function/communication/wifi/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 zcmX|G1ymHk)?T_}Vd;>R?p|tHQo6fg38|$UVM!6BLrPFWk?s;$LOP{GmJpBl$qoSA!PUg~PA65-S00{{S`XKG6NkG0RgjEntPrmV+?0|00mu7;+5 zrdpa{2QLqPJ4Y{j7=Mrl{BaxrkdY69+c~(w{Fv-v&aR%aEI&JYSeRTLWm!zbv;?)_ ziZB;fwGbbeL5Q}YLx`J$lp~A09KK8t_z}PZ=4ZzgdeKtgoc+o5EvN9A1K1_<>M?MBqb#!ASf&# zEX?<)!RH(7>1P+j=jqG(58}TVN-$psA6K}atCuI!KTJD&FMmH-78ZejBm)0qc{ESp z|LuG1{QnBUJRg_E=h1#XMWt2%fcoN@l7eAS!Es?Q+;XsRNPhiiE=@AqlLkJzF`O18 zbsbSmKN=aaq8k3NFYZfDWpKmM!coBU0(XnL8R{4=i|wi{!uWYM2je{U{B*K2PVdu&=E zTq*-XsEsJ$u5H4g6DIm2Y!DN`>^v|AqlwuCD;w45K0@eqauiqWf7l&o)+YLHm~|L~ z7$0v5mkobriU!H<@mVJHLlmQqzQ3d6Rh_-|%Yy2li*tHO>_vcnuZ7OR_xkAIuIU&x z-|8Y0wj|6|a6_I(v91y%k_kNw6pnkNdxjqG8!%Vz_d%c_!X+6-;1`GC9_FpjoHev5fEV7RhJ>r=mh-jp$fqbqRJ=obwdgLDVP5+s zy1=_DWG0Y-Jb3t^WXmkr(d9~08k-|#Ly zaNOmT(^9tIb&eb4%CzIT zAm3CUtWSr1t4?h1kk#NBi{U|pJslvME{q|_eS^3En>SOqSxyuN1x;Is@8~m?*>}** znrRFArP!K_52RpX*&JHMR<^lVdm8ypJ}0R(SD(51j;6@ni$6bQ+2XL+R^|NnSp5}(kzvMZ^(@4fD_{QVu$(&K6H|C37TG1Am9Re{<<3gd zh@`>;BqkXMW&p0T6rt|iB$)~CvFe(XC)F9WgAZn*0@t$oZo;!*}r@_`h?KKH&6A@3= zISXoQB+~`op>NP-buiA*^0n{@i{_?MRG)&k)c)k_F+-2Lud!S9pc+i`s74NpBCaGF zXN+pHkubw*msGBTY27BKHv)RRh3;nMg4&$fD_6X9Vt~;_4D+5XPH~#Kn-yjcy!$}1 zigv#FNY>TqMhtIBb@UoF!cE~Q8~;!Pek>SQQwHnHuWKoVBosAiOr}q>!>aE*Krc)V zBUMEcJ5NU0g8}-h6i1zpMY9>m4ne?=U2~`w7K7Q0gB_=p@$5K7p6}thw z-~3dMj?YNX2X$lZ+7ngQ$=s}3mizNN@kE%OtB)?c&i~2L55z8^=yz;xMHLmlY>&Q# zJj?!)M#q_SyfkQh)k?j8IfLtB)ZCp|*vf4_B zos?73yd^h-Ac+;?E4*bpf=o*^3x3-`TVjbY4n6!EN10K6o@fxdyps05Vo3PU)otB} z`3kR+2w7_C#8Z!q`J)p{Vh!+m9-UP!$STp+Hb}}#@#_u^SsUQg<}59< zTvH3%XS4G+6FF^(m6bVF&nSUIXcl;nw{=H$%fgeJ>CgDYiLdpDXr{;-AnG z8dvcrHYVMI&`R6;GWekI@Ir3!uo)oz4^{6q0m^}@f2tM9&=YHNi6-?rh0-{+k@cQm zdp`g#YdQn%MDVg2GR>wZ`n2<0l4)9nx1Wfr&!Dvz=bPwU!h2S?ez6MVc5APE4-xLB zi&W9Q8k2@0w!C53g?iAIQ}~p*3O(@zja6KQ=M3zfW*_6o5SwR-)6VBh~m7{^-=MC-owYH5-u40a}a0liho3QZZ5L{bS_xM1)4}19)zTU$$MY zq3eZML1WC{K%YFd`Be0M-rkO^l?h{kM{$2oK1*A@HVJ57*yhDkUF!2WZ&oA4Y-sK( zCY69%#`mBCi6>6uw(x4gbFaP0+FD*JKJ-q!F1E?vLJ+d35!I5d7@^eU?(CS|C^tmI5?lv@s{{*|1F zFg|OzNpZ0hxljdjaW%45O0MOttRrd(Z?h{HYbB-KFUx&9GfFL3b8NwZ$zNu)WbBD` zYkj$^UB5%3Pj1MDr>S2Ejr9pUcgA!;ZG!@{uAy12)vG=*^9-|dNQBc8&`oxBlU~#y zs!anJX&T?57Jdr^sb>e+V`MVfY>Y0ESg7MG<7W0g&bR-ZYzzZ%2H&Etcp zcd6QeXO1D!5A#zM0lx*GH}`M)2~ZFLE;sP^RSB5wVMNfiZXPd(cmO>j=OSA3`o5r& zna(|^jGXbdN7PK)U8b7^zYtYkkeb%<%F~=OqB~kXMQkq}ii|skh@WSRt>5za;cjP0 zZ~nD%6)wzedqE}BMLt~qKwlvTr33))#uP~xyw#*Eaa|DbMQ_%mG0U8numf8)0DX`r zRoG2bM;#g|p-8gWnwRV5SCW0tLjLO&9Z?K>FImeIxlGUgo0Zk`9Qzhj1eco~7XZy+hXc@YF&ZQ=? zn*^1O56yK^x{y}q`j7}blGCx%dydV!c7)g~tJzmHhV=W~jbWRRR{1<^oDK+1clprm zz$eCy7y9+?{E|YgkW~}}iB#I4XoJ*xr8R?i_Hv$=Cof5bo-Nj~f`-DLebH}&0% zfQj9@WGd4;N~Y?mzQsHJTJq6!Qzl^-vwol(+fMt#Pl=Wh#lI5Vmu@QM0=_r+1wHt` z+8WZ~c2}KQQ+q)~2Ki77QvV&`xb|xVcTms99&cD$Zz4+-^R4kvUBxG8gDk7Y`K*)JZ^2rL(+ZWV~%W(@6 z)0bPArG#BROa_PHs~&WplQ_UIrpd)1N1QGPfv!J(Z9jNT#i%H?CE6|pPZb9hJ1JW4 z^q;ft#!HRNV0YgPojzIYT`8LuET2rUe-J|c!9l4`^*;4WtY@Ew@pL>wkjmMgGfN7 ze}}GtmU0@<_#08~I-Suk=^*9GLW=H4xhsml;vAV{%hy5Eegl@!6qKqbG024%n2HHw zCc@ivW_$@5ZoHP70(7D+(`PvgjW1Pd`wsiuv-aCukMrafwDm)B!xXVy*j2opohhoU zcJz%ADmj>i3`-3-$7nQKBQQuGY;2Qt&+(L~C>vSGFj5{Mlv?T_^dql;{zkpe4R1}R z%XfZyQ}wr*sr>jrKgm*PWLjuVc%6&&`Kbf1SuFpHPN&>W)$GmqC;pIoBC`=4-hPY8 zT*>%I2fP}vGW;R=^!1be?ta2UQd2>alOFFbVl;(SQJ4Jk#)4Z0^wpWEVvY4=vyDk@ zqlModi@iVPMC+{?rm=4(n+<;|lmUO@UKYA>EPTS~AndtK^Wy^%#3<;(dQdk3WaUkRtzSMC9}7x2||CNpF#(3T4C)@ z$~RWs`BNABKX|{cmBt>Q=&gkXl&x!!NK_%5hW0LS)Z4PB>%sV?F-{Wyj#s7W%$F{D zXdK^Fp3wvy+48+GP6F_|^PCRx=ddcTO3sG;B23A49~Qaw31SZ0Rc~`r4qqt%#OGW{ zCA_(LG5^N>yzUn&kAgVmxb=EA8s&tBXC}S1CZ(KoW)(%^JjLTPo^fs`Va;`=YlVPgmB$!yB}<(4ym6OeZ3xAJJ#;)2+B%p3P1Wt+d$eo`vz`T zXfUP2))kBDPoscH;Jc7I3NU<({|@wM$&GaDt`n7WLgIY3IA7A6-_R?z8N3mz|}*i z(zl5ot--Oq@f2-nv{X(ujT2T(k1vY_qh93pK@>H-qc%2Xta)IP0Q%zt%bqYgI`o!wv!0QerB`nCN^1n|@$sVOQ!V0teVG!I z_fD%JvfDeT1cK#-{o6Gv7}& zY0#NWin~kVaf$aufV&;63Hbs|`QVZWpDX6IMk1Hj2G}fiH9e-^6u2zf^FIr^BwD<6zjw63+{yUe8PUFvk8v{sJ=R{d#`O!sz`Q13~< zPT$JS(w=yQfU2`zPCNfSw=&zup@DXc(98afjhv@1w_f!m2Z>rMJ19AB&dB%P#Ls3b z=lK7OILM+SQ&VEd=1GN6o&>YVVtIzoZ%=Z_SdqJN2}E43{bE`>w+A;=y->@^k{oCC z$F*WTY&?34;kfyFV?b*Xb1Pq`Z=%OgwEg)Rz)tx=`f%5#w_INP=x&z5!jI;#;N$ma zhO)+MDm;SxOEVL15; zGq(v2pL3&P1Sl)8P*;G-fd{l1QJsv@e@d8)1PK4w2m*M%V3j-V~L^$i|&C@b?D?9tfwE{B^}Z$k8e5FmQ>v7Xz)sG32g9t}YBt zyR$+*_00RmPx+0mW+vVG4mxd(n$(eQf3-w>JPl2UJpafrPaL5@2j}%{VE-) zBI%6Qpj*dsdH<;g!S!avA~bv^0E+ zfyJbSjPb+j;J52U)<|cIcntQBI2T#>2;tOxu{%D?kML476AErF(qN9hPva5Nkc@BF zC-tLF@3ZFb%Kpj)M<{)x*l|*Ia@ECeXo2E4h2f!aV=cHAhi_E_mfUth(sM4^hJq7B zQsGWqdZUm9S%F`$nQ*_#NcuD`&)Ek%_s{&^78{9Hm ztri&rYLOxgFdG>O@+XHy z9#;|&vBCPXH5Mon^I`jSuR$&~ZWtyB67ujzFSj!51>#C}C17~TffQ{c-!QFQkTQ%! zIR^b1`zHx|*1GU?tbBx23weFLz5H?y_Q%N&t$}k?w+``2A=aotj0;2v$~AL z{scF-cL{wsdrmPvf#a9OHyYLcwQD4Kcm)`LLwMh4WT~p29f7M!iafJSU`IV}QY5Wa z(n44-9oA}?J{a+ah*@31WTs#&J#o1`H98#6IQf;Wv0N_!);f&9g7o-k(lW5rWnDUR zQBFIRG+X=6NnsI@mxnwm;tf5;_Uxg?jZ8m-m0}&6+DA!qam(p$mN5R})yA_7m$q@| zFEd|dpS595rxQr-n#GjI5i-AhnUE>Cr;jpCqSrD~EwK_DqI^7%3#p5)%T_od!t3SOmH9MyXeeGO2(UQL;ax|x?Ncixmeo1=$ z{-);Au{*tfzOG?KQ~K|ak8-HQ?`Pekhe2WM(8s{xv-p>Zmu_6{G!-oE$7$mY`MOJorI=+mMx?H;`pr!;fVYz?5~yXBACruWB`Ph zZM}90_<^OBxIhyZ9BW$`>6JvO;%VFpqVr8|7t3~AmxYak6?`Pp#c;**_SYmi`&z23 z`p6_~ePvH)C6x-G9$hgL=eVALq`-AiamN>!3~Lxw&{H(b{B(7xSRm6<3<{%{yXiH# zos5Rv1L+8fUKJLo%P>4I&$}y { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/function/communication/wifi/hvigor/hvigor-config.json5 b/function/communication/wifi/hvigor/hvigor-config.json5 new file mode 100644 index 00000000..1a474900 --- /dev/null +++ b/function/communication/wifi/hvigor/hvigor-config.json5 @@ -0,0 +1,18 @@ +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/function/communication/wifi/hvigor/hvigor-wrapper.js b/function/communication/wifi/hvigor/hvigor-wrapper.js new file mode 100644 index 00000000..372eae8e --- /dev/null +++ b/function/communication/wifi/hvigor/hvigor-wrapper.js @@ -0,0 +1 @@ +"use strict";var u=require("path"),D=require("os"),e=require("fs"),t=require("crypto"),r=require("child_process"),n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},C={},F=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(C,"__esModule",{value:!0}),C.maxPathLength=C.isMac=C.isLinux=C.isWindows=void 0;const E=F(D),A="Windows_NT",o="Darwin";function a(){return E.default.type()===A}function c(){return E.default.type()===o}C.isWindows=a,C.isLinux=function(){return"Linux"===E.default.type()},C.isMac=c,C.maxPathLength=function(){return c()?1016:a()?259:4095},function(e){var t=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),r=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),i=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&t(D,u,e);return r(D,u),D};Object.defineProperty(e,"__esModule",{value:!0}),e.WORK_SPACE=e.HVIGOR_PROJECT_WRAPPER_HOME=e.HVIGOR_PROJECT_ROOT_DIR=e.HVIGOR_PROJECT_CACHES_HOME=e.HVIGOR_PNPM_STORE_PATH=e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=e.PROJECT_CACHES=e.HVIGOR_WRAPPER_TOOLS_HOME=e.HVIGOR_USER_HOME=e.DEFAULT_PACKAGE_JSON=e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME=e.PNPM=e.HVIGOR=e.NPM_TOOL=e.PNPM_TOOL=e.HVIGOR_ENGINE_PACKAGE_NAME=void 0;const F=i(D),E=i(u),A=C;e.HVIGOR_ENGINE_PACKAGE_NAME="@ohos/hvigor",e.PNPM_TOOL=(0,A.isWindows)()?"pnpm.cmd":"pnpm",e.NPM_TOOL=(0,A.isWindows)()?"npm.cmd":"npm",e.HVIGOR="hvigor",e.PNPM="pnpm",e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME="hvigor-config.json5",e.DEFAULT_PACKAGE_JSON="package.json",e.HVIGOR_USER_HOME=E.resolve(F.homedir(),".hvigor"),e.HVIGOR_WRAPPER_TOOLS_HOME=E.resolve(e.HVIGOR_USER_HOME,"wrapper","tools"),e.PROJECT_CACHES="project_caches",e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=E.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME,"node_modules",".bin",e.PNPM_TOOL),e.HVIGOR_PNPM_STORE_PATH=E.resolve(e.HVIGOR_USER_HOME,"caches"),e.HVIGOR_PROJECT_CACHES_HOME=E.resolve(e.HVIGOR_USER_HOME,e.PROJECT_CACHES),e.HVIGOR_PROJECT_ROOT_DIR=process.cwd(),e.HVIGOR_PROJECT_WRAPPER_HOME=E.resolve(e.HVIGOR_PROJECT_ROOT_DIR,e.HVIGOR),e.WORK_SPACE="workspace"}(i);var s={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.logInfoPrintConsole=l.logErrorAndExit=void 0,l.logErrorAndExit=function(u){u instanceof Error?console.error(u.message):console.error(u),process.exit(-1)},l.logInfoPrintConsole=function(u){console.log(u)};var B=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),d=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),f=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&B(D,u,e);return d(D,u),D};Object.defineProperty(s,"__esModule",{value:!0});var _=s.executeBuild=void 0;const p=f(e),O=f(u),h=l;_=s.executeBuild=function(u){const D=O.resolve(u,"node_modules","@ohos","hvigor","bin","hvigor.js");try{const u=p.realpathSync(D);require(u)}catch(e){(0,h.logErrorAndExit)(`Error: ENOENT: no such file ${D},delete ${u} and retry.`)}};var P={},v={};!function(u){var D=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(u,"__esModule",{value:!0}),u.hashFile=u.hash=u.createHash=void 0;const r=D(t),i=D(e);u.createHash=(u="MD5")=>r.default.createHash(u);u.hash=(D,e)=>(0,u.createHash)(e).update(D).digest("hex");u.hashFile=(D,e)=>{if(i.default.existsSync(D))return(0,u.hash)(i.default.readFileSync(D,"utf-8"),e)}}(v);var g={},m={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Unicode=void 0;class y{}R.Unicode=y,y.SPACE_SEPARATOR=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,y.ID_START=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,y.ID_CONTINUE=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Object.defineProperty(m,"__esModule",{value:!0}),m.JudgeUtil=void 0;const I=R;m.JudgeUtil=class{static isIgnoreChar(u){return"string"==typeof u&&("\t"===u||"\v"===u||"\f"===u||" "===u||" "===u||"\ufeff"===u||"\n"===u||"\r"===u||"\u2028"===u||"\u2029"===u)}static isSpaceSeparator(u){return"string"==typeof u&&I.Unicode.SPACE_SEPARATOR.test(u)}static isIdStartChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||I.Unicode.ID_START.test(u))}static isIdContinueChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||I.Unicode.ID_CONTINUE.test(u))}static isDigitWithoutZero(u){return/[1-9]/.test(u)}static isDigit(u){return"string"==typeof u&&/[0-9]/.test(u)}static isHexDigit(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};var N=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0}),g.parseJsonText=g.parseJsonFile=void 0;const b=N(e),S=N(D),w=N(u),H=m;var x;!function(u){u[u.Char=0]="Char",u[u.EOF=1]="EOF",u[u.Identifier=2]="Identifier"}(x||(x={}));let M,T,V,G,j,J,W="start",U=[],L=0,$=1,k=0,K=!1,z="default",q="'",Z=1;function X(u,D=!1){T=String(u),W="start",U=[],L=0,$=1,k=0,G=void 0,K=D;do{M=Q(),nu[W]()}while("eof"!==M.type);return G}function Q(){for(z="default",j="",q="'",Z=1;;){J=Y();const u=Du[z]();if(u)return u}}function Y(){if(T[L])return String.fromCodePoint(T.codePointAt(L))}function uu(){const u=Y();return"\n"===u?($++,k=0):u?k+=u.length:k++,u&&(L+=u.length),u}g.parseJsonFile=function(u,D=!1,e="utf-8"){const t=b.default.readFileSync(w.default.resolve(u),{encoding:e});try{return X(t,D)}catch(D){if(D instanceof SyntaxError){const e=D.message.split("at");if(2===e.length)throw new Error(`${e[0].trim()}${S.default.EOL}\t at ${u}:${e[1].trim()}`)}throw new Error(`${u} is not in valid JSON/JSON5 format.`)}},g.parseJsonText=X;const Du={default(){switch(J){case"/":return uu(),void(z="comment");case void 0:return uu(),eu("eof")}if(!H.JudgeUtil.isIgnoreChar(J)&&!H.JudgeUtil.isSpaceSeparator(J))return Du[W]();uu()},start(){z="value"},beforePropertyName(){switch(J){case"$":case"_":return j=uu(),void(z="identifierName");case"\\":return uu(),void(z="identifierNameStartEscape");case"}":return eu("punctuator",uu());case'"':case"'":return q=J,uu(),void(z="string")}if(H.JudgeUtil.isIdStartChar(J))return j+=uu(),void(z="identifierName");throw Eu(x.Char,uu())},afterPropertyName(){if(":"===J)return eu("punctuator",uu());throw Eu(x.Char,uu())},beforePropertyValue(){z="value"},afterPropertyValue(){switch(J){case",":case"}":return eu("punctuator",uu())}throw Eu(x.Char,uu())},beforeArrayValue(){if("]"===J)return eu("punctuator",uu());z="value"},afterArrayValue(){switch(J){case",":case"]":return eu("punctuator",uu())}throw Eu(x.Char,uu())},end(){throw Eu(x.Char,uu())},comment(){switch(J){case"*":return uu(),void(z="multiLineComment");case"/":return uu(),void(z="singleLineComment")}throw Eu(x.Char,uu())},multiLineComment(){switch(J){case"*":return uu(),void(z="multiLineCommentAsterisk");case void 0:throw Eu(x.Char,uu())}uu()},multiLineCommentAsterisk(){switch(J){case"*":return void uu();case"/":return uu(),void(z="default");case void 0:throw Eu(x.Char,uu())}uu(),z="multiLineComment"},singleLineComment(){switch(J){case"\n":case"\r":case"\u2028":case"\u2029":return uu(),void(z="default");case void 0:return uu(),eu("eof")}uu()},value(){switch(J){case"{":case"[":return eu("punctuator",uu());case"n":return uu(),tu("ull"),eu("null",null);case"t":return uu(),tu("rue"),eu("boolean",!0);case"f":return uu(),tu("alse"),eu("boolean",!1);case"-":case"+":return"-"===uu()&&(Z=-1),void(z="numerical");case".":case"0":case"I":case"N":return void(z="numerical");case'"':case"'":return q=J,uu(),j="",void(z="string")}if(void 0===J||!H.JudgeUtil.isDigitWithoutZero(J))throw Eu(x.Char,uu());z="numerical"},numerical(){switch(J){case".":return j=uu(),void(z="decimalPointLeading");case"0":return j=uu(),void(z="zero");case"I":return uu(),tu("nfinity"),eu("numeric",Z*(1/0));case"N":return uu(),tu("aN"),eu("numeric",NaN)}if(void 0!==J&&H.JudgeUtil.isDigitWithoutZero(J))return j=uu(),void(z="decimalInteger");throw Eu(x.Char,uu())},zero(){switch(J){case".":case"e":case"E":return void(z="decimal");case"x":case"X":return j+=uu(),void(z="hexadecimal")}return eu("numeric",0)},decimalInteger(){switch(J){case".":case"e":case"E":return void(z="decimal")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimal(){switch(J){case".":j+=uu(),z="decimalFraction";break;case"e":case"E":j+=uu(),z="decimalExponent"}},decimalPointLeading(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalFraction");throw Eu(x.Char,uu())},decimalFraction(){switch(J){case"e":case"E":return j+=uu(),void(z="decimalExponent")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimalExponent(){switch(J){case"+":case"-":return j+=uu(),void(z="decimalExponentSign")}if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentSign(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentInteger(){if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},hexadecimal(){if(H.JudgeUtil.isHexDigit(J))return j+=uu(),void(z="hexadecimalInteger");throw Eu(x.Char,uu())},hexadecimalInteger(){if(!H.JudgeUtil.isHexDigit(J))return eu("numeric",Z*Number(j));j+=uu()},identifierNameStartEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":break;default:if(!H.JudgeUtil.isIdStartChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},identifierName(){switch(J){case"$":case"_":case"‌":case"‍":return void(j+=uu());case"\\":return uu(),void(z="identifierNameEscape")}if(!H.JudgeUtil.isIdContinueChar(J))return eu("identifier",j);j+=uu()},identifierNameEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!H.JudgeUtil.isIdContinueChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},string(){switch(J){case"\\":return uu(),void(j+=function(){const u=Y(),D=function(){switch(Y()){case"b":return uu(),"\b";case"f":return uu(),"\f";case"n":return uu(),"\n";case"r":return uu(),"\r";case"t":return uu(),"\t";case"v":return uu(),"\v"}return}();if(D)return D;switch(u){case"0":if(uu(),H.JudgeUtil.isDigit(Y()))throw Eu(x.Char,uu());return"\0";case"x":return uu(),function(){let u="",D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());if(u+=uu(),D=Y(),!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());return u+=uu(),String.fromCodePoint(parseInt(u,16))}();case"u":return uu(),ru();case"\n":case"\u2028":case"\u2029":return uu(),"";case"\r":return uu(),"\n"===Y()&&uu(),""}if(void 0===u||H.JudgeUtil.isDigitWithoutZero(u))throw Eu(x.Char,uu());return uu()}());case'"':case"'":if(J===q){const u=eu("string",j);return uu(),u}return void(j+=uu());case"\n":case"\r":case void 0:throw Eu(x.Char,uu());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${Fu(u)}' in strings is not valid ECMAScript; consider escaping.`)}(J)}j+=uu()}};function eu(u,D){return{type:u,value:D,line:$,column:k}}function tu(u){for(const D of u){if(Y()!==D)throw Eu(x.Char,uu());uu()}}function ru(){let u="",D=4;for(;D-- >0;){const D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());u+=uu()}return String.fromCodePoint(parseInt(u,16))}const nu={start(){if("eof"===M.type)throw Eu(x.EOF);iu()},beforePropertyName(){switch(M.type){case"identifier":case"string":return V=M.value,void(W="afterPropertyName");case"punctuator":return void Cu();case"eof":throw Eu(x.EOF)}},afterPropertyName(){if("eof"===M.type)throw Eu(x.EOF);W="beforePropertyValue"},beforePropertyValue(){if("eof"===M.type)throw Eu(x.EOF);iu()},afterPropertyValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforePropertyName");case"}":Cu()}},beforeArrayValue(){if("eof"===M.type)throw Eu(x.EOF);"punctuator"!==M.type||"]"!==M.value?iu():Cu()},afterArrayValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforeArrayValue");case"]":Cu()}},end(){}};function iu(){const u=function(){let u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}return u}();if(K&&"object"==typeof u&&(u._line=$,u._column=k),void 0===G)G=u;else{const D=U[U.length-1];Array.isArray(D)?K&&"object"!=typeof u?D.push({value:u,_line:$,_column:k}):D.push(u):D[V]=K&&"object"!=typeof u?{value:u,_line:$,_column:k}:u}!function(u){if(u&&"object"==typeof u)U.push(u),W=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}}(u)}function Cu(){U.pop();const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}function Fu(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return`\\x${`00${D}`.substring(D.length)}`}return u}function Eu(u,D){let e="";switch(u){case x.Char:e=void 0===D?`JSON5: invalid end of input at ${$}:${k}`:`JSON5: invalid character '${Fu(D)}' at ${$}:${k}`;break;case x.EOF:e=`JSON5: invalid end of input at ${$}:${k}`;break;case x.Identifier:k-=5,e=`JSON5: invalid identifier character at ${$}:${k}`}const t=new Au(e);return t.lineNumber=$,t.columnNumber=k,t}class Au extends SyntaxError{}var ou={},au=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),cu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),su=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&au(D,u,e);return cu(D,u),D},lu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(ou,"__esModule",{value:!0}),ou.isFileExists=ou.offlinePluginConversion=ou.executeCommand=ou.getNpmPath=ou.hasNpmPackInPaths=void 0;const Bu=r,du=lu(e),fu=su(u),_u=i,pu=l;ou.hasNpmPackInPaths=function(u,D){try{return require.resolve(u,{paths:[...D]}),!0}catch(u){return!1}},ou.getNpmPath=function(){const u=process.execPath;return fu.join(fu.dirname(u),_u.NPM_TOOL)},ou.executeCommand=function(u,D,e){0!==(0,Bu.spawnSync)(u,D,e).status&&(0,pu.logErrorAndExit)(`Error: ${u} ${D} execute failed.See above for details.`)},ou.offlinePluginConversion=function(u,D){return D.startsWith("file:")||D.endsWith(".tgz")?fu.resolve(u,_u.HVIGOR,D.replace("file:","")):D},ou.isFileExists=function(u){return du.default.existsSync(u)&&du.default.statSync(u).isFile()};var Ou=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),hu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),Pu=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&Ou(D,u,e);return hu(D,u),D},vu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(P,"__esModule",{value:!0});var gu=P.initProjectWorkSpace=void 0;const mu=Pu(e),Ru=vu(D),yu=Pu(u),Iu=v,Nu=i,bu=g,Su=l,wu=ou;let Hu,xu,Mu;function Tu(u,D,e){return void 0!==e.dependencies&&(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,D.dependencies[u])===yu.normalize(e.dependencies[u])}function Vu(){const u=yu.join(Mu,Nu.WORK_SPACE);if((0,Su.logInfoPrintConsole)("Hvigor cleaning..."),!mu.existsSync(u))return;const D=mu.readdirSync(u);if(!D||0===D.length)return;const e=yu.resolve(Mu,"node_modules","@ohos","hvigor","bin","hvigor.js");mu.existsSync(e)&&(0,wu.executeCommand)(process.argv[0],[e,"--stop-daemon"],{});try{D.forEach((D=>{mu.rmSync(yu.resolve(u,D),{recursive:!0})}))}catch(D){(0,Su.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${u}.`)}}gu=P.initProjectWorkSpace=function(){if(Hu=function(){const u=yu.resolve(Nu.HVIGOR_PROJECT_WRAPPER_HOME,Nu.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME);mu.existsSync(u)||(0,Su.logErrorAndExit)(`Error: Hvigor config file ${u} does not exist.`);return(0,bu.parseJsonFile)(u)}(),Mu=function(u){let D;D=function(u){let D=u.hvigorVersion;if(D.startsWith("file:")||D.endsWith(".tgz"))return!1;const e=u.dependencies,t=Object.getOwnPropertyNames(e);for(const u of t){const D=e[u];if(D.startsWith("file:")||D.endsWith(".tgz"))return!1}if(1===t.length&&"@ohos/hvigor-ohos-plugin"===t[0])return D>"2.5.0";return!1}(u)?function(u){let D=`${Nu.HVIGOR_ENGINE_PACKAGE_NAME}@${u.hvigorVersion}`;const e=u.dependencies;if(e){Object.getOwnPropertyNames(e).sort().forEach((u=>{D+=`,${u}@${e[u]}`}))}return(0,Iu.hash)(D)}(u):(0,Iu.hash)(process.cwd());return yu.resolve(Ru.default.homedir(),".hvigor","project_caches",D)}(Hu),xu=function(){const u=yu.resolve(Mu,Nu.WORK_SPACE,Nu.DEFAULT_PACKAGE_JSON);return mu.existsSync(u)?(0,bu.parseJsonFile)(u):{dependencies:{}}}(),!(0,wu.hasNpmPackInPaths)(Nu.HVIGOR_ENGINE_PACKAGE_NAME,[yu.join(Mu,Nu.WORK_SPACE)])||(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion)!==xu.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]||!function(){function u(u){const D=null==u?void 0:u.dependencies;return void 0===D?0:Object.getOwnPropertyNames(D).length}const D=u(Hu),e=u(xu);if(D+1!==e)return!1;for(const u in null==Hu?void 0:Hu.dependencies)if(!(0,wu.hasNpmPackInPaths)(u,[yu.join(Mu,Nu.WORK_SPACE)])||!Tu(u,Hu,xu))return!1;return!0}()){Vu();try{!function(){(0,Su.logInfoPrintConsole)("Hvigor installing...");for(const u in Hu.dependencies)Hu.dependencies[u]&&(Hu.dependencies[u]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.dependencies[u]));const u={dependencies:{...Hu.dependencies}};u.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion);const D=yu.join(Mu,Nu.WORK_SPACE);try{mu.mkdirSync(D,{recursive:!0});const e=yu.resolve(D,Nu.DEFAULT_PACKAGE_JSON);mu.writeFileSync(e,JSON.stringify(u))}catch(u){(0,Su.logErrorAndExit)(u)}(function(){const u=["config","set","store-dir",Nu.HVIGOR_PNPM_STORE_PATH],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)})(),function(){const u=["install"],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)}(),(0,Su.logInfoPrintConsole)("Hvigor install success.")}()}catch(u){Vu()}}return Mu};var Gu={};!function(t){var C=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),F=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),E=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&C(D,u,e);return F(D,u),D},A=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.executeInstallPnpm=t.isPnpmInstalled=t.environmentHandler=t.checkNpmConifg=t.PNPM_VERSION=void 0;const o=r,a=E(e),c=A(D),s=E(u),B=i,d=l,f=ou;t.PNPM_VERSION="7.30.0",t.checkNpmConifg=function(){const u=s.resolve(B.HVIGOR_PROJECT_ROOT_DIR,".npmrc"),D=s.resolve(c.default.homedir(),".npmrc");if((0,f.isFileExists)(u)||(0,f.isFileExists)(D))return;const e=(0,f.getNpmPath)(),t=(0,o.spawnSync)(e,["config","get","prefix"],{cwd:B.HVIGOR_PROJECT_ROOT_DIR});if(0!==t.status||!t.stdout)return void(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.");const r=s.resolve(`${t.stdout}`.replace(/[\r\n]/gi,""),".npmrc");(0,f.isFileExists)(r)||(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.")},t.environmentHandler=function(){process.env["npm_config_update-notifier"]="false"},t.isPnpmInstalled=function(){return!!a.existsSync(B.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH)&&(0,f.hasNpmPackInPaths)("pnpm",[B.HVIGOR_WRAPPER_TOOLS_HOME])},t.executeInstallPnpm=function(){(0,d.logInfoPrintConsole)(`Installing pnpm@${t.PNPM_VERSION}...`);const u=(0,f.getNpmPath)();!function(){const u=s.resolve(B.HVIGOR_WRAPPER_TOOLS_HOME,B.DEFAULT_PACKAGE_JSON);try{a.existsSync(B.HVIGOR_WRAPPER_TOOLS_HOME)||a.mkdirSync(B.HVIGOR_WRAPPER_TOOLS_HOME,{recursive:!0});const D={dependencies:{}};D.dependencies[B.PNPM]=t.PNPM_VERSION,a.writeFileSync(u,JSON.stringify(D))}catch(D){(0,d.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${u} failed.`)}}(),(0,f.executeCommand)(u,["install","pnpm"],{cwd:B.HVIGOR_WRAPPER_TOOLS_HOME,stdio:["inherit","inherit","inherit"],env:process.env}),(0,d.logInfoPrintConsole)("Pnpm install success.")}}(Gu),function(){Gu.checkNpmConifg(),Gu.environmentHandler(),Gu.isPnpmInstalled()||Gu.executeInstallPnpm();const D=gu();_(u.join(D,i.WORK_SPACE))}(); \ No newline at end of file diff --git a/function/communication/wifi/hvigorfile.ts b/function/communication/wifi/hvigorfile.ts new file mode 100644 index 00000000..f3cb9f1a --- /dev/null +++ b/function/communication/wifi/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/function/communication/wifi/hvigorw b/function/communication/wifi/hvigorw new file mode 100644 index 00000000..ff6a29a2 --- /dev/null +++ b/function/communication/wifi/hvigorw @@ -0,0 +1,48 @@ +#!/bin/bash + +# ---------------------------------------------------------------------------- +# Hvigor startup script, version 1.0.0 +# +# Required ENV vars: +# ------------------ +# NODE_HOME - location of a Node home dir +# or +# Add /usr/local/nodejs/bin to the PATH environment variable +# ---------------------------------------------------------------------------- + +HVIGOR_APP_HOME="`pwd -P`" +HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js +warn() { + echo "" + echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +error() { + echo "" + echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +fail() { + error "$@" + exit 1 +} + +# Determine node to start hvigor wrapper script +if [ -n "${NODE_HOME}" ];then + EXECUTABLE_NODE="${NODE_HOME}/bin/node" + if [ ! -x "$EXECUTABLE_NODE" ];then + fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed" + fi +else + EXECUTABLE_NODE="node" + which ${EXECUTABLE_NODE} > /dev/null 2>&1 || fail "ERROR: NODE_HOME is not set and not 'node' command found in your path" +fi + +# Check hvigor wrapper script +if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ];then + fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}" +fi + +# start hvigor-wrapper script +exec "${EXECUTABLE_NODE}" \ + "${HVIGOR_WRAPPER_SCRIPT}" "$@" diff --git a/function/communication/wifi/hvigorw.bat b/function/communication/wifi/hvigorw.bat new file mode 100644 index 00000000..d570007e --- /dev/null +++ b/function/communication/wifi/hvigorw.bat @@ -0,0 +1,64 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Hvigor startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +set WRAPPER_MODULE_PATH=%APP_HOME%\hvigor\hvigor-wrapper.js +set NODE_EXE=node.exe + +goto start + +:start +@rem Find node.exe +if defined NODE_HOME goto findNodeFromNodeHome + +%NODE_EXE% --version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:findNodeFromNodeHome +set NODE_HOME=%NODE_HOME:"=% +set NODE_EXE_PATH=%NODE_HOME%/%NODE_EXE% + +if exist "%NODE_EXE_PATH%" goto execute +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:execute +@rem Execute hvigor +"%NODE_EXE%" "%WRAPPER_MODULE_PATH%" %* + +if "%ERRORLEVEL%" == "0" goto hvigorwEnd + +:fail +exit /b 1 + +:hvigorwEnd +if "%OS%" == "Windows_NT" endlocal + +:end diff --git a/function/communication/wifi/oh-package-lock.json5 b/function/communication/wifi/oh-package-lock.json5 new file mode 100644 index 00000000..ddc8a54d --- /dev/null +++ b/function/communication/wifi/oh-package-lock.json5 @@ -0,0 +1,13 @@ +{ + "lockfileVersion": 1, + "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", + "specifiers": { + "@ohos/hypium@1.0.11": "@ohos/hypium@1.0.11" + }, + "packages": { + "@ohos/hypium@1.0.11": { + "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.11.tgz", + "integrity": "sha512-KawcLnv43C3QIYv1UbDnKCFX3MohtDxGuFvzlUxT/qf2DBilR56Ws6zrj90LdH6PjloJQwOPESuBQIHBACAK7w==" + } + } +} \ No newline at end of file diff --git a/function/communication/wifi/oh-package.json5 b/function/communication/wifi/oh-package.json5 new file mode 100644 index 00000000..2c53f71e --- /dev/null +++ b/function/communication/wifi/oh-package.json5 @@ -0,0 +1,13 @@ +{ + "name": "communication_wifi", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.11" + } +} diff --git a/function/communication/wifi/screenshots/home.png b/function/communication/wifi/screenshots/home.png new file mode 100644 index 0000000000000000000000000000000000000000..72abdac27b1809f95ddfef7e11f571d499faf845 GIT binary patch literal 80164 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 z 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

1$d*zO-z+!X6^nZL* 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 J%SH8n{V&uASHb`Q literal 0 HcmV?d00001 diff --git a/performance/arkts/benchmark_arkts_compiler/README_CN.md b/performance/arkts/benchmark_arkts_compiler/README_CN.md index e467fbd5..98f83d5e 100644 --- a/performance/arkts/benchmark_arkts_compiler/README_CN.md +++ b/performance/arkts/benchmark_arkts_compiler/README_CN.md @@ -47,7 +47,7 @@ ``` git init git config core.sparsecheckout true -echo scenario/arkui/MyMusic/ > .git/info/sparse-checkout +echo performance/arkts/benchmark_arkts_compiler > .git/info/sparse-checkout git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git git pull origin master ``` diff --git a/performance/communication/wifi_perf/.gitignore b/performance/communication/wifi_perf/.gitignore new file mode 100644 index 00000000..fbabf771 --- /dev/null +++ b/performance/communication/wifi_perf/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/performance/communication/wifi_perf/AppScope/app.json5 b/performance/communication/wifi_perf/AppScope/app.json5 new file mode 100644 index 00000000..07fdfbe9 --- /dev/null +++ b/performance/communication/wifi_perf/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.communication_wifi_perf", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/performance/communication/wifi_perf/AppScope/resources/base/element/string.json b/performance/communication/wifi_perf/AppScope/resources/base/element/string.json new file mode 100644 index 00000000..6a62d3b5 --- /dev/null +++ b/performance/communication/wifi_perf/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "communication_wifi_perf" + } + ] +} diff --git a/performance/communication/wifi_perf/AppScope/resources/base/media/app_icon.png b/performance/communication/wifi_perf/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/performance/communication/wifi_perf/README_CN.md b/performance/communication/wifi_perf/README_CN.md new file mode 100644 index 00000000..8af306b2 --- /dev/null +++ b/performance/communication/wifi_perf/README_CN.md @@ -0,0 +1,58 @@ +# ArkCompiler ts-swift workload mix-case + +### 介绍 + +测试Wi-Fi基本功能: + +| 用例 | +|--------| +| 启动时间(平均耗时) | +| 发现SSID(最短时间) | +| 发现SSID(1秒内最大数量) | +| 连接(无密码平均耗时) | +| 断开(平均耗时) | +| 重新连接(无密码平均耗时) | +| 最大带宽(大文件)| +| 延时(本地服务器平均) | + + +### 效果预览 + +| 主页 | +|--------------------------------| +| ![image](screenshots/home.png) | + + + +``` +. +├── README_CN.md +└── pages + ├── Index.ets //测试入口页面 +└── cases + ├── enable.ets // 用例 + ├── disable.ets + ├── scan.ets + └── connect.ets + └── transmit.ets +``` +### 相关权限 +无 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568; +2. 本示例仅支持API10版本SDK,版本号:4.0.10.13; +3. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600); + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo performance/communiction_wifi_perf/ > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git +git pull origin master +``` diff --git a/performance/communication/wifi_perf/build-profile.json5 b/performance/communication/wifi_perf/build-profile.json5 new file mode 100644 index 00000000..d7ddeff7 --- /dev/null +++ b/performance/communication/wifi_perf/build-profile.json5 @@ -0,0 +1,36 @@ +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/.gitignore b/performance/communication/wifi_perf/entry/.gitignore new file mode 100644 index 00000000..e2713a27 --- /dev/null +++ b/performance/communication/wifi_perf/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/build-profile.json5 b/performance/communication/wifi_perf/entry/build-profile.json5 new file mode 100644 index 00000000..197e83c1 --- /dev/null +++ b/performance/communication/wifi_perf/entry/build-profile.json5 @@ -0,0 +1,31 @@ +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/hvigorfile.ts b/performance/communication/wifi_perf/entry/hvigorfile.ts new file mode 100644 index 00000000..c6edcd90 --- /dev/null +++ b/performance/communication/wifi_perf/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/performance/communication/wifi_perf/entry/obfuscation-rules.txt b/performance/communication/wifi_perf/entry/obfuscation-rules.txt new file mode 100644 index 00000000..985b2aeb --- /dev/null +++ b/performance/communication/wifi_perf/entry/obfuscation-rules.txt @@ -0,0 +1,18 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README.md + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/oh-package.json5 b/performance/communication/wifi_perf/entry/oh-package.json5 new file mode 100644 index 00000000..248c3b75 --- /dev/null +++ b/performance/communication/wifi_perf/entry/oh-package.json5 @@ -0,0 +1,10 @@ +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": {} +} + diff --git a/performance/communication/wifi_perf/entry/src/main/ets/entryability/EntryAbility.ets b/performance/communication/wifi_perf/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..1c7aa63a --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,43 @@ +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/performance/communication/wifi_perf/entry/src/main/ets/pages/Index.ets b/performance/communication/wifi_perf/entry/src/main/ets/pages/Index.ets new file mode 100644 index 00000000..0a386378 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,43 @@ +@Entry +@Component +struct Index { + @State message: string = 'Communication Wi-Fi Performance Test'; + private cases: string[] = ['启动时间(平均耗时)','发现SSID(最短时间)','发现SSID(1秒内最大数量)','连接(无密码平均耗时)', '断开(平均耗时)', '重新连接(无密码平均耗时)', '连接(WEP平均耗时)','重新连接(WEP平均耗时)', + '连接(WPA/WPA2平均耗时)', '重新连接(WPA/WPA2平均耗时)','连接(WPA-PSK平均耗时)','重新连接(WPA-PSK平均耗时)', + '最大带宽(大文件)','延时(本地服务器平均)','自动连接(平均耗时)'] + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(20) + .fontWeight(FontWeight.Bold) + .margin(20) + Button('执行全部用例') + .fontSize(20) + .fontWeight(FontWeight.Bold) + .width('50%') + .margin(20) + List({ space: 20, initialIndex: 0 }) { + ForEach(this.cases, (item: string) => { + ListItem() { + Text(item) + .width('100%') + .height(30) + .fontSize(16) + .textAlign(TextAlign.Center) + .borderRadius(10) + .borderWidth(1) + .borderColor(Color.Blue) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + }.width('90%') + .height('80%') + .scrollBar(BarState.Off) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/main/module.json5 b/performance/communication/wifi_perf/entry/src/main/module.json5 new file mode 100644 index 00000000..f2ff2c7f --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/main/resources/base/element/color.json b/performance/communication/wifi_perf/entry/src/main/resources/base/element/color.json new file mode 100644 index 00000000..3c712962 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/main/resources/base/element/string.json b/performance/communication/wifi_perf/entry/src/main/resources/base/element/string.json new file mode 100644 index 00000000..f9459551 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/main/resources/base/media/icon.png b/performance/communication/wifi_perf/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/performance/communication/wifi_perf/entry/src/main/resources/base/media/startIcon.png b/performance/communication/wifi_perf/entry/src/main/resources/base/media/startIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..366f76459ffd4494ec40d0ddd5c59385b9c5da11 GIT binary patch literal 4351 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 literal 0 HcmV?d00001 diff --git a/performance/communication/wifi_perf/entry/src/main/resources/base/profile/main_pages.json b/performance/communication/wifi_perf/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 00000000..1898d94f --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/performance/communication/wifi_perf/entry/src/main/resources/en_US/element/string.json b/performance/communication/wifi_perf/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 00000000..f9459551 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/main/resources/zh_CN/element/string.json b/performance/communication/wifi_perf/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 00000000..597ecf95 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/Ability.test.ets b/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 00000000..8aa37497 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import hilog from '@ohos.hilog'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/List.test.ets b/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 00000000..794c7dc4 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/TestAbility.ets b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 00000000..9484761c --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,50 @@ +import UIAbility from '@ohos.app.ability.UIAbility'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import hilog from '@ohos.hilog'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import window from '@ohos.window'; +import Want from '@ohos.app.ability.Want'; +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; + +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/pages/Index.ets b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 00000000..423b4276 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets new file mode 100644 index 00000000..917d27a5 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets @@ -0,0 +1,47 @@ +import hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import Want from '@ohos.app.ability.Want'; + +let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator | undefined = undefined +let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs | undefined = undefined + +async function onAbilityCreateCallback() { + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err : Error) { + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + const bundleName = abilityDelegatorArguments.bundleName; + const testAbilityName = 'TestAbility'; + let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + const want: Want = { + bundleName: bundleName, + abilityName: testAbilityName + }; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + abilityDelegator.startAbility(want, (err, data) => { + hilog.info(0x0000, 'testTag', 'startAbility : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'startAbility : data : %{public}s',JSON.stringify(data) ?? ''); + }) + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/module.json5 b/performance/communication/wifi_perf/entry/src/ohosTest/module.json5 new file mode 100644 index 00000000..4fc97017 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/color.json b/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 00000000..3c712962 --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/string.json b/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 00000000..65d8fa5a --- /dev/null +++ b/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/media/icon.png b/performance/communication/wifi_perf/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/hvigor/hvigor-config.json5 b/performance/communication/wifi_perf/hvigor/hvigor-config.json5 new file mode 100644 index 00000000..1a474900 --- /dev/null +++ b/performance/communication/wifi_perf/hvigor/hvigor-config.json5 @@ -0,0 +1,18 @@ +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/performance/communication/wifi_perf/hvigor/hvigor-wrapper.js b/performance/communication/wifi_perf/hvigor/hvigor-wrapper.js new file mode 100644 index 00000000..372eae8e --- /dev/null +++ b/performance/communication/wifi_perf/hvigor/hvigor-wrapper.js @@ -0,0 +1 @@ +"use strict";var u=require("path"),D=require("os"),e=require("fs"),t=require("crypto"),r=require("child_process"),n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},C={},F=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(C,"__esModule",{value:!0}),C.maxPathLength=C.isMac=C.isLinux=C.isWindows=void 0;const E=F(D),A="Windows_NT",o="Darwin";function a(){return E.default.type()===A}function c(){return E.default.type()===o}C.isWindows=a,C.isLinux=function(){return"Linux"===E.default.type()},C.isMac=c,C.maxPathLength=function(){return c()?1016:a()?259:4095},function(e){var t=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),r=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),i=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&t(D,u,e);return r(D,u),D};Object.defineProperty(e,"__esModule",{value:!0}),e.WORK_SPACE=e.HVIGOR_PROJECT_WRAPPER_HOME=e.HVIGOR_PROJECT_ROOT_DIR=e.HVIGOR_PROJECT_CACHES_HOME=e.HVIGOR_PNPM_STORE_PATH=e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=e.PROJECT_CACHES=e.HVIGOR_WRAPPER_TOOLS_HOME=e.HVIGOR_USER_HOME=e.DEFAULT_PACKAGE_JSON=e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME=e.PNPM=e.HVIGOR=e.NPM_TOOL=e.PNPM_TOOL=e.HVIGOR_ENGINE_PACKAGE_NAME=void 0;const F=i(D),E=i(u),A=C;e.HVIGOR_ENGINE_PACKAGE_NAME="@ohos/hvigor",e.PNPM_TOOL=(0,A.isWindows)()?"pnpm.cmd":"pnpm",e.NPM_TOOL=(0,A.isWindows)()?"npm.cmd":"npm",e.HVIGOR="hvigor",e.PNPM="pnpm",e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME="hvigor-config.json5",e.DEFAULT_PACKAGE_JSON="package.json",e.HVIGOR_USER_HOME=E.resolve(F.homedir(),".hvigor"),e.HVIGOR_WRAPPER_TOOLS_HOME=E.resolve(e.HVIGOR_USER_HOME,"wrapper","tools"),e.PROJECT_CACHES="project_caches",e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=E.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME,"node_modules",".bin",e.PNPM_TOOL),e.HVIGOR_PNPM_STORE_PATH=E.resolve(e.HVIGOR_USER_HOME,"caches"),e.HVIGOR_PROJECT_CACHES_HOME=E.resolve(e.HVIGOR_USER_HOME,e.PROJECT_CACHES),e.HVIGOR_PROJECT_ROOT_DIR=process.cwd(),e.HVIGOR_PROJECT_WRAPPER_HOME=E.resolve(e.HVIGOR_PROJECT_ROOT_DIR,e.HVIGOR),e.WORK_SPACE="workspace"}(i);var s={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.logInfoPrintConsole=l.logErrorAndExit=void 0,l.logErrorAndExit=function(u){u instanceof Error?console.error(u.message):console.error(u),process.exit(-1)},l.logInfoPrintConsole=function(u){console.log(u)};var B=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),d=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),f=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&B(D,u,e);return d(D,u),D};Object.defineProperty(s,"__esModule",{value:!0});var _=s.executeBuild=void 0;const p=f(e),O=f(u),h=l;_=s.executeBuild=function(u){const D=O.resolve(u,"node_modules","@ohos","hvigor","bin","hvigor.js");try{const u=p.realpathSync(D);require(u)}catch(e){(0,h.logErrorAndExit)(`Error: ENOENT: no such file ${D},delete ${u} and retry.`)}};var P={},v={};!function(u){var D=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(u,"__esModule",{value:!0}),u.hashFile=u.hash=u.createHash=void 0;const r=D(t),i=D(e);u.createHash=(u="MD5")=>r.default.createHash(u);u.hash=(D,e)=>(0,u.createHash)(e).update(D).digest("hex");u.hashFile=(D,e)=>{if(i.default.existsSync(D))return(0,u.hash)(i.default.readFileSync(D,"utf-8"),e)}}(v);var g={},m={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Unicode=void 0;class y{}R.Unicode=y,y.SPACE_SEPARATOR=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,y.ID_START=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,y.ID_CONTINUE=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Object.defineProperty(m,"__esModule",{value:!0}),m.JudgeUtil=void 0;const I=R;m.JudgeUtil=class{static isIgnoreChar(u){return"string"==typeof u&&("\t"===u||"\v"===u||"\f"===u||" "===u||" "===u||"\ufeff"===u||"\n"===u||"\r"===u||"\u2028"===u||"\u2029"===u)}static isSpaceSeparator(u){return"string"==typeof u&&I.Unicode.SPACE_SEPARATOR.test(u)}static isIdStartChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||I.Unicode.ID_START.test(u))}static isIdContinueChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||I.Unicode.ID_CONTINUE.test(u))}static isDigitWithoutZero(u){return/[1-9]/.test(u)}static isDigit(u){return"string"==typeof u&&/[0-9]/.test(u)}static isHexDigit(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};var N=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0}),g.parseJsonText=g.parseJsonFile=void 0;const b=N(e),S=N(D),w=N(u),H=m;var x;!function(u){u[u.Char=0]="Char",u[u.EOF=1]="EOF",u[u.Identifier=2]="Identifier"}(x||(x={}));let M,T,V,G,j,J,W="start",U=[],L=0,$=1,k=0,K=!1,z="default",q="'",Z=1;function X(u,D=!1){T=String(u),W="start",U=[],L=0,$=1,k=0,G=void 0,K=D;do{M=Q(),nu[W]()}while("eof"!==M.type);return G}function Q(){for(z="default",j="",q="'",Z=1;;){J=Y();const u=Du[z]();if(u)return u}}function Y(){if(T[L])return String.fromCodePoint(T.codePointAt(L))}function uu(){const u=Y();return"\n"===u?($++,k=0):u?k+=u.length:k++,u&&(L+=u.length),u}g.parseJsonFile=function(u,D=!1,e="utf-8"){const t=b.default.readFileSync(w.default.resolve(u),{encoding:e});try{return X(t,D)}catch(D){if(D instanceof SyntaxError){const e=D.message.split("at");if(2===e.length)throw new Error(`${e[0].trim()}${S.default.EOL}\t at ${u}:${e[1].trim()}`)}throw new Error(`${u} is not in valid JSON/JSON5 format.`)}},g.parseJsonText=X;const Du={default(){switch(J){case"/":return uu(),void(z="comment");case void 0:return uu(),eu("eof")}if(!H.JudgeUtil.isIgnoreChar(J)&&!H.JudgeUtil.isSpaceSeparator(J))return Du[W]();uu()},start(){z="value"},beforePropertyName(){switch(J){case"$":case"_":return j=uu(),void(z="identifierName");case"\\":return uu(),void(z="identifierNameStartEscape");case"}":return eu("punctuator",uu());case'"':case"'":return q=J,uu(),void(z="string")}if(H.JudgeUtil.isIdStartChar(J))return j+=uu(),void(z="identifierName");throw Eu(x.Char,uu())},afterPropertyName(){if(":"===J)return eu("punctuator",uu());throw Eu(x.Char,uu())},beforePropertyValue(){z="value"},afterPropertyValue(){switch(J){case",":case"}":return eu("punctuator",uu())}throw Eu(x.Char,uu())},beforeArrayValue(){if("]"===J)return eu("punctuator",uu());z="value"},afterArrayValue(){switch(J){case",":case"]":return eu("punctuator",uu())}throw Eu(x.Char,uu())},end(){throw Eu(x.Char,uu())},comment(){switch(J){case"*":return uu(),void(z="multiLineComment");case"/":return uu(),void(z="singleLineComment")}throw Eu(x.Char,uu())},multiLineComment(){switch(J){case"*":return uu(),void(z="multiLineCommentAsterisk");case void 0:throw Eu(x.Char,uu())}uu()},multiLineCommentAsterisk(){switch(J){case"*":return void uu();case"/":return uu(),void(z="default");case void 0:throw Eu(x.Char,uu())}uu(),z="multiLineComment"},singleLineComment(){switch(J){case"\n":case"\r":case"\u2028":case"\u2029":return uu(),void(z="default");case void 0:return uu(),eu("eof")}uu()},value(){switch(J){case"{":case"[":return eu("punctuator",uu());case"n":return uu(),tu("ull"),eu("null",null);case"t":return uu(),tu("rue"),eu("boolean",!0);case"f":return uu(),tu("alse"),eu("boolean",!1);case"-":case"+":return"-"===uu()&&(Z=-1),void(z="numerical");case".":case"0":case"I":case"N":return void(z="numerical");case'"':case"'":return q=J,uu(),j="",void(z="string")}if(void 0===J||!H.JudgeUtil.isDigitWithoutZero(J))throw Eu(x.Char,uu());z="numerical"},numerical(){switch(J){case".":return j=uu(),void(z="decimalPointLeading");case"0":return j=uu(),void(z="zero");case"I":return uu(),tu("nfinity"),eu("numeric",Z*(1/0));case"N":return uu(),tu("aN"),eu("numeric",NaN)}if(void 0!==J&&H.JudgeUtil.isDigitWithoutZero(J))return j=uu(),void(z="decimalInteger");throw Eu(x.Char,uu())},zero(){switch(J){case".":case"e":case"E":return void(z="decimal");case"x":case"X":return j+=uu(),void(z="hexadecimal")}return eu("numeric",0)},decimalInteger(){switch(J){case".":case"e":case"E":return void(z="decimal")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimal(){switch(J){case".":j+=uu(),z="decimalFraction";break;case"e":case"E":j+=uu(),z="decimalExponent"}},decimalPointLeading(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalFraction");throw Eu(x.Char,uu())},decimalFraction(){switch(J){case"e":case"E":return j+=uu(),void(z="decimalExponent")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimalExponent(){switch(J){case"+":case"-":return j+=uu(),void(z="decimalExponentSign")}if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentSign(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentInteger(){if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},hexadecimal(){if(H.JudgeUtil.isHexDigit(J))return j+=uu(),void(z="hexadecimalInteger");throw Eu(x.Char,uu())},hexadecimalInteger(){if(!H.JudgeUtil.isHexDigit(J))return eu("numeric",Z*Number(j));j+=uu()},identifierNameStartEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":break;default:if(!H.JudgeUtil.isIdStartChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},identifierName(){switch(J){case"$":case"_":case"‌":case"‍":return void(j+=uu());case"\\":return uu(),void(z="identifierNameEscape")}if(!H.JudgeUtil.isIdContinueChar(J))return eu("identifier",j);j+=uu()},identifierNameEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!H.JudgeUtil.isIdContinueChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},string(){switch(J){case"\\":return uu(),void(j+=function(){const u=Y(),D=function(){switch(Y()){case"b":return uu(),"\b";case"f":return uu(),"\f";case"n":return uu(),"\n";case"r":return uu(),"\r";case"t":return uu(),"\t";case"v":return uu(),"\v"}return}();if(D)return D;switch(u){case"0":if(uu(),H.JudgeUtil.isDigit(Y()))throw Eu(x.Char,uu());return"\0";case"x":return uu(),function(){let u="",D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());if(u+=uu(),D=Y(),!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());return u+=uu(),String.fromCodePoint(parseInt(u,16))}();case"u":return uu(),ru();case"\n":case"\u2028":case"\u2029":return uu(),"";case"\r":return uu(),"\n"===Y()&&uu(),""}if(void 0===u||H.JudgeUtil.isDigitWithoutZero(u))throw Eu(x.Char,uu());return uu()}());case'"':case"'":if(J===q){const u=eu("string",j);return uu(),u}return void(j+=uu());case"\n":case"\r":case void 0:throw Eu(x.Char,uu());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${Fu(u)}' in strings is not valid ECMAScript; consider escaping.`)}(J)}j+=uu()}};function eu(u,D){return{type:u,value:D,line:$,column:k}}function tu(u){for(const D of u){if(Y()!==D)throw Eu(x.Char,uu());uu()}}function ru(){let u="",D=4;for(;D-- >0;){const D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());u+=uu()}return String.fromCodePoint(parseInt(u,16))}const nu={start(){if("eof"===M.type)throw Eu(x.EOF);iu()},beforePropertyName(){switch(M.type){case"identifier":case"string":return V=M.value,void(W="afterPropertyName");case"punctuator":return void Cu();case"eof":throw Eu(x.EOF)}},afterPropertyName(){if("eof"===M.type)throw Eu(x.EOF);W="beforePropertyValue"},beforePropertyValue(){if("eof"===M.type)throw Eu(x.EOF);iu()},afterPropertyValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforePropertyName");case"}":Cu()}},beforeArrayValue(){if("eof"===M.type)throw Eu(x.EOF);"punctuator"!==M.type||"]"!==M.value?iu():Cu()},afterArrayValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforeArrayValue");case"]":Cu()}},end(){}};function iu(){const u=function(){let u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}return u}();if(K&&"object"==typeof u&&(u._line=$,u._column=k),void 0===G)G=u;else{const D=U[U.length-1];Array.isArray(D)?K&&"object"!=typeof u?D.push({value:u,_line:$,_column:k}):D.push(u):D[V]=K&&"object"!=typeof u?{value:u,_line:$,_column:k}:u}!function(u){if(u&&"object"==typeof u)U.push(u),W=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}}(u)}function Cu(){U.pop();const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}function Fu(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return`\\x${`00${D}`.substring(D.length)}`}return u}function Eu(u,D){let e="";switch(u){case x.Char:e=void 0===D?`JSON5: invalid end of input at ${$}:${k}`:`JSON5: invalid character '${Fu(D)}' at ${$}:${k}`;break;case x.EOF:e=`JSON5: invalid end of input at ${$}:${k}`;break;case x.Identifier:k-=5,e=`JSON5: invalid identifier character at ${$}:${k}`}const t=new Au(e);return t.lineNumber=$,t.columnNumber=k,t}class Au extends SyntaxError{}var ou={},au=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),cu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),su=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&au(D,u,e);return cu(D,u),D},lu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(ou,"__esModule",{value:!0}),ou.isFileExists=ou.offlinePluginConversion=ou.executeCommand=ou.getNpmPath=ou.hasNpmPackInPaths=void 0;const Bu=r,du=lu(e),fu=su(u),_u=i,pu=l;ou.hasNpmPackInPaths=function(u,D){try{return require.resolve(u,{paths:[...D]}),!0}catch(u){return!1}},ou.getNpmPath=function(){const u=process.execPath;return fu.join(fu.dirname(u),_u.NPM_TOOL)},ou.executeCommand=function(u,D,e){0!==(0,Bu.spawnSync)(u,D,e).status&&(0,pu.logErrorAndExit)(`Error: ${u} ${D} execute failed.See above for details.`)},ou.offlinePluginConversion=function(u,D){return D.startsWith("file:")||D.endsWith(".tgz")?fu.resolve(u,_u.HVIGOR,D.replace("file:","")):D},ou.isFileExists=function(u){return du.default.existsSync(u)&&du.default.statSync(u).isFile()};var Ou=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),hu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),Pu=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&Ou(D,u,e);return hu(D,u),D},vu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(P,"__esModule",{value:!0});var gu=P.initProjectWorkSpace=void 0;const mu=Pu(e),Ru=vu(D),yu=Pu(u),Iu=v,Nu=i,bu=g,Su=l,wu=ou;let Hu,xu,Mu;function Tu(u,D,e){return void 0!==e.dependencies&&(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,D.dependencies[u])===yu.normalize(e.dependencies[u])}function Vu(){const u=yu.join(Mu,Nu.WORK_SPACE);if((0,Su.logInfoPrintConsole)("Hvigor cleaning..."),!mu.existsSync(u))return;const D=mu.readdirSync(u);if(!D||0===D.length)return;const e=yu.resolve(Mu,"node_modules","@ohos","hvigor","bin","hvigor.js");mu.existsSync(e)&&(0,wu.executeCommand)(process.argv[0],[e,"--stop-daemon"],{});try{D.forEach((D=>{mu.rmSync(yu.resolve(u,D),{recursive:!0})}))}catch(D){(0,Su.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${u}.`)}}gu=P.initProjectWorkSpace=function(){if(Hu=function(){const u=yu.resolve(Nu.HVIGOR_PROJECT_WRAPPER_HOME,Nu.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME);mu.existsSync(u)||(0,Su.logErrorAndExit)(`Error: Hvigor config file ${u} does not exist.`);return(0,bu.parseJsonFile)(u)}(),Mu=function(u){let D;D=function(u){let D=u.hvigorVersion;if(D.startsWith("file:")||D.endsWith(".tgz"))return!1;const e=u.dependencies,t=Object.getOwnPropertyNames(e);for(const u of t){const D=e[u];if(D.startsWith("file:")||D.endsWith(".tgz"))return!1}if(1===t.length&&"@ohos/hvigor-ohos-plugin"===t[0])return D>"2.5.0";return!1}(u)?function(u){let D=`${Nu.HVIGOR_ENGINE_PACKAGE_NAME}@${u.hvigorVersion}`;const e=u.dependencies;if(e){Object.getOwnPropertyNames(e).sort().forEach((u=>{D+=`,${u}@${e[u]}`}))}return(0,Iu.hash)(D)}(u):(0,Iu.hash)(process.cwd());return yu.resolve(Ru.default.homedir(),".hvigor","project_caches",D)}(Hu),xu=function(){const u=yu.resolve(Mu,Nu.WORK_SPACE,Nu.DEFAULT_PACKAGE_JSON);return mu.existsSync(u)?(0,bu.parseJsonFile)(u):{dependencies:{}}}(),!(0,wu.hasNpmPackInPaths)(Nu.HVIGOR_ENGINE_PACKAGE_NAME,[yu.join(Mu,Nu.WORK_SPACE)])||(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion)!==xu.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]||!function(){function u(u){const D=null==u?void 0:u.dependencies;return void 0===D?0:Object.getOwnPropertyNames(D).length}const D=u(Hu),e=u(xu);if(D+1!==e)return!1;for(const u in null==Hu?void 0:Hu.dependencies)if(!(0,wu.hasNpmPackInPaths)(u,[yu.join(Mu,Nu.WORK_SPACE)])||!Tu(u,Hu,xu))return!1;return!0}()){Vu();try{!function(){(0,Su.logInfoPrintConsole)("Hvigor installing...");for(const u in Hu.dependencies)Hu.dependencies[u]&&(Hu.dependencies[u]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.dependencies[u]));const u={dependencies:{...Hu.dependencies}};u.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion);const D=yu.join(Mu,Nu.WORK_SPACE);try{mu.mkdirSync(D,{recursive:!0});const e=yu.resolve(D,Nu.DEFAULT_PACKAGE_JSON);mu.writeFileSync(e,JSON.stringify(u))}catch(u){(0,Su.logErrorAndExit)(u)}(function(){const u=["config","set","store-dir",Nu.HVIGOR_PNPM_STORE_PATH],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)})(),function(){const u=["install"],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)}(),(0,Su.logInfoPrintConsole)("Hvigor install success.")}()}catch(u){Vu()}}return Mu};var Gu={};!function(t){var C=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),F=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),E=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&C(D,u,e);return F(D,u),D},A=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.executeInstallPnpm=t.isPnpmInstalled=t.environmentHandler=t.checkNpmConifg=t.PNPM_VERSION=void 0;const o=r,a=E(e),c=A(D),s=E(u),B=i,d=l,f=ou;t.PNPM_VERSION="7.30.0",t.checkNpmConifg=function(){const u=s.resolve(B.HVIGOR_PROJECT_ROOT_DIR,".npmrc"),D=s.resolve(c.default.homedir(),".npmrc");if((0,f.isFileExists)(u)||(0,f.isFileExists)(D))return;const e=(0,f.getNpmPath)(),t=(0,o.spawnSync)(e,["config","get","prefix"],{cwd:B.HVIGOR_PROJECT_ROOT_DIR});if(0!==t.status||!t.stdout)return void(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.");const r=s.resolve(`${t.stdout}`.replace(/[\r\n]/gi,""),".npmrc");(0,f.isFileExists)(r)||(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.")},t.environmentHandler=function(){process.env["npm_config_update-notifier"]="false"},t.isPnpmInstalled=function(){return!!a.existsSync(B.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH)&&(0,f.hasNpmPackInPaths)("pnpm",[B.HVIGOR_WRAPPER_TOOLS_HOME])},t.executeInstallPnpm=function(){(0,d.logInfoPrintConsole)(`Installing pnpm@${t.PNPM_VERSION}...`);const u=(0,f.getNpmPath)();!function(){const u=s.resolve(B.HVIGOR_WRAPPER_TOOLS_HOME,B.DEFAULT_PACKAGE_JSON);try{a.existsSync(B.HVIGOR_WRAPPER_TOOLS_HOME)||a.mkdirSync(B.HVIGOR_WRAPPER_TOOLS_HOME,{recursive:!0});const D={dependencies:{}};D.dependencies[B.PNPM]=t.PNPM_VERSION,a.writeFileSync(u,JSON.stringify(D))}catch(D){(0,d.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${u} failed.`)}}(),(0,f.executeCommand)(u,["install","pnpm"],{cwd:B.HVIGOR_WRAPPER_TOOLS_HOME,stdio:["inherit","inherit","inherit"],env:process.env}),(0,d.logInfoPrintConsole)("Pnpm install success.")}}(Gu),function(){Gu.checkNpmConifg(),Gu.environmentHandler(),Gu.isPnpmInstalled()||Gu.executeInstallPnpm();const D=gu();_(u.join(D,i.WORK_SPACE))}(); \ No newline at end of file diff --git a/performance/communication/wifi_perf/hvigorfile.ts b/performance/communication/wifi_perf/hvigorfile.ts new file mode 100644 index 00000000..f3cb9f1a --- /dev/null +++ b/performance/communication/wifi_perf/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/performance/communication/wifi_perf/hvigorw b/performance/communication/wifi_perf/hvigorw new file mode 100644 index 00000000..ff6a29a2 --- /dev/null +++ b/performance/communication/wifi_perf/hvigorw @@ -0,0 +1,48 @@ +#!/bin/bash + +# ---------------------------------------------------------------------------- +# Hvigor startup script, version 1.0.0 +# +# Required ENV vars: +# ------------------ +# NODE_HOME - location of a Node home dir +# or +# Add /usr/local/nodejs/bin to the PATH environment variable +# ---------------------------------------------------------------------------- + +HVIGOR_APP_HOME="`pwd -P`" +HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js +warn() { + echo "" + echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +error() { + echo "" + echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +fail() { + error "$@" + exit 1 +} + +# Determine node to start hvigor wrapper script +if [ -n "${NODE_HOME}" ];then + EXECUTABLE_NODE="${NODE_HOME}/bin/node" + if [ ! -x "$EXECUTABLE_NODE" ];then + fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed" + fi +else + EXECUTABLE_NODE="node" + which ${EXECUTABLE_NODE} > /dev/null 2>&1 || fail "ERROR: NODE_HOME is not set and not 'node' command found in your path" +fi + +# Check hvigor wrapper script +if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ];then + fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}" +fi + +# start hvigor-wrapper script +exec "${EXECUTABLE_NODE}" \ + "${HVIGOR_WRAPPER_SCRIPT}" "$@" diff --git a/performance/communication/wifi_perf/hvigorw.bat b/performance/communication/wifi_perf/hvigorw.bat new file mode 100644 index 00000000..d570007e --- /dev/null +++ b/performance/communication/wifi_perf/hvigorw.bat @@ -0,0 +1,64 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Hvigor startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +set WRAPPER_MODULE_PATH=%APP_HOME%\hvigor\hvigor-wrapper.js +set NODE_EXE=node.exe + +goto start + +:start +@rem Find node.exe +if defined NODE_HOME goto findNodeFromNodeHome + +%NODE_EXE% --version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:findNodeFromNodeHome +set NODE_HOME=%NODE_HOME:"=% +set NODE_EXE_PATH=%NODE_HOME%/%NODE_EXE% + +if exist "%NODE_EXE_PATH%" goto execute +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:execute +@rem Execute hvigor +"%NODE_EXE%" "%WRAPPER_MODULE_PATH%" %* + +if "%ERRORLEVEL%" == "0" goto hvigorwEnd + +:fail +exit /b 1 + +:hvigorwEnd +if "%OS%" == "Windows_NT" endlocal + +:end diff --git a/performance/communication/wifi_perf/oh-package-lock.json5 b/performance/communication/wifi_perf/oh-package-lock.json5 new file mode 100644 index 00000000..ddc8a54d --- /dev/null +++ b/performance/communication/wifi_perf/oh-package-lock.json5 @@ -0,0 +1,13 @@ +{ + "lockfileVersion": 1, + "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", + "specifiers": { + "@ohos/hypium@1.0.11": "@ohos/hypium@1.0.11" + }, + "packages": { + "@ohos/hypium@1.0.11": { + "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.11.tgz", + "integrity": "sha512-KawcLnv43C3QIYv1UbDnKCFX3MohtDxGuFvzlUxT/qf2DBilR56Ws6zrj90LdH6PjloJQwOPESuBQIHBACAK7w==" + } + } +} \ No newline at end of file diff --git a/performance/communication/wifi_perf/oh-package.json5 b/performance/communication/wifi_perf/oh-package.json5 new file mode 100644 index 00000000..2595acb7 --- /dev/null +++ b/performance/communication/wifi_perf/oh-package.json5 @@ -0,0 +1,13 @@ +{ + "name": "communication_wifi_perf", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.11" + } +} diff --git a/performance/communication/wifi_perf/screenshots/home.png b/performance/communication/wifi_perf/screenshots/home.png new file mode 100644 index 0000000000000000000000000000000000000000..58ae01ef12f781aca46aed98ea7df15e985148a6 GIT binary patch literal 112883 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

w1M5>8 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

q%kt|lI;n#`P8EkWMp{C)e^!^RCjCF*-GfUUb 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 LQKC}J@YnwVSMSPT literal 0 HcmV?d00001 diff --git a/scenario/MyMusic/screenshots/home.png b/scenario/MyMusic/screenshots/home.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d2717b7d83cf1148a4c177816a5019f92854fd GIT binary patch literal 197976 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�MVk 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

&Mo7@lj2xB(Y8y4H(r119V}e9 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 H1Hbyct literal 0 HcmV?d00001 -- Gitee