From 0e57b121d8596a63e7b32d445d722239ee48233b Mon Sep 17 00:00:00 2001 From: chensi10 Date: Mon, 23 Aug 2021 16:06:41 +0800 Subject: [PATCH] Modify test case Signed-off-by: chensi10 --- .../hap/napi_test_suite_scene1.hap | Bin 197459 -> 221186 bytes .../hap/napi_test_suite_scene2.hap | Bin 201320 -> 205838 bytes .../hap/napi_test_suite_scene3.hap | Bin 201320 -> 205836 bytes .../hap/napi_test_suite_scene4.hap | Bin 0 -> 189285 bytes .../src/main/config.json | 41 ++- .../src/main/js/test/ExampleJsunit.test.js | 323 ++++++++++++++++- .../src/main/config.json | 41 ++- .../src/main/js/test/ExampleJsunit.test.js | 168 ++++++++- .../src/main/config.json | 41 ++- .../src/main/js/test/ExampleJsunit.test.js | 190 +++++++++- .../napi_test_suite_scene4/package.json | 1 + .../src/main/config.json | 86 +++++ .../src/main/js/default/app.js | 8 + .../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 | 9 + .../src/main/js/default/pages/index/index.hml | 5 + .../src/main/js/default/pages/index/index.js | 32 ++ .../src/main/js/test/ExampleJsunit.test.js | 328 ++++++++++++++++++ .../src/main/js/test/List.test.js | 1 + 20 files changed, 1258 insertions(+), 28 deletions(-) create mode 100644 appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene4.hap create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/package.json create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/config.json create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/app.js create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/en-US.json create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/zh-CN.json create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.css create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.hml create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.js create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/ExampleJsunit.test.js create mode 100644 appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/List.test.js diff --git a/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene1.hap b/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene1.hap index 9ade636d049389136fc5b45cb5748f01025ca016..2e0d1a3d008b08615f6bb22a22a998062a9b684a 100644 GIT binary patch delta 30852 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 B#83bL delta 26424 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 diff --git a/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene2.hap b/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene2.hap index 0a00840c46b36d27a27dc38f35583084e166d4b3..24752d54ba046c4ae6f8fa4e05bf1d525bebd1e5 100644 GIT binary patch delta 23220 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 I1-6F&4T1%fQ~&?~ delta 26915 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 z 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 z diff --git a/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene3.hap b/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene3.hap index 6c298ca7ccbaaf811385f68bbf3a8e282688ef01..ca524241c10fef9953b227416b115d5d7aa8caf6 100644 GIT binary patch delta 23415 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 LY|YXuur>T2WH!=S delta 27024 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 diff --git a/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene4.hap b/appexecfwk/bundle_standard/bundlemanager/hap/napi_test_suite_scene4.hap new file mode 100644 index 0000000000000000000000000000000000000000..8cbe78dc96439a322e6024b6a059e3abd0675316 GIT binary patch literal 189285 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 literal 0 HcmV?d00001 diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/config.json index bd0e029b3..98518b7ba 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/config.json @@ -1,6 +1,6 @@ { "app": { - "bundleName": "com.example.napi_test_suite", + "bundleName": "com.example.myapplication", "vendor": "example", "version": { "code": 1, @@ -14,9 +14,7 @@ }, "deviceConfig": {}, "module": { - - - "package": "com.example.napi_test_suite", + "package": "com.example.myapplication", "name": ".MyApplication", "deviceType": [ "phone" @@ -31,18 +29,45 @@ "skills": [ { "entities": [ - "entity.system.home" + "entity.system.home", + "flag.home.intent.from.system" ], "actions": [ "action.system.home" ] } ], - "name": "com.example.napi_test_suite.MainAbility", + "name": "com.example.myapplication.MainAbility", "icon": "$media:icon", + "theme":"$media:icon", "description": "$string:mainability_description", - "label": "$string:app_name", + "label": "MyApplication", "type": "page", + "formEntity": [ + "homeScreen", + "searchbox" + ], + "defaultFormHeight": 100, + "minFormHeight": 200, + "defaultFormWidth": 300, + "minFormWidth": 400, + "metaData": { + "parameters" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_parameters_description" + }], + "results" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_results_description" + }], + "customizeData" : [{ + "name" : "string", + "value" : "string", + "extra" : "" + }] + }, "launchType": "standard" } ], @@ -69,11 +94,13 @@ "description": "WeChat permission in detail" } ], + "colorMode": "light", "js": [ { "pages": [ "pages/index/index" ], + "colorMode": "light", "name": "default", "window": { "designWidth": 720, diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/js/test/ExampleJsunit.test.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/js/test/ExampleJsunit.test.js index 7b953b1bb..7ab7dd8aa 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/js/test/ExampleJsunit.test.js +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene1/src/main/js/test/ExampleJsunit.test.js @@ -124,4 +124,325 @@ describe('appInfoTest', function () { done() }) -}) \ No newline at end of file + it('getBundleInfo_0100', 0, async function (done) { + var datainfo = await demo.getBundleInfo('com.example.myapplication1',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + done() + }) + + it('getBundleInfo_0400', 0, async function (done) { + var datainfo = await demo.getBundleInfo('error',1); + expect(datainfo.name.length).assertEqual(0) + done(); + }) + + it('getBundleInfo_0500', 0, async function (done) { + var datainfo = await demo.getBundleInfo(); + expect(datainfo.name.length).assertEqual(0) + done(); + }) + + it('getBundleInfo_0600', 0, async function (done) { + await demo.getBundleInfo('com.example.myapplication1',1,OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + } + done() + }) + + it('getBundleInfo_0900', 0, async function (done) { + await demo.getBundleInfo('error',1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertEqual(0) + } + done() + }) + + it('getBundleInfo_1000', 0, async function (done) { + await demo.getBundleInfo(OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertEqual(0) + } + done() + }) + + it('getBundleArchiveInfo_0100', 0, async function (done) { + var datainfo = await demo.getBundleArchiveInfo('/data/bmsJstest1.hap',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + done() + }) + + it('getBundleArchiveInfo_0400', 0, async function (done) { + var datainfo = await demo.getBundleArchiveInfo('/data/error.hap',1) + expect(datainfo.name.length).assertEqual(0) + done() + }) + + it('getBundleArchiveInfo_0500', 0, async function (done) { + var datainfo = await demo.getBundleArchiveInfo(' ',1) + expect(datainfo.name.length).assertEqual(0) + done() + }) + + it('getBundleArchiveInfo_0600', 0, async function (done) { + await demo.getBundleArchiveInfo('/data/bmsJstest1.hap',1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + } + done() + }) + + it('getBundleArchiveInfo_0900', 0, async function (done) { + await demo.getBundleArchiveInfo('/data/error.', 1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertEqual(0) + } + done() + }) + + it('getBundleArchiveInfo_1000', 0, async function (done) { + await demo.getBundleArchiveInfo(' ', 1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertEqual(0) + } + done() + }) + + it('queryAbilityByWant_0100', 0, async function (done) { + var datainfo = + await demo.queryAbilityByWant({ + want:{ + action: "action.system.home", + entities:["entity.system.home"], + elementName: { + deviceId: "0", + bundleName : "com.example.myapplication1", + abilityName : ".MainAbility", + },}},{ + params:{ + flags: 8 , + userId:"0" , + } + }) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done(); + }) + + it('queryAbilityByWant_0400', 0, async function (done) { + var datainfo = + await demo.queryAbilityByWant({ + want:{ + action: "action.system.home", + entities:["entity.system.home"], + elementName: { + deviceId : "0", + bundleName : "com.example.myapplication1", + abilityName : "", + },}},{ + params:{ + flags: 8 , + userId:"0" , + } + }) + expect(datainfo.name.length).assertEqual(0) + done(); + }) + + it('queryAbilityByWant_0500', 0, async function (done) { + var datainfo = + await demo.queryAbilityByWant({ + want:{ + action: "action.system.home", + entities:["entity.system.home"], + elementName: { + deviceId : "0", + bundleName : "", + abilityName : "", + },}},{ + params:{ + flags: 8 , + userId:"0" , + } + }) + expect(datainfo.name.length).assertEqual(0) + done(); + }) + + it('queryAbilityByWant_0600', 0, async function (done) { + await demo.queryAbilityByWant({ + want: { + action: "action.system.home", + entities: ["entity.system.home"], + elementName: { + deviceId: "0", + bundleName: "com.example.myapplication1", + abilityName: ".MainAbility", + }, + } + }, { + params: { + flags: 8, + userId: "0", + } + },OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done() + } + }) + + it('queryAbilityByWant_0900', 0, async function (done) { + await demo.queryAbilityByWant({ + want: { + action: "action.system.home", + entities: ["entity.system.home"], + elementName: { + deviceId: "0", + bundleName: "com.example.myapplication1", + abilityName: "", + }, + } + }, { + params: { + flags: 8, + userId: "0", + } + },OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertEqual(0) + done(); + } + }) + + it('queryAbilityByWant_1000', 0, async function (done) { + await demo.queryAbilityByWant({ + want: { + action: "action.system.home", + entities: ["entity.system.home"], + elementName: { + deviceId: "0", + bundleName: "", + abilityName: "", + }, + } + }, { + params: { + flags: 8, + userId: "0", + } + },OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertEqual(0) + done() + } + }) + + it('getPermissionDef_0100', 0, async function(done){ + await demo.getPermissionDef('com.permission.CAMERA').then((infos) => { + expect(typeof infos).assertEqual("object"); + + expect(infos.name).assertEqual("com.permission.CAMERA"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("CAMERA permission"); + expect(infos.description).assertEqual("CAMERA permission in detail"); + }); + done(); + }) + + it('getPermissionDef_0600', 0, async function(done){ + console.info("neu========================getPermissionDef_0100: for begin"); + + await demo.getPermissionDef('com.permission.CAMERA', OnReceiveEvent); + + function OnReceiveEvent(err, data) { + expect(data.name).assertEqual("com.permission.CAMERA"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqual(2); + expect(data.label).assertEqual("CAMERA permission"); + expect(data.description).assertEqual("CAMERA permission in detail"); + } + + done(); + + }) + + it('getPermissionDef_0400', 0, async function(done){ + await demo.getPermissionDef('').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual(""); + expect(infos.grantMode).assertEqual(""); + expect(infos.availableScope).assertEqual(0); + expect(infos.label).assertEqual(""); + expect(infos.description).assertEqual(""); + }); + done(); + }) + it('getPermissionDef_0900', 0, async function(done) + { + + await demo.getPermissionDef('', OnReceiveEvent); + + function OnReceiveEvent(err, data) { + expect(typeof data).assertEqual("object"); + + expect(data.name).assertEqual(""); + + expect(data.availableScope).assertEqual(0); + expect(data.grantMode).assertEqual(""); + expect(data.label).assertEqual(""); + expect(data.description).assertEqual(""); + } + + done(); + }) + +}) diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/config.json index bd0e029b3..91531ab98 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/config.json @@ -1,6 +1,6 @@ { "app": { - "bundleName": "com.example.napi_test_suite", + "bundleName": "com.example.myapplication_2", "vendor": "example", "version": { "code": 1, @@ -14,9 +14,7 @@ }, "deviceConfig": {}, "module": { - - - "package": "com.example.napi_test_suite", + "package": "com.example.myapplication", "name": ".MyApplication", "deviceType": [ "phone" @@ -31,18 +29,45 @@ "skills": [ { "entities": [ - "entity.system.home" + "entity.system.home", + "flag.home.intent.from.system" ], "actions": [ "action.system.home" ] } ], - "name": "com.example.napi_test_suite.MainAbility", + "name": "com.example.myapplication.MainAbility", "icon": "$media:icon", + "theme":"$media:icon", "description": "$string:mainability_description", - "label": "$string:app_name", + "label": "MyApplication", "type": "page", + "formEntity": [ + "homeScreen", + "searchbox" + ], + "defaultFormHeight": 100, + "minFormHeight": 200, + "defaultFormWidth": 300, + "minFormWidth": 400, + "metaData": { + "parameters" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_parameters_description" + }], + "results" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_results_description" + }], + "customizeData" : [{ + "name" : "string", + "value" : "string", + "extra" : "" + }] + }, "launchType": "standard" } ], @@ -69,11 +94,13 @@ "description": "WeChat permission in detail" } ], + "colorMode": "light", "js": [ { "pages": [ "pages/index/index" ], + "colorMode": "light", "name": "default", "window": { "designWidth": 720, diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/js/test/ExampleJsunit.test.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/js/test/ExampleJsunit.test.js index 4cb5d5b89..83ad273bf 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/js/test/ExampleJsunit.test.js +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene2/src/main/js/test/ExampleJsunit.test.js @@ -129,7 +129,7 @@ describe('appInfoTest', function () { }) it('getApplicationInfo_0200', 0, async function (done) { - var datainfo = await demo.getApplicationInfo('com.example.myapplication1', 8, 1) + var datainfo = await demo.getApplicationInfo('com.example.myapplication2', 8, 1) expect(typeof datainfo).assertEqual("object") expect(datainfo.name.length).assertLarger(0) expect(datainfo.description.length).assertLarger(0) @@ -142,7 +142,7 @@ describe('appInfoTest', function () { }) it('getApplicationInfo_0700', 0, async function (done) { - await demo.getApplicationInfo('com.example.myapplication1', 8, 1, (error, datainfo) => { + await demo.getApplicationInfo('com.example.myapplication2', 8, 1, (error, datainfo) => { expect(typeof datainfo).assertEqual("object") expect(datainfo.name.length).assertLarger(0) expect(datainfo.description.length).assertLarger(0) @@ -155,4 +155,166 @@ describe('appInfoTest', function () { done() }) -}) \ No newline at end of file + it('getBundleInfo_0200', 0, async function (done) { + var datainfo = await demo.getBundleInfo('com.example.myapplication2',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + done() + }) + + it('getBundleInfo_0700', 0, async function (done) { + await demo.getBundleInfo('com.example.myapplication2',1,OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + } + done() + }) + + it('getBundleArchiveInfo_0200', 0, async function (done) { + var datainfo = await demo.getBundleArchiveInfo('/data/bmsJstest2.hap',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + done() + }) + + it('getBundleArchiveInfo_0700', 0, async function (done) { + await demo.getBundleArchiveInfo('/data/bmsJstest2.hap',1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + } + done() + }) + + it('queryAbilityByWant_0200', 0, async function (done) { + var datainfo = + await demo.queryAbilityByWant({ + want:{ + action: "action.system.home", + entities:["entity.system.home"], + elementName: { + deviceId: "0", + bundleName : "com.example.myapplication2", + abilityName : ".MainAbility", + },}},{ + params:{ + flags: 8 , + userId:"0" , + } + }) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done(); + }) + + it('queryAbilityByWant_0700', 0, async function (done) { + await demo.queryAbilityByWant({ + want: { + action: "action.system.home", + entities: ["entity.system.home"], + elementName: { + deviceId: "0", + bundleName: "com.example.myapplication2", + abilityName: ".MainAbility", + }, + } + }, { + params: { + flags: 8, + userId: "0", + } + },OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done() + } + }) + it('getPermissionDef_0200', 0, async function(done){ + await demo.getPermissionDef('com.permission.CAMERA').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual("com.permission.CAMERA"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("CAMERA permission"); + expect(infos.description).assertEqual("CAMERA permission in detail"); + }); + await demo.getPermissionDef('com.permission.music').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual("com.permission.music"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("music permission"); + expect(infos.description).assertEqual("music permission in detail"); + }); + done(); + }) + + it('getPermissionDef_0700', 0, async function(done){ + await demo.getPermissionDef('com.permission.CAMERA', OnReceiveEvent1); + + await demo.getPermissionDef('com.permission.music', OnReceiveEvent2); + + function OnReceiveEvent1(err, data) { + expect(data.name).assertEqual("com.permission.CAMERA"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqua(2); + expect(data.label).assertEqual("CAMERA permission"); + expect(data.description).assertEqual("CAMERA permission in detail"); + } + + function OnReceiveEvent2(err, data) { + expect(data.name).assertEqual("com.permission.music"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqual(2); + expect(data.label).assertEqual("music permission"); + expect(data.description).assertEqual("music permission in detail"); + } + + done(); + }) + +}) diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/config.json index bd0e029b3..c02a2205c 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/config.json +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/config.json @@ -1,6 +1,6 @@ { "app": { - "bundleName": "com.example.napi_test_suite", + "bundleName": "com.example.myapplication_3", "vendor": "example", "version": { "code": 1, @@ -14,9 +14,7 @@ }, "deviceConfig": {}, "module": { - - - "package": "com.example.napi_test_suite", + "package": "com.example.myapplication", "name": ".MyApplication", "deviceType": [ "phone" @@ -31,18 +29,45 @@ "skills": [ { "entities": [ - "entity.system.home" + "entity.system.home", + "flag.home.intent.from.system" ], "actions": [ "action.system.home" ] } ], - "name": "com.example.napi_test_suite.MainAbility", + "name": "com.example.myapplication.MainAbility", "icon": "$media:icon", + "theme":"$media:icon", "description": "$string:mainability_description", - "label": "$string:app_name", + "label": "MyApplication", "type": "page", + "formEntity": [ + "homeScreen", + "searchbox" + ], + "defaultFormHeight": 100, + "minFormHeight": 200, + "defaultFormWidth": 300, + "minFormWidth": 400, + "metaData": { + "parameters" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_parameters_description" + }], + "results" : [{ + "name" : "string", + "type" : "Float", + "description" : "string_results_description" + }], + "customizeData" : [{ + "name" : "string", + "value" : "string", + "extra" : "" + }] + }, "launchType": "standard" } ], @@ -69,11 +94,13 @@ "description": "WeChat permission in detail" } ], + "colorMode": "light", "js": [ { "pages": [ "pages/index/index" ], + "colorMode": "light", "name": "default", "window": { "designWidth": 720, diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/js/test/ExampleJsunit.test.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/js/test/ExampleJsunit.test.js index b2bd475c6..768b17c17 100644 --- a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/js/test/ExampleJsunit.test.js +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene3/src/main/js/test/ExampleJsunit.test.js @@ -129,7 +129,7 @@ describe('appInfoTest', function () { }) it('getApplicationInfo_0300', 0, async function (done) { - var datainfo = await demo.getApplicationInfo('com.example.myapplication1', 8, 1) + var datainfo = await demo.getApplicationInfo('com.example.myapplication4', 8, 1) expect(typeof datainfo).assertEqual("object") expect(datainfo.name.length).assertLarger(0) expect(datainfo.description.length).assertLarger(0) @@ -142,7 +142,7 @@ describe('appInfoTest', function () { }) it('getApplicationInfo_0800', 0, async function (done) { - await demo.getApplicationInfo('com.example.myapplication1', 8, 1, (error, datainfo) => { + await demo.getApplicationInfo('com.example.myapplication4', 8, 1, (error, datainfo) => { expect(typeof datainfo).assertEqual("object") expect(datainfo.name.length).assertLarger(0) expect(datainfo.description.length).assertLarger(0) @@ -155,4 +155,188 @@ describe('appInfoTest', function () { done() }) -}) \ No newline at end of file + it('getBundleInfo_0300', 0, async function (done) { + var datainfo = await demo.getBundleInfo('com.example.myapplication4',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + done() + }) + + it('getBundleInfo_0800', 0, async function (done) { + await demo.getBundleInfo('com.example.myapplication4',1,OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + expect(datainfo.appInfo.descriptionId).assertEqual(16777217) + } + done() + }) + + it('getBundleArchiveInfo_0300', 0, async function (done) { + var datainfo = await demo.getBundleArchiveInfo('/data/bmsJstest4.hap',1) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + done() + }) + + it('getBundleArchiveInfo_0800', 0, async function (done) { + await demo.getBundleArchiveInfo('/data/bmsJstest4.hap',1,OnReceiveEvent) + function OnReceiveEvent(err, datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.vendor.length).assertLarger(0) + expect(datainfo.versionCode).assertEqual(1) + expect(datainfo.versionName).assertEqual(1.0) + expect(datainfo.appInfo.name.length).assertLarger(0) + expect(datainfo.appInfo.description.length).assertLarger(0) + expect(datainfo.appInfo.label.length).assertLarger(0) + expect(datainfo.appInfo.icon.length).assertLarger(0) + } + done() + }) + + it('queryAbilityByWant_0300', 0, async function (done) { + var datainfo = + await demo.queryAbilityByWant({ + want:{ + action: "action.system.home", + entities:["entity.system.home"], + elementName: { + deviceId: "0", + bundleName : "com.example.myapplication4", + abilityName : ".MainAbility", + },}},{ + params:{ + flags: 8 , + userId:"0" , + } + }) + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done(); + }) + + it('queryAbilityByWant_0800', 0, async function (done) { + await demo.queryAbilityByWant({ + want: { + action: "action.system.home", + entities: ["entity.system.home"], + elementName: { + deviceId: "0", + bundleName: "com.example.myapplication4", + abilityName: ".MainAbility", + }, + } + }, { + params: { + flags: 8, + userId: "0", + } + },OnReceiveEvent) + function OnReceiveEvent(err,datainfo) { + expect(datainfo.name.length).assertLarger(0) + expect(datainfo.label.length).assertLarger(0) + expect(datainfo.description.length).assertLarger(0) + expect(datainfo.icon.length).assertLarger(0) + expect(datainfo.moduleName.length).assertLarger(0) + expect(datainfo.bundleName.length).assertLarger(0) + expect(datainfo.applicationInfo.name.length).assertLarger(0) + expect(datainfo.applicationInfo.description.length).assertLarger(0) + expect(datainfo.applicationInfo.icon.length).assertLarger(0) + expect(datainfo.applicationInfo.label.length).assertLarger(0) + done() + } + }) + it('getPermissionDef_0300', 0, async function(done){ + await demo.getPermissionDef('com.permission.CAMERA').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual("com.permission.CAMERA"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("CAMERA permission"); + expect(infos.description).assertEqual("CAMERA permission in detail"); + }); + + await demo.getPermissionDef('com.permission.music').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual("com.permission.music"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("music permission"); + expect(infos.description).assertEqual("music permission in detail"); + }); + + await demo.getPermissionDef('com.permission.WeChat').then((infos) => { + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual("com.permission.WeChat"); + expect(infos.grantMode).assertEqual(1); + expect(infos.availableScope).assertEqual(2); + expect(infos.label).assertEqual("WeChat permission"); + expect(infos.description).assertEqual("WeChat permission in detail"); + }); + + done(); + + }) + it('getPermissionDef_0800', 0, async function(done){ + + await demo.getPermissionDef('com.permission.CAMERA', OnReceiveEvent1); + await demo.getPermissionDef('com.permission.music', OnReceiveEvent2); + + await demo.getPermissionDef('com.permission.WeChat', OnReceiveEvent3); + + function OnReceiveEvent1(err, data) { + + expect(data.name).assertEqual("com.permission.CAMERA"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqual(2); + expect(data.label).assertEqual("CAMERA permission"); + expect(data.description).assertEqual("CAMERA permission in detail"); + } + + function OnReceiveEvent2(err, data) { + expect(data.name).assertEqual("com.permission.music"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqual(2); + expect(data.label).assertEqual("music permission"); + expect(data.description).assertEqual("music permission in detail"); + } + + function OnReceiveEvent3(err, data) { + expect(data.name).assertEqual("com.permission.WeChat"); + expect(data.grantMode).assertEqual(1); + expect(data.availableScope).assertEqual(2); + expect(data.label).assertEqual("WeChat permission"); + expect(data.description).assertEqual("WeChat permission in detail"); + } + + done(); + + }) +}) diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/package.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/package.json new file mode 100644 index 000000000..69a88e3b6 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/package.json @@ -0,0 +1 @@ +{} diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/config.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/config.json new file mode 100644 index 000000000..998dc909c --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/config.json @@ -0,0 +1,86 @@ +{ + "app": { + "bundleName": "com.example.napi_test_suite", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 5, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + + + "package": "com.example.napi_test_suite", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home", + "flag.home.intent.from.system" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.napi_test_suite.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "defPermissions": [ + { + "name": "com.permission.CAMERA", + "grantMode": "system_grant", + "availableScope": ["signature"], + "label": "CAMERA permission", + "description": "CAMERA permission in detail" + }, + { + "name": "com.permission.music", + "grantMode": "system_grant", + "availableScope": ["signature"], + "label": "music permission", + "description": "music permission in detail" + }, + { + "name": "com.permission.WeChat", + "grantMode": "system_grant", + "availableScope": ["signature"], + "label": "WeChat permission", + "description": "WeChat permission in detail" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/app.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/app.js new file mode 100644 index 000000000..394207eb5 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/app.js @@ -0,0 +1,8 @@ +export default { + onCreate() { + console.info('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/en-US.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/en-US.json new file mode 100644 index 000000000..e63c70d97 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/zh-CN.json b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 000000000..de6ee5748 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.css b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.css new file mode 100644 index 000000000..6fda79275 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.css @@ -0,0 +1,9 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.hml b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.hml new file mode 100644 index 000000000..f64b040a5 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.js new file mode 100644 index 000000000..bd83eeac6 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/default/pages/index/index.js @@ -0,0 +1,32 @@ +import file from '@system.file' +import app from '@system.app' +import device from '@system.device' +import router from '@system.router' +import {Core, ExpectExtend, ReportExtend} from 'deccjsunit/index' + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('onShow finish') + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + const reportExtend = new ReportExtend(file) + core.addService('expect', expectExtend) + core.addService('report', reportExtend) + core.init() + const configService = core.getDefaultService('config') + configService.setConfig(this) + + require('../../../test/List.test') + core.execute() + }, + onReady() { + }, +} \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/ExampleJsunit.test.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/ExampleJsunit.test.js new file mode 100644 index 000000000..d9bf9936d --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/ExampleJsunit.test.js @@ -0,0 +1,328 @@ +import app from '@system.app' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +import demo from '@ohos.bundle' + +describe('appInfoTest', function () { + + it('getPermissionDef_0500', 0, async function(done){ + + await demo.getPermissionDef('error').then((infos) => { + + expect(typeof infos).assertEqual("object"); + expect(infos.name).assertEqual(""); + expect(infos.grantMode).assertEqual(""); + expect(infos.availableScope).assertEqual(0); + expect(infos.label).assertEqual(""); + expect(infos.description).assertEqual(""); + }); + + done(); + }) + + + it('getPermissionDef_1000', 0, async function(done){ + await demo.getPermissionDef('error', OnReceiveEvent); + + function OnReceiveEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.name).assertEqual(""); + expect(data.availableScope).assertEqual(0); + expect(data.grantMode).assertEqual(""); + expect(data.label).assertEqual(""); + 3. + expect(data.description).assertEqual(""); + } + + done(); + }) + it('install_0100', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.uninstall('com.example.myapplication1', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication2', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication4', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication5', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication6', { + param: { + userId: 0, + isKeepData: false + } + }); + data.install(['/data/bmsJstest1.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication1', { + param: { + userId: 0, + isKeepData: false + } + }); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + + }); + done(); + }) + it('install_0200', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['/data/bmsJstest2.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.install(['/data/bmsJstest3.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication2', { + param: { + userId: 0, + isKeepData: false + } + }); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + + }); + done(); + }) + it('install_0300', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['/data/bmsJstest4.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.install(['/data/bmsJstest5.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.install(['/data/bmsJstest6.hap'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication4', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication5', { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication6', { + param: { + userId: 0, + isKeepData: false + } + }); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + + }); + done(); + }) + it('install_0400', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['error'], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID"); + } + + }); + done(); + }) + it('install_0500', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install([''], { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID"); + } + + }); + done(); + }) + it('uninstall_0100', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['/data/bmsJstest1.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication1', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + }); + done(); + }) + it('uninstall_0200', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['/data/bmsJstest1.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.install(['/data/bmsJstest2.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication1', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication2', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + }); + done(); + }) + it('uninstall_0300', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.install(['/data/bmsJstest4.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.install(['/data/bmsJstest5.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.install(['/data/bmsJstest6.hap'], { + param: { + userId: 0, + isKeepData: false + } + }); + data.uninstall('com.example.myapplication4', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication5', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + data.uninstall('com.example.myapplication6', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("SUCCESS"); + } + }); + done(); + }) + + it('uninstall_0400', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.uninstall('', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE_ABORTED"); + } + }); + done(); + }) + it('uninstall_0500', 0, async function (done) { + await demo.getBundleInstaller().then((data) => { + data.uninstall('', { + param: { + userId: 0, + isKeepData: false + } + }, OnReceiveinstallEvent); + + function OnReceiveinstallEvent(err, data) { + expect(typeof data).assertEqual("object"); + expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE_ABORTED"); + } + }); + done(); + }) +}) \ No newline at end of file diff --git a/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/List.test.js b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/List.test.js new file mode 100644 index 000000000..305eb5bb2 --- /dev/null +++ b/appexecfwk/bundle_standard/bundlemanager/project/napi_test_suite_scene4/src/main/js/test/List.test.js @@ -0,0 +1 @@ +require('./ExampleJsunit.test.js') \ No newline at end of file -- GitLab