From a127d550c2dd5b45b05f611ee3436c9d6f3620cd Mon Sep 17 00:00:00 2001 From: zhaogan Date: Fri, 16 May 2025 09:58:44 +0800 Subject: [PATCH] fix tdd Signed-off-by: zhaogan --- test/BUILD.gn | 4 + test/sceneProject/BUILD.gn | 22 ++++++ test/sceneProject/tools/BUILD.gn | 22 ++++++ test/sceneProject/tools/bm/BUILD.gn | 23 ++++++ .../bm/pageAbilityBundleForInstall/BUILD.gn | 34 +++++++++ ...ohos.tools.pageAbilityBundleForInstall.p7b | Bin 0 -> 3661 bytes .../src/main/config.json | 69 ++++++++++++++++++ .../src/main/js/default/app.js | 22 ++++++ .../src/main/js/default/i18n/en-US.json | 6 ++ .../src/main/js/default/i18n/zh-CN.json | 6 ++ .../src/main/js/default/pages/index/index.css | 24 ++++++ .../src/main/js/default/pages/index/index.hml | 20 +++++ .../src/main/js/default/pages/index/index.js | 25 +++++++ .../js/resources/base/element/string.json | 12 +++ .../src/main/js/resources/base/media/icon.png | Bin 0 -> 6320 bytes .../bm/pageAbilityBundleForUninstall/BUILD.gn | 34 +++++++++ ...os.tools.pageAbilityBundleForUninstall.p7b | Bin 0 -> 3662 bytes .../src/main/config.json | 69 ++++++++++++++++++ .../src/main/js/default/app.js | 22 ++++++ .../src/main/js/default/i18n/en-US.json | 6 ++ .../src/main/js/default/i18n/zh-CN.json | 6 ++ .../src/main/js/default/pages/index/index.css | 24 ++++++ .../src/main/js/default/pages/index/index.hml | 20 +++++ .../src/main/js/default/pages/index/index.js | 25 +++++++ .../js/resources/base/element/string.json | 12 +++ .../src/main/js/resources/base/media/icon.png | Bin 0 -> 6320 bytes .../js/resources/base/media/icon_entry.png | Bin 0 -> 6320 bytes test/sceneProject/tools/ohos_test/BUILD.gn | 22 ++++++ .../tools/ohos_test/ohos_test.xml | 35 +++++++++ 29 files changed, 564 insertions(+) create mode 100644 test/sceneProject/BUILD.gn create mode 100644 test/sceneProject/tools/BUILD.gn create mode 100644 test/sceneProject/tools/bm/BUILD.gn create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/BUILD.gn create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/com.ohos.tools.pageAbilityBundleForInstall.p7b create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/config.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/app.js create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/i18n/en-US.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/i18n/zh-CN.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.css create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.hml create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.js create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/element/string.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/media/icon.png create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/BUILD.gn create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/com.ohos.tools.pageAbilityBundleForUninstall.p7b create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/config.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/app.js create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/i18n/en-US.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/i18n/zh-CN.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.css create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.hml create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.js create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/element/string.json create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/media/icon.png create mode 100644 test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/media/icon_entry.png create mode 100644 test/sceneProject/tools/ohos_test/BUILD.gn create mode 100644 test/sceneProject/tools/ohos_test/ohos_test.xml diff --git a/test/BUILD.gn b/test/BUILD.gn index 03d81d7..76ea3ca 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -15,6 +15,10 @@ group("systemtest") { testonly = true deps = [ "systemtest/bm:systemtest" ] + + deps += [ + "sceneProject:test_hap", + ] } group("moduletest") { diff --git a/test/sceneProject/BUILD.gn b/test/sceneProject/BUILD.gn new file mode 100644 index 0000000..e1973ee --- /dev/null +++ b/test/sceneProject/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +group("test_hap") { + testonly = true + deps = [] + + deps += [ + # deps file + "tools:tooltest_hap", + ] +} diff --git a/test/sceneProject/tools/BUILD.gn b/test/sceneProject/tools/BUILD.gn new file mode 100644 index 0000000..4de478d --- /dev/null +++ b/test/sceneProject/tools/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +group("tooltest_hap") { + testonly = true + deps = [] + + deps += [ + # deps file + "bm:bm_tool", + ] +} diff --git a/test/sceneProject/tools/bm/BUILD.gn b/test/sceneProject/tools/bm/BUILD.gn new file mode 100644 index 0000000..765917d --- /dev/null +++ b/test/sceneProject/tools/bm/BUILD.gn @@ -0,0 +1,23 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +group("bm_tool") { + testonly = true + deps = [] + + deps += [ + # deps file + "pageAbilityBundleForInstall:pageAbilityBundleForInstall", + "pageAbilityBundleForUninstall:pageAbilityBundleForUninstall", + ] +} diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForInstall/BUILD.gn b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/BUILD.gn new file mode 100644 index 0000000..bb520b2 --- /dev/null +++ b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/BUILD.gn @@ -0,0 +1,34 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +ohos_hap("pageAbilityBundleForInstall") { + hap_profile = "./src/main/config.json" + hap_name = "pageAbilityBundleForInstall" + subsystem_name = "bundlemanager" + final_hap_path = "$root_out_dir/tests/systemtest/bundle_tool/tools/resource/bm/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "com.ohos.tools.pageAbilityBundleForInstall.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForInstall/com.ohos.tools.pageAbilityBundleForInstall.p7b b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/com.ohos.tools.pageAbilityBundleForInstall.p7b new file mode 100644 index 0000000000000000000000000000000000000000..01f28f6ced074e14438ad5d1d78ee06ac8d3e240 GIT binary patch literal 3661 zcmcgvdvp_38gCvg*3t(ST40q&K#D@joiu5ax{5Q&WHOhxjmb8|Lb0LC}ZUq$IMz zl%y<>dIV(wpKND2iHVA|;)N?yDK-rKCSa%wS}cs-6oFsHT2okWF#)rlwlDyxF-9T` zVpjf#je1CN)^WU~4>A#6gmn><#b~ZI8BFH6IX@kd7!kT_%@$)_4Rqf%S2v76 zWa12+WMHviiVMdXJ`?T1@a<56m64mk=XLY=jNblCmYe z^1*O|bWOA3ULR>Et*8&rdD}ROB&}4&YDI%g6qQK~jgmO+w$97gPzsAiyJDRk?naNt zhRS}FBB-=AgF3OOs|iB`KD5*2h84UX8IJ~RO&-qzT$UO`L{n-ZVebhxTT+Y6vh zfg*m~nx;Iy8Y~{{jKx9;q&vuUMw^JHSQ{7g;T@C}&t;)$ioP<-(}KxCBHj^b@d`nM zG3o)h?1+V2R0l3o9cT~4;3Ly+AC+!~UYD&iO?6P|OTG?_r#wm7>d9dwaM@||b>Myq zBZqLssD?J~ivLU#KD1?MpGhB%TjbVe6B%f6N+0~+>%v^(QLxZjY$FE{&89~KP_cbCMJPPcJGy{0fsc3Dx>7Yw+q9*@v$ ziiA4@4wuo?4O(hY2c1R?9gSERxA954muy9tmPFbe$SfqAPETnM4hBikrUoa+y*f!2C`5SnDs-|XPQ(Y>8 z+aok7c{8Xxm+diQXvBIH5L3*h!fDJ`aA@is2x#XL!8SPr#zHKZ)O z%ik2GDO4t`)-GZpWwgN6Hq3+CXcU!OJ!BenN;GKn7zCq@OwALLZCnEtZm`;-9+TgJ z!~te(Bw|>ciiTN3CSv9~ElGjS;2v@wXmQCxL^69&Qg$p%p@wEA-o(!1+qeuGw*#|{ z3pz!&TXJ)rE|ctVH^yxN%;=W<8F#=5%Y=AI#5rf$nIV#~d2L+oNZ>Bp4;+)rr*T+V zLVTi{kMYTBiRa_VYJrY2XpoJ=qmSiIt(_N1E-BIRI9y5#ad-}sJxPg4w1*Ty7!sfe zLrW<|9(1r$`*0j8({Pv#Gn{gc6{S!F3o+EdNSKyreN^OA0@Q(|u6~hDVv-V}I1m`V zWEgaJKvAJXahS7M2Z8W16V?yei*&gl)RF|7RP-{JBf>f&8V=40ptG6PIkLYnf)BSWYl z#1$chJ(^}k!Ia8k0|E@dfEeJfskO4$Xn|uvhD{*+L=XT}4}qxqF%XR+AA$Xw<{i2w zKme2%jLEe@ts3r!Mm0u*xlNlDBL1p2BRfXOCm%IPC0$%>G!x-s?7$$@bg6JG*&Z z|A*KE;p34nPVP8=a#ca?ofm(*0WRt5?Z|v^acn($cIF)o`O{bYar;s?IBxsfidiST zlV4U@cb=a4%obBw`pJvQC4+x2eFpN!2KjSnm_MZ_%_~P^0kNMry4hgX(CDWA*yy}G zFI_<*#E6(jkSJ$fMI_yz>@s=s=iH;s(`kZvTB`O$&zjESW$VusI}co(&3_U?6AKpa z*B7nte&I|YaCFh*n{Us4yYHQVmRLy<>x4(JZM*u;?{B~0+dj7BMCiT;{z8n~a&Phb z&u`m&p?$)ISyNYvC#KzWgC`jvm(-0RKHY+W+d-*9lyZeQ`9K4IMl(rOFoH>y^<|r$ zn)J)TJom1n>#FvyYn4k5kDi_;ng_yaAh*g@$l=vV{7|APopk>FlvxE{tNT6N2POj|L*JhSo@O)Yd4;H zvFzYL`Kh}iW$r>$OK7 zDSIV;%ZZBY_21q1zH5~@xSBpC1f*5bH;hl*@?JHPRbh~1x50N0=)5Xp9KKOUKC${( zF!9n8t5Ac$*!K@J6}bMAQJ9aE!b{NvObC1<)zsD0w1Rn;qgq6#ohEGc#VS93^P?rJ zA71M{t@_WA!%u(thffc)pXw*Acq|h*3a-6$ldH83U{_Di8~FGe;lqE--=`A?)33f; zQQGy{gKyWY+0sMq+Vgtf(eUr+bijU^^o?3Ef!oGW!ebPT} J + +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.js b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000..eb5be91 --- /dev/null +++ b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/default/pages/index/index.js @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + } +} diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/element/string.json b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000..226a4d8 --- /dev/null +++ b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "mainability_description", + "value": "mainability_description" + }, + { + "name": "app_name", + "value": "demo" + } + ] +} \ No newline at end of file diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/media/icon.png b/test/sceneProject/tools/bm/pageAbilityBundleForInstall/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8966a1e3de00956d251d5c1497aa251ea7b5c49f GIT binary patch literal 6320 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 + +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.js b/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000..eb5be91 --- /dev/null +++ b/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/default/pages/index/index.js @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + } +} diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/element/string.json b/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000..226a4d8 --- /dev/null +++ b/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "mainability_description", + "value": "mainability_description" + }, + { + "name": "app_name", + "value": "demo" + } + ] +} \ No newline at end of file diff --git a/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/media/icon.png b/test/sceneProject/tools/bm/pageAbilityBundleForUninstall/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8966a1e3de00956d251d5c1497aa251ea7b5c49f GIT binary patch literal 6320 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 mSnLFLp=bs6A@GNy + + + + + + + + + + + + + + + \ No newline at end of file -- Gitee