提交 e40a84cc 编写于 作者: J jiyong_sd

Adapt to the new framework

Signed-off-by: Njiyong_sd <jiyong@huawei.com>
Change-Id: I473f6d482d5ea09855afcc269f304b122f436205
上级 d736bfc3
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import("//test/xts/tools/build/suite.gni") import("//test/xts/tools/build/suite.gni")
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import("//test/xts/tools/build/suite.gni") import("//test/xts/tools/build/suite.gni")
......
{ {
"app": { "app": {
"bundleName": "com.amsst.stdataability", "bundleName": "com.amsst.stdataability",
"vendor": "test", "vendor": "test",
"version": { "version": {
"code": 1000110, "code": 1000110,
"name": "1.1.1" "name": "1.1.1"
}, },
"apiVersion": { "apiVersion": {
"compatible": 9, "compatible": 9,
"target": 9 "target": 9
} }
}, },
"deviceConfig": {}, "deviceConfig": {},
"module": { "module": {
"package": "com.amsst.stdataability", "package": "com.amsst.stdataability",
"name": ".MyApplication", "name": ".MyApplication",
"mainAbility": ".MainAbility", "mainAbility": ".MainAbility",
"srcPath": "", "srcPath": "",
"deviceType": [ "deviceType": [
"phone" "phone"
], ],
"distro": { "distro": {
"deliveryWithInstall": true, "deliveryWithInstall": true,
"moduleName": "entry", "moduleName": "entry",
"moduleType": "entry", "moduleType": "entry",
"installationFree": false "installationFree": false
}, },
"abilities": [ "abilities": [
{ {
"skills": [ "skills": [
{ {
"entities": [ "entities": [
"entity.system.home" "entity.system.home"
], ],
"actions": [ "actions": [
"action.system.home" "action.system.home"
] ]
} }
], ],
"orientation": "unspecified", "orientation": "unspecified",
"visible": true, "visible": true,
"srcPath": "MainAbility", "srcPath": "MainAbility",
"name": ".MainAbility", "name": ".MainAbility",
"srcLanguage": "ets", "srcLanguage": "ets",
"icon": "$media:icon", "icon": "$media:icon",
"description": "$string:description_mainability", "description": "$string:description_mainability",
"formsEnabled": false, "formsEnabled": false,
"label": "$string:entry_MainAbility", "label": "$string:entry_MainAbility",
"type": "page", "type": "page",
"launchType": "standard" "launchType": "standard"
}, },
{ {
"srcPath": "TestDataAbility", "srcPath": "TestDataAbility",
"name": ".TestDataAbility", "name": ".TestDataAbility",
"icon": "$media:icon", "icon": "$media:icon",
"srcLanguage": "ets", "srcLanguage": "ets",
"description": "$string:description_testdataability", "description": "$string:description_testdataability",
"type": "data", "type": "data",
"visible": true, "visible": true,
"uri": "dataability://com.example.myapplication.DataAbility" "uri": "dataability://com.example.myapplication.DataAbility"
}, },
{ {
"srcPath": "TestDataAbility2", "srcPath": "TestDataAbility2",
"name": ".TestDataAbility2", "name": ".TestDataAbility2",
"icon": "$media:icon", "icon": "$media:icon",
"srcLanguage": "ets", "srcLanguage": "ets",
"description": "$string:description_testdataability", "description": "$string:description_testdataability",
"type": "data", "type": "data",
"visible": true, "visible": true,
"uri": "dataability://com.example.myapplication.DataAbility2" "uri": "dataability://com.example.myapplication.DataAbility2"
} }
], ],
"js": [ "js": [
{ {
"mode": { "mode": {
"syntax": "ets", "syntax": "ets",
"type": "pageAbility" "type": "pageAbility"
}, },
"pages": [ "pages": [
"pages/index", "pages/index",
"pages/second" "pages/second"
], ],
"name": ".MainAbility", "name": ".MainAbility",
"window": { "window": {
"designWidth": 720, "designWidth": 720,
"autoDesignWidth": false "autoDesignWidth": false
} }
} }
], ],
"defPermissions": [ "defPermissions": [
{ {
"name": "com.ohos.screenlock.DataAbilityShellProvider.PROVIDER" "name": "com.ohos.screenlock.DataAbilityShellProvider.PROVIDER"
} }
] ]
} }
} }
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import AbilityStage from "@ohos.application.AbilityStage" import AbilityStage from "@ohos.application.AbilityStage"
export default class MyAbilityStage extends AbilityStage { export default class MyAbilityStage extends AbilityStage {
onCreate() { onCreate() {
console.log("MyAbilityStage onCreate"); console.log("MyAbilityStage onCreate");
} }
} }
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import Ability from '@ohos.application.Ability' import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability { export default class MainAbility extends Ability {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("jws onCreate"); console.log("jws onCreate");
} }
onDestroy() { onDestroy() {
console.log("jws onDestroy"); console.log("jws onDestroy");
} }
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log("jws onWindowStageCreate"); console.log("jws onWindowStageCreate");
} }
onWindowStageDestroy() { onWindowStageDestroy() {
console.log("jws onWindowStageDestroy"); console.log("jws onWindowStageDestroy");
} }
onForeground() { onForeground() {
console.log("jws onForeground"); console.log("jws onForeground");
} }
onBackground() { onBackground() {
console.log("jws onBackground"); console.log("jws onBackground");
} }
call(){ call(){
} }
} }
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
export default { export default {
onCreate() { onCreate() {
console.info('Application onCreate') console.info('Application onCreate')
}, },
onDestroy() { onDestroy() {
console.info('Application onDestroy') console.info('Application onDestroy')
}, },
} }
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import {Core} from 'deccjsunit/index' import {Core} from 'deccjsunit/index'
@Entry @Entry
@Component @Component
struct Index { struct Index {
aboutToAppear() { aboutToAppear() {
console.info('onShow finish') console.info('onShow finish')
const core = Core.getInstance() const core = Core.getInstance()
core.init() core.init()
const configService = core.getDefaultService('config') const configService = core.getDefaultService('config')
configService.setConfig(this) configService.setConfig(this)
core.execute() core.execute()
} }
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World') Text('Hello World')
.fontSize(50) .fontSize(50)
.fontWeight(FontWeight.Bold) .fontWeight(FontWeight.Bold)
} }
.width('100%') .width('100%')
.height('100%') .height('100%')
} }
} }
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import router from '@system.router'; import router from '@system.router';
@Entry @Entry
@Component @Component
struct Second { struct Second {
private content: string = "Second Page" private content: string = "Second Page"
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text(`${this.content}`) Text(`${this.content}`)
.fontSize(50) .fontSize(50)
.fontWeight(FontWeight.Bold) .fontWeight(FontWeight.Bold)
Button() { Button() {
Text('back to index') Text('back to index')
.fontSize(20) .fontSize(20)
.fontWeight(FontWeight.Bold) .fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule) }.type(ButtonType.Capsule)
.margin({ .margin({
top: 20 top: 20
}) })
.backgroundColor('#0D9FFB') .backgroundColor('#0D9FFB')
.onClick(() => { .onClick(() => {
router.back() router.back()
}) })
} }
.width('100%') .width('100%')
.height('100%') .height('100%')
} }
} }
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import dataAbility from '@ohos.data.dataAbility' import dataAbility from '@ohos.data.dataAbility'
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
import fileio from '@ohos.fileio' import fileio from '@ohos.fileio'
import dataRdb from '@ohos.data.rdb' import dataRdb from '@ohos.data.rdb'
const TABLE_NAME = 'book' const TABLE_NAME = 'book'
const STORE_CONFIG = {name: 'book.db'} const STORE_CONFIG = {name: 'book.db'}
const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS book' + const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS book' +
'(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)' '(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)'
let rdbStore: any = undefined let rdbStore: any = undefined
const TAG = 'ACTS_ DataAbility.data' const TAG = 'ACTS_ DataAbility.data'
const context = featureAbility.getContext() const context = featureAbility.getContext()
let defaultReturn = 1; let defaultReturn = 1;
let returnError = 0; let returnError = 0;
let returnError1 = -1; let returnError1 = -1;
let returnError2 = -2; let returnError2 = -2;
let returnError3 = -3; let returnError3 = -3;
let dataAbilityUri = ("dataability:///com.example.myapplication.DataAbility"); let dataAbilityUri = ("dataability:///com.example.myapplication.DataAbility");
export default { export default {
onInitialized(abilityInfo) { onInitialized(abilityInfo) {
console.debug('ACTS_ DataAbility onInitialized,abilityInfo=' + abilityInfo.bundleName) console.debug('ACTS_ DataAbility onInitialized,abilityInfo=' + abilityInfo.bundleName)
dataRdb.getRdbStore(context, STORE_CONFIG, 1, (err, store) => { dataRdb.getRdbStore(context, STORE_CONFIG, 1, (err, store) => {
console.debug('ACTS_ [data]getRdbStoreThen') console.debug('ACTS_ [data]getRdbStoreThen')
store.executeSql(SQL_CREATE_TABLE, []) store.executeSql(SQL_CREATE_TABLE, [])
rdbStore = store rdbStore = store
}); });
}, },
insert(uri, valueBucket, callback) { insert(uri, valueBucket, callback) {
console.debug(TAG + ' insert start 1121') console.debug(TAG + ' insert start 1121')
console.debug(TAG + ' valueBucket json=>' + JSON.stringify(valueBucket)) console.debug(TAG + ' valueBucket json=>' + JSON.stringify(valueBucket))
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
console.debug(TAG + ' valueBucket.age =>' + valueBucket.age) console.debug(TAG + ' valueBucket.age =>' + valueBucket.age)
console.debug(TAG + ' valueBucket.name =>' + valueBucket.name) console.debug(TAG + ' valueBucket.name =>' + valueBucket.name)
console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary) console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary)
if (valueBucket.age != 24) { if (valueBucket.age != 24) {
err = "Error age" err = "Error age"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.name != "ActsDataAbilityHelperTest") { if (valueBucket.name != "ActsDataAbilityHelperTest") {
err = "Error name" err = "Error name"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.salary != 2024.20) { if (valueBucket.salary != 2024.20) {
err = "Error salary" err = "Error salary"
callback(err, returnError2); callback(err, returnError2);
} }
err = "Error insert" err = "Error insert"
console.debug(TAG + ' rdbStore.insert ') console.debug(TAG + ' rdbStore.insert ')
rdbStore.insert(TABLE_NAME, valueBucket, function (err, resultSet) { rdbStore.insert(TABLE_NAME, valueBucket, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
query(uri, columns, predicates, callback) { query(uri, columns, predicates, callback) {
console.debug(TAG + ' query start') console.debug(TAG + ' query start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.query(rdbPredicates, columns, callback) rdbStore.query(rdbPredicates, columns, callback)
}, },
update(uri, valueBucket, predicates, callback) { update(uri, valueBucket, predicates, callback) {
console.debug(TAG + 'update start') console.debug(TAG + 'update start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
console.debug(TAG + ' valueBucket.age =>' + valueBucket.age) console.debug(TAG + ' valueBucket.age =>' + valueBucket.age)
console.debug(TAG + ' valueBucket.name =>' + valueBucket.name) console.debug(TAG + ' valueBucket.name =>' + valueBucket.name)
console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary) console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary)
if (valueBucket.age != 24) { if (valueBucket.age != 24) {
err = "Error age" err = "Error age"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.name != "ActsDataAbilityHelperTest") { if (valueBucket.name != "ActsDataAbilityHelperTest") {
err = "Error name" err = "Error name"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.salary != 2024.20) { if (valueBucket.salary != 2024.20) {
err = "Error salary" err = "Error salary"
callback(err, returnError2); callback(err, returnError2);
} }
err = "Error update" err = "Error update"
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.update(valueBucket, rdbPredicates, function (err, resultSet) { rdbStore.update(valueBucket, rdbPredicates, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
delete(uri, predicates, callback) { delete(uri, predicates, callback) {
console.debug(TAG + 'delete start') console.debug(TAG + 'delete start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.delete(rdbPredicates, function (err, resultSet) { rdbStore.delete(rdbPredicates, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
call(uri, method, arg, extras, callback) { call(uri, method, arg, extras, callback) {
console.debug(TAG + 'call start') console.debug(TAG + 'call start')
console.debug(TAG + 'uri---->' + uri) console.debug(TAG + 'uri---->' + uri)
console.debug(TAG + 'method---->' + uri) console.debug(TAG + 'method---->' + uri)
}, },
batchInsert(uri, values, callback) { batchInsert(uri, values, callback) {
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
for (var j = 0; j < values.length; j++) { for (var j = 0; j < values.length; j++) {
rdbStore.insert("EMPLOYEE", values[j], function (err, ret) { rdbStore.insert("EMPLOYEE", values[j], function (err, ret) {
console.log(TAG + "batchInsert callback ret:" + JSON.stringify(ret)) console.log(TAG + "batchInsert callback ret:" + JSON.stringify(ret))
}) })
} }
console.log(TAG + "batchInsert values.length:" + values.length + ' ,json=' + JSON.stringify(values.length)) console.log(TAG + "batchInsert values.length:" + values.length + ' ,json=' + JSON.stringify(values.length))
callback(err, values.length); callback(err, values.length);
}, },
getType(uri, callback) { getType(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by getType ================'); console.info(TAG + '==================== DataAbility test interface by getType ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
callback("success", uri); callback("success", uri);
}, },
getFileTypes(uri, mimeTypeFilter, callback) { getFileTypes(uri, mimeTypeFilter, callback) {
console.info(TAG + '==================== DataAbility test interface by GetFileTypes ================'); console.info(TAG + '==================== DataAbility test interface by GetFileTypes ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let type1 = " "; let type1 = " ";
let type2 = " "; let type2 = " ";
let type3 = " "; let type3 = " ";
let types; let types;
if (mimeTypeFilter == "*/*") { if (mimeTypeFilter == "*/*") {
type1 = ("hap"); type1 = ("hap");
type2 = ("jpg"); type2 = ("jpg");
type3 = ("image/png"); type3 = ("image/png");
types = [type1, type2, type3]; types = [type1, type2, type3];
} else if (mimeTypeFilter == "image/*") { } else if (mimeTypeFilter == "image/*") {
type1 = ("image/png"); type1 = ("image/png");
types = [type1]; types = [type1];
} else if (mimeTypeFilter == "*/jpg") { } else if (mimeTypeFilter == "*/jpg") {
type1 = ("jpg"); type1 = ("jpg");
types = [type1]; types = [type1];
} }
console.log(TAG + "GetFileTypes callback ret:" + JSON.stringify(types)) console.log(TAG + "GetFileTypes callback ret:" + JSON.stringify(types))
callback("success", types); callback("success", types);
}, },
openFile(uri, mode, callback) { openFile(uri, mode, callback) {
console.info(TAG + '==================== DataAbility test interface by openFile ================'); console.info(TAG + '==================== DataAbility test interface by openFile ================');
let defaultReturn = 1; let defaultReturn = 1;
let returnError1 = -1; let returnError1 = -1;
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
if (!(mode == ("r") || mode == ("w") || mode == ("wt") || mode == ("wa") || if (!(mode == ("r") || mode == ("w") || mode == ("wt") || mode == ("wa") ||
mode == ("rw") || mode == ("rwt"))) { mode == ("rw") || mode == ("rwt"))) {
if (mode == ("A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7")) { if (mode == ("A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7")) {
defaultReturn = returnError2; defaultReturn = returnError2;
} else } else
defaultReturn = returnError3; defaultReturn = returnError3;
} }
console.info(TAG + " path = /data/test "); console.info(TAG + " path = /data/test ");
let path = "/data/test" let path = "/data/test"
fileio.stat(path).then(function (stat) { fileio.stat(path).then(function (stat) {
console.info(TAG + "openFile getFileInfo successfully callback ret:" + JSON.stringify(stat)); console.info(TAG + "openFile getFileInfo successfully callback ret:" + JSON.stringify(stat));
}).catch(function (err) { }).catch(function (err) {
console.info(TAG + "openFile getFileInfo failed with error callback ret:" + err); console.info(TAG + "openFile getFileInfo failed with error callback ret:" + err);
defaultReturn = returnError1; defaultReturn = returnError1;
}); });
console.info(TAG + " path ==>" + path); console.info(TAG + " path ==>" + path);
callback("success", defaultReturn); callback("success", defaultReturn);
}, },
normalizeUri(uri, callback) { normalizeUri(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by normalizeUri ================'); console.info(TAG + '==================== DataAbility test interface by normalizeUri ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, ""); callback(err, "");
} }
callback("success", uri); callback("success", uri);
}, },
denormalizeUri(uri, callback) { denormalizeUri(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by denormalizeUri ================'); console.info(TAG + '==================== DataAbility test interface by denormalizeUri ================');
console.info(TAG + "denormalizeUri uri:" + JSON.stringify(uri)); console.info(TAG + "denormalizeUri uri:" + JSON.stringify(uri));
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, ""); callback(err, "");
} }
callback("success", uri); callback("success", uri);
} }
}; };
\ No newline at end of file
/* /*
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import dataAbility from '@ohos.data.dataAbility' import dataAbility from '@ohos.data.dataAbility'
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
import fileio from '@ohos.fileio' import fileio from '@ohos.fileio'
import dataRdb from '@ohos.data.rdb' import dataRdb from '@ohos.data.rdb'
const TABLE_NAME = 'book' const TABLE_NAME = 'book'
const STORE_CONFIG = {name: 'book.db'} const STORE_CONFIG = {name: 'book.db'}
const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS book' + const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS book' +
'(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)' '(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, introduction TEXT NOT NULL)'
let rdbStore: any = undefined let rdbStore: any = undefined
const TAG = 'ACTS_ DataAbility.data' const TAG = 'ACTS_ DataAbility.data'
const context = featureAbility.getContext() const context = featureAbility.getContext()
let defaultReturn = 1; let defaultReturn = 1;
let returnError = 0; let returnError = 0;
let returnError1 = -1; let returnError1 = -1;
let returnError2 = -2; let returnError2 = -2;
let returnError3 = -3; let returnError3 = -3;
let dataAbilityUri = ("dataability:///com.example.myapplication.DataAbility2"); let dataAbilityUri = ("dataability:///com.example.myapplication.DataAbility2");
export default { export default {
onInitialized(abilityInfo) { onInitialized(abilityInfo) {
console.debug('ACTS_ DataAbility onInitialized,abilityInfo=' + abilityInfo.bundleName) console.debug('ACTS_ DataAbility onInitialized,abilityInfo=' + abilityInfo.bundleName)
dataRdb.getRdbStore(context, STORE_CONFIG, 1, (err, store) => { dataRdb.getRdbStore(context, STORE_CONFIG, 1, (err, store) => {
console.debug('ACTS_ [data]getRdbStoreThen') console.debug('ACTS_ [data]getRdbStoreThen')
store.executeSql(SQL_CREATE_TABLE, []) store.executeSql(SQL_CREATE_TABLE, [])
rdbStore = store rdbStore = store
}); });
}, },
insert(uri, valueBucket, callback) { insert(uri, valueBucket, callback) {
console.debug(TAG + ' insert start 1121') console.debug(TAG + ' insert start 1121')
console.debug(TAG + ' valueBucket json=>' + JSON.stringify(valueBucket)) console.debug(TAG + ' valueBucket json=>' + JSON.stringify(valueBucket))
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
console.debug(TAG + ' valueBucket.age =>' + valueBucket.age) console.debug(TAG + ' valueBucket.age =>' + valueBucket.age)
console.debug(TAG + ' valueBucket.name =>' + valueBucket.name) console.debug(TAG + ' valueBucket.name =>' + valueBucket.name)
console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary) console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary)
if (valueBucket.age != 24) { if (valueBucket.age != 24) {
err = "Error age" err = "Error age"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.name != "ActsDataAbilityHelperTest") { if (valueBucket.name != "ActsDataAbilityHelperTest") {
err = "Error name" err = "Error name"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.salary != 2024.20) { if (valueBucket.salary != 2024.20) {
err = "Error salary" err = "Error salary"
callback(err, returnError2); callback(err, returnError2);
} }
err = "Error insert" err = "Error insert"
console.debug(TAG + ' rdbStore.insert ') console.debug(TAG + ' rdbStore.insert ')
rdbStore.insert(TABLE_NAME, valueBucket, function (err, resultSet) { rdbStore.insert(TABLE_NAME, valueBucket, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
query(uri, columns, predicates, callback) { query(uri, columns, predicates, callback) {
console.debug(TAG + ' query start') console.debug(TAG + ' query start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.query(rdbPredicates, columns, callback) rdbStore.query(rdbPredicates, columns, callback)
}, },
update(uri, valueBucket, predicates, callback) { update(uri, valueBucket, predicates, callback) {
console.debug(TAG + 'update start') console.debug(TAG + 'update start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
console.debug(TAG + ' valueBucket.age =>' + valueBucket.age) console.debug(TAG + ' valueBucket.age =>' + valueBucket.age)
console.debug(TAG + ' valueBucket.name =>' + valueBucket.name) console.debug(TAG + ' valueBucket.name =>' + valueBucket.name)
console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary) console.debug(TAG + ' valueBucket.salary =>' + valueBucket.salary)
if (valueBucket.age != 24) { if (valueBucket.age != 24) {
err = "Error age" err = "Error age"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.name != "ActsDataAbilityHelperTest") { if (valueBucket.name != "ActsDataAbilityHelperTest") {
err = "Error name" err = "Error name"
callback(err, returnError2); callback(err, returnError2);
} }
if (valueBucket.salary != 2024.20) { if (valueBucket.salary != 2024.20) {
err = "Error salary" err = "Error salary"
callback(err, returnError2); callback(err, returnError2);
} }
err = "Error update" err = "Error update"
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.update(valueBucket, rdbPredicates, function (err, resultSet) { rdbStore.update(valueBucket, rdbPredicates, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
delete(uri, predicates, callback) { delete(uri, predicates, callback) {
console.debug(TAG + 'delete start') console.debug(TAG + 'delete start')
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.delete(rdbPredicates, function (err, resultSet) { rdbStore.delete(rdbPredicates, function (err, resultSet) {
console.log(TAG + "insert callback resultSet:" + resultSet console.log(TAG + "insert callback resultSet:" + resultSet
+ " ,json=" + JSON.stringify(resultSet) + ' ,err' + err) + " ,json=" + JSON.stringify(resultSet) + ' ,err' + err)
callback(err, defaultReturn); callback(err, defaultReturn);
}) })
}, },
call(uri, method, arg, extras, callback) { call(uri, method, arg, extras, callback) {
console.debug(TAG + 'call start') console.debug(TAG + 'call start')
console.debug(TAG + 'uri---->' + uri) console.debug(TAG + 'uri---->' + uri)
console.debug(TAG + 'method---->' + uri) console.debug(TAG + 'method---->' + uri)
}, },
batchInsert(uri, values, callback) { batchInsert(uri, values, callback) {
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
for (var j = 0; j < values.length; j++) { for (var j = 0; j < values.length; j++) {
rdbStore.insert("EMPLOYEE", values[j], function (err, ret) { rdbStore.insert("EMPLOYEE", values[j], function (err, ret) {
console.log(TAG + "batchInsert callback ret:" + JSON.stringify(ret)) console.log(TAG + "batchInsert callback ret:" + JSON.stringify(ret))
}) })
} }
console.log(TAG + "batchInsert values.length:" + values.length + ' ,json=' + JSON.stringify(values.length)) console.log(TAG + "batchInsert values.length:" + values.length + ' ,json=' + JSON.stringify(values.length))
callback(err, values.length); callback(err, values.length);
}, },
getType(uri, callback) { getType(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by getType ================'); console.info(TAG + '==================== DataAbility test interface by getType ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
callback("success", uri); callback("success", uri);
}, },
getFileTypes(uri, mimeTypeFilter, callback) { getFileTypes(uri, mimeTypeFilter, callback) {
console.info(TAG + '==================== DataAbility test interface by GetFileTypes ================'); console.info(TAG + '==================== DataAbility test interface by GetFileTypes ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
let type1 = " "; let type1 = " ";
let type2 = " "; let type2 = " ";
let type3 = " "; let type3 = " ";
let types; let types;
if (mimeTypeFilter == "*/*") { if (mimeTypeFilter == "*/*") {
type1 = ("hap"); type1 = ("hap");
type2 = ("jpg"); type2 = ("jpg");
type3 = ("image/png"); type3 = ("image/png");
types = [type1, type2, type3]; types = [type1, type2, type3];
} else if (mimeTypeFilter == "image/*") { } else if (mimeTypeFilter == "image/*") {
type1 = ("image/png"); type1 = ("image/png");
types = [type1]; types = [type1];
} else if (mimeTypeFilter == "*/jpg") { } else if (mimeTypeFilter == "*/jpg") {
type1 = ("jpg"); type1 = ("jpg");
types = [type1]; types = [type1];
} }
console.log(TAG + "GetFileTypes callback ret:" + JSON.stringify(types)) console.log(TAG + "GetFileTypes callback ret:" + JSON.stringify(types))
callback("success", types); callback("success", types);
}, },
openFile(uri, mode, callback) { openFile(uri, mode, callback) {
console.info(TAG + '==================== DataAbility test interface by openFile ================'); console.info(TAG + '==================== DataAbility test interface by openFile ================');
let defaultReturn = 1; let defaultReturn = 1;
let returnError1 = -1; let returnError1 = -1;
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, returnError1); callback(err, returnError1);
} }
if (!(mode == ("r") || mode == ("w") || mode == ("wt") || mode == ("wa") || if (!(mode == ("r") || mode == ("w") || mode == ("wt") || mode == ("wa") ||
mode == ("rw") || mode == ("rwt"))) { mode == ("rw") || mode == ("rwt"))) {
if (mode == ("A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7")) { if (mode == ("A1@k#4%$,.<>)(oioiu*((*&(&*giIGT^%&^Ug;sdfk;losd*7873iug8%&^$&%]ERFUy&^%&&R7")) {
defaultReturn = returnError2; defaultReturn = returnError2;
} else } else
defaultReturn = returnError3; defaultReturn = returnError3;
} }
console.info(TAG + " path = /data/test "); console.info(TAG + " path = /data/test ");
let path = "/data/test" let path = "/data/test"
fileio.stat(path).then(function (stat) { fileio.stat(path).then(function (stat) {
console.info(TAG + "openFile getFileInfo successfully callback ret:" + JSON.stringify(stat)); console.info(TAG + "openFile getFileInfo successfully callback ret:" + JSON.stringify(stat));
}).catch(function (err) { }).catch(function (err) {
console.info(TAG + "openFile getFileInfo failed with error callback ret:" + err); console.info(TAG + "openFile getFileInfo failed with error callback ret:" + err);
defaultReturn = returnError1; defaultReturn = returnError1;
}); });
console.info(TAG + " path ==>" + path); console.info(TAG + " path ==>" + path);
callback("success", defaultReturn); callback("success", defaultReturn);
}, },
normalizeUri(uri, callback) { normalizeUri(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by normalizeUri ================'); console.info(TAG + '==================== DataAbility test interface by normalizeUri ================');
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, ""); callback(err, "");
} }
callback("success", uri); callback("success", uri);
}, },
denormalizeUri(uri, callback) { denormalizeUri(uri, callback) {
console.info(TAG + '==================== DataAbility test interface by denormalizeUri ================'); console.info(TAG + '==================== DataAbility test interface by denormalizeUri ================');
console.info(TAG + "denormalizeUri uri:" + JSON.stringify(uri)); console.info(TAG + "denormalizeUri uri:" + JSON.stringify(uri));
let err = "Error Uri" let err = "Error Uri"
if (uri != dataAbilityUri) { if (uri != dataAbilityUri) {
console.debug(TAG + ' uri != dataAbilityUri') console.debug(TAG + ' uri != dataAbilityUri')
callback(err, ""); callback(err, "");
} }
callback("success", uri); callback("success", uri);
} }
}; };
\ No newline at end of file
{ {
"string": [ "string": [
{ {
"name": "entry_MainAbility", "name": "entry_MainAbility",
"value": "ServiceExtAbility" "value": "ServiceExtAbility"
}, },
{ {
"name": "description_mainability", "name": "description_mainability",
"value": "eTS_Empty Ability" "value": "eTS_Empty Ability"
}, },
{ {
"name": "description_serviceextability", "name": "description_serviceextability",
"value": "hap sample empty service" "value": "hap sample empty service"
}, },
{ {
"name": "description_dataability", "name": "description_dataability",
"value": "hap sample empty provider" "value": "hap sample empty provider"
}, },
{ {
"name": "description_mainability2", "name": "description_mainability2",
"value": "eTS_Empty Ability" "value": "eTS_Empty Ability"
}, },
{ {
"name": "entry_MainAbility2", "name": "entry_MainAbility2",
"value": "entry_MainAbility2" "value": "entry_MainAbility2"
}, },
{ {
"name": "description_testdataability", "name": "description_testdataability",
"value": "hap sample empty provider" "value": "hap sample empty provider"
}, },
{ {
"name": "permreason_dataability", "name": "permreason_dataability",
"value": "request dataability premission" "value": "request dataability premission"
} }
] ]
} }
\ No newline at end of file
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import("//test/xts/tools/build/suite.gni") import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsFWKDataAccessorTest") { ohos_js_hap_suite("ActsFWKDataAccessorTest") {
hap_profile = "./src/main/config.json"
hap_name = "ActsFWKDataAccessorTest" hap_name = "ActsFWKDataAccessorTest"
hap_profile = "./entry/src/main/config.json"
deps = [ deps = [
":hjs_demo_js_assets", ":hjs_demo_js_assets",
":hjs_demo_resources", ":hjs_demo_resources",
...@@ -23,9 +23,11 @@ ohos_js_hap_suite("ActsFWKDataAccessorTest") { ...@@ -23,9 +23,11 @@ ohos_js_hap_suite("ActsFWKDataAccessorTest") {
certificate_profile = "./signature/openharmony_sx.p7b" certificate_profile = "./signature/openharmony_sx.p7b"
} }
ohos_js_assets("hjs_demo_js_assets") { ohos_js_assets("hjs_demo_js_assets") {
source_dir = "./entry/src/main/js/default" js2abc = true
hap_profile = "./src/main/config.json"
source_dir = "./src/main/js"
} }
ohos_resources("hjs_demo_resources") { ohos_resources("hjs_demo_resources") {
sources = [ "./entry/src/main/js/resources" ] sources = [ "./src/main/resources" ]
hap_profile = "./entry/src/main/config.json" hap_profile = "./src/main/config.json"
} }
{ {
"description": "Configuration for hjunit demo Tests", "description": "Configuration for hjunit demo Tests",
"driver": { "driver": {
"type": "JSUnitTest", "type": "OHJSUnitTest",
"test-timeout": "180000", "test-timeout": "180000",
"package": "com.amsst.fwkdataaccessor", "shell-timeout": "180000",
"shell-timeout": "60000" "bundle-name": "com.amsst.fwkdataaccessor",
}, "package-name": "com.amsst.fwkdataaccessor"
"kits": [ },
{ "kits": [
"test-file-name": [ {
"ActsFWKDataAccessorTest.hap", "test-file-name": [
"ActsDataAbilityRelyHap.hap" "ActsFWKDataAccessorTest.hap",
], "ActsDataAbilityRelyHap.hap"
"type": "AppInstallKit", ],
"cleanup-apps": true "type": "AppInstallKit",
} "cleanup-apps": true
] }
} ]
}
\ No newline at end of file
{
"app": {
"bundleName": "com.amsst.fwkdataaccessor",
"vendor": "amsst",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.amsst.fwkdataaccessor",
"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.amsst.fwkdataaccessor.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard",
"visible": true
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
\ No newline at end of file
{
"app": {
"bundleName": "com.amsst.fwkdataaccessor",
"vendor": "amsst",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.amsst.fwkdataaccessor",
"name": ".entry",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "unspecified",
"formsEnabled": false,
"name": ".MainAbility",
"srcLanguage": "js",
"srcPath": "MainAbility",
"icon": "$media:icon",
"description": "$string:MainAbility_desc",
"label": "$string:MainAbility_label",
"type": "page",
"visible": true,
"launchType": "standard"
},
{
"orientation": "unspecified",
"formsEnabled": false,
"name": ".TestAbility",
"srcLanguage": "js",
"srcPath": "TestAbility",
"icon": "$media:icon",
"description": "$string:TestAbility_desc",
"label": "$string:TestAbility_label",
"type": "page",
"visible": true,
"launchType": "standard"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
},
{
"pages": [
"pages/index/index"
],
"name": ".TestAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
],
"testRunner": {
"name": "OpenHarmonyTestRunner",
"srcPath": "TestRunner"
},
"mainAbility": ".MainAbility",
"srcPath": ""
}
}
\ No newline at end of file
/* /*
* Copyright (C) 2021 Huawei Device Co., Ltd. * Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
export default { export default {
onCreate() { onCreate() {
console.info('AceApplication onCreate'); console.info('AceApplication onCreate');
}, },
onDestroy() { onDestroy() {
console.info('AceApplication onDestroy'); console.info('AceApplication onDestroy');
} }
}; };
.container { .container {
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.title { .title {
font-size: 100px; font-size: 100px;
} }
.titleST { .titleST {
font-size: 32px; font-size: 32px;
} }
\ No newline at end of file
<div class="container"> <div class="container">
<text class="title"> <text class="title">
{{ $t('strings.hello') }} {{ title }} {{ $t('strings.hello') }} {{ title }}
</text> </text>
<text class="titleST"> <text class="titleST">
STDataAbility STDataAbility
</text> </text>
</div> </div>
/* /*
* Copyright (C) 2021 Huawei Device Co., Ltd. * Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import file from '@system.file' import file from '@system.file'
import app from '@system.app' import app from '@system.app'
import {Core, ExpectExtend, ReportExtend} from 'deccjsunit/index'
export default {
export default { data: {
data: { title: ""
title: "" },
}, onInit() {
onInit() { this.title = this.$t('strings.world');
this.title = this.$t('strings.world'); },
}, onShow() {
onShow() { console.info('====onShow finish====<')
console.info('====onShow finish====<') },
const core = Core.getInstance() onReady() {
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
/*
* 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.
*/
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../test/List.test'
export default {
onCreate() {
console.info('TestApplication onCreate')
var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
},
onDestroy() {
console.info("TestApplication onDestroy");
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
},
"Files": {
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
},
"Files": {
}
}
\ No newline at end of file
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
}
.title {
font-size: 60px;
text-align: center;
width: 100%;
height: 40%;
margin: 10px;
}
@media screen and (device-type: phone) and (orientation: landscape) {
.title {
font-size: 60px;
}
}
@media screen and (device-type: tablet) and (orientation: landscape) {
.title {
font-size: 100px;
}
}
\ No newline at end of file
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
/*
* 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.
*/
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
}
}
/*
* 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.
*/
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
function translateParamsToString(parameters) {
const keySet = new Set([
'-s class', '-s notClass', '-s suite', '-s itName',
'-s level', '-s testType', '-s size', '-s timeout',
'-s package', '-s dryRun'
])
let targetParams = '';
for (const key in parameters) {
if (keySet.has(key)) {
targetParams += ' ' + key + ' ' + parameters[key]
}
}
return targetParams.trim()
}
export default {
onPrepare() {
console.info('OpenHarmonyTestRunner OnPrepare')
},
onRun() {
console.log('OpenHarmonyTestRunner onRun run')
var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.TestAbility'
var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName
cmd += ' ' + translateParamsToString(abilityDelegatorArguments.parameters)
var debug = abilityDelegatorArguments.parameters["-D"]
console.info('debug value : '+debug)
if (debug == 'true')
{
cmd += ' -D'
}
console.info('cmd : '+cmd)
abilityDelegator.executeShellCommand(cmd, (err, data) => {
console.info('executeShellCommand : err : ' + JSON.stringify(err));
console.info('executeShellCommand : data : ' + data.stdResult);
console.info('executeShellCommand : data : ' + data.exitCode);
})
}
};
/* /*
* Copyright (C) 2021 Huawei Device Co., Ltd. * Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
require('./DataAbilityHelperJsSt.test.js') import ActsDataAbilityHelperTest from './DataAbilityHelperJsSt.test.js'
\ No newline at end of file export default function testsuite() {
ActsDataAbilityHelperTest()
}
{ {
"string": [ "string": [
{ {
"name": "app_name", "name": "app_name",
"value": "STDataAbility" "value": "STDataAbility"
}, },
{ {
"name": "mainability_description", "name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability" "value": "JS_Phone_Empty Feature Ability"
} },
] {
"name": "MainAbility_desc",
"value": "description"
},
{
"name": "MainAbility_label",
"value": "label"
},
{
"name": "TestAbility_desc",
"value": "description"
},
{
"name": "TestAbility_label",
"value": "label"
}
]
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册