未验证 提交 e7ea82c1 编写于 作者: O openharmony_ci 提交者: Gitee

!3133 feat: 回合 “@system.battery.d.ts @system.brightness.d.ts XTS用例” Release3.1分支

Merge pull request !3133 from ShiJie/OpenHarmony-3.1-Release
......@@ -15,6 +15,7 @@ group("powermgr") {
testonly = true
deps = [
"powermgrbattery:powermgr_battery_test",
"powermgrdisplay:powermgr_display_test",
"powermgrpower:powermgr_power_test",
"powermgrthermal:powermgr_thermal_test",
]
......
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Copyright (C) 2021-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
......@@ -13,4 +13,5 @@
* limitations under the License.
*/
require('./battery_unit.test.js')
require('./power_manager_running_lock.test.js')
\ No newline at end of file
require('./power_manager_running_lock.test.js')
require('./system_battery.test.js')
......@@ -182,6 +182,7 @@ describe('appInfoTest', function () {
})
})
it('power_is_screen_on_promise_test', 0, async function (done) {//isScreenOn(): Promise<boolean>
power.wakeupDevice("power_is_screen_on_promise_test");
power.isScreenOn()
.then(screenOn => {
console.info('power_is_screen_on_promise_test screenOn is ' + screenOn);
......@@ -196,6 +197,7 @@ describe('appInfoTest', function () {
})
})
it('power_is_screen_on_callback_test', 0, async function (done) {//isScreenOn(callback: AsyncCallback<boolean>)
power.wakeupDevice("power_is_screen_on_callback_test");
power.isScreenOn((error, screenOn) => {
if (typeof error === "undefined") {
console.info('power_is_screen_on_callback_test screenOn is ' + screenOn);
......
/*
* 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 battery from '@system.battery';
import batteryInfo from '@ohos.battery';
import {describe, it, expect} from 'deccjsunit/index';
function successFunc(data, tag) {
console.log(tag + ": level: " + data.level + ", charging: " + data.charging);
let soc = (batteryInfo.batterySOC * 0.01);
expect(fabs(soc - data.level) <= 1e-9).assertTrue();
if (batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.ENABLE ||
batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.FULL) {
expect(data.charging).assertTrue();
} else {
expect(data.charging).assertFalse();
}
}
function failFunc(data, code, tag) {
console.log(tag + ": data: " + data + ", code: " + code);
expect().assertFail();
}
function completeFunc(tag) {
console.log(tag + ": The device information is obtained successfully.");
}
describe('appInfoTest', function () {
console.log("*************System Battery Unit Test Begin*************");
/**
* @tc.number system_battery_js_0100
* @tc.name get_status_success_test
* @tc.desc Battery acquisition kit
*/
const successTest = "get_status_success_test";
it(successTest, 0, function () {
let execSucc = false;
let execcomplete = false;
battery.getStatus({
success: (data) => {
execSucc = true;
successFunc(data, successTest);
},
fail: (data, code) => {
failFunc(data, code, successTest);
},
complete: () => {
execcomplete = true;
completeFunc(successTest);
}
});
expect(execSucc).assertTrue();
expect(execcomplete).assertTrue();
});
/**
* @tc.number system_battery_js_0200
* @tc.name get_status_success_null_test
* @tc.desc Battery acquisition kit
*/
const successNullTest = "get_status_success_null_test";
it(successNullTest, 0, function () {
let execcomplete = false;
battery.getStatus({
success: null,
fail: (data, code) => {
failFunc(data, code, successNullTest);
},
complete: () => {
execcomplete = true;
completeFunc(successNullTest);
}
});
expect(execcomplete).assertTrue();
});
/**
* @tc.number system_battery_js_0300
* @tc.name get_status_success_empty_test
* @tc.desc Battery acquisition kit
*/
const successEmptyTest = "get_status_success_null_test";
it(successEmptyTest, 0, function () {
let execcomplete = false;
battery.getStatus({
fail: (data, code) => {
failFunc(data, code, successEmptyTest);
},
complete: () => {
execcomplete = true;
completeFunc(successEmptyTest);
}
});
expect(execcomplete).assertTrue();
});
/**
* @tc.number system_battery_js_0400
* @tc.name get_status_fail_null_test
* @tc.desc Battery acquisition kit
*/
let failNullTest = "get_status_fail_null_test";
it(failNullTest, 0, function () {
let execSucc = false;
let execcomplete = false;
battery.getStatus({
success: (data) => {
execSucc = true;
successFunc(data, failNullTest);
},
fail: null,
complete: () => {
execcomplete = true;
completeFunc(failNullTest);
}
});
expect(execSucc).assertTrue();
expect(execcomplete).assertTrue();
});
/**
* @tc.number system_battery_js_0500
* @tc.name get_status_fail_empty_test
* @tc.desc Battery acquisition kit
*/
let failEmptyTest = "get_status_fail_empty_test";
it(failEmptyTest, 0, function () {
let execSucc = false;
let execcomplete = false;
battery.getStatus({
success: () => {
execSucc = true;
successFunc(data, failEmptyTest);
},
complete: () => {
execcomplete = true;
completeFunc(failEmptyTest);
}
});
expect(execSucc).assertTrue();
expect(execcomplete).assertTrue();
});
/**
* @tc.number system_battery_js_0600
* @tc.name get_status_complete_null_test
* @tc.desc Battery acquisition kit
*/
let completeNullTest = "get_status_complete_null_test";
it(completeNullTest, 0, function () {
let execSucc = false;
battery.getStatus({
success: (data) => {
execSucc = true;
successFunc(data, completeNullTest);
},
fail: (data, code) => {
failFunc(data, code, completeNullTest);
},
complete: null
});
expect(execSucc).assertTrue();
});
/**
* @tc.number system_battery_js_0700
* @tc.name get_status_complete_empty_test
* @tc.desc Battery acquisition kit
*/
let completeEmptyTest = "get_status_complete_empty_test";
it(completeEmptyTest, 0, function () {
let execSucc = false;
battery.getStatus({
success: (data) => {
execSucc = true;
successFunc(data, completeEmptyTest);
},
fail: (data, code) => {
failFunc(data, code, completeEmptyTest);
}
});
expect(execSucc).assertTrue();
});
/**
* @tc.number system_battery_js_0800
* @tc.name get_status_all_null
* @tc.desc Battery acquisition kit
*/
it('get_status_all_null', 0, function () {
let allNull = false;
battery.getStatus({
success: null,
fail: null,
complete: null,
});
expect(!allNull).assertTrue();
});
/**
* @tc.number system_battery_js_0800
* @tc.name get_status_all_empty
* @tc.desc Battery acquisition kit
*/
it('get_status_all_empty', 0, function () {
let allNull = false;
battery.getStatus();
expect(!allNull).assertTrue();
});
});
# 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("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("powermgr_display_test") {
hap_profile = "./src/main/config.json"
deps = [
":powermgr_display_js_assets",
":powermgr_display_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsPowerMgrDisplayTest"
}
ohos_js_assets("powermgr_display_js_assets") {
source_dir = "./src/main/js/default"
}
ohos_resources("powermgr_display_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
{
"description": "Configuration for powermgr display Tests",
"driver": {
"type": "JSUnitTest",
"test-timeout": "60000",
"package": "com.example.mypowerdisplayapp",
"shell-timeout": "60000"
},
"kits": [
{
"test-file-name": [
"ActsPowerMgrDisplayTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
}
]
}
{
"app": {
"bundleName": "com.example.mypowerdisplayapp",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5
}
},
"deviceConfig": {},
"module": {
"package": "com.example.mypowerdisplayapp",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"visible": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.mypowerdisplayapp.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
/*
* 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 device from '@system.device';
export default {
onCreate() {
console.info('AceApplication onCreate');
},
onDestroy() {
console.info('AceApplication onDestroy');
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
}
}
\ 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.
*/
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<!--
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.
-->
<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.
*/
import app from '@system.app'
import {Core, ExpectExtend} 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'
})
core.addService('expect', expectExtend)
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.
*/
require('./system_display.test.js')
\ 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 brightness from '@system.brightness';
import { describe } from 'deccjsunit/index';
const INPUT_ERROR_CODE_CODE = 202;
const SET_VALUE_MSG = "setValue: value is not an available number";
const SET_MODE_MSG = "setMode: value is not an available number";
function isNotSupported(data) {
return data === "setMode: Auto adjusting brightness is not supported";
}
function sleep(time){
return new Promise((resolve) => setTimeout(resolve, time));
}
describe('appInfoTest', function () {
console.log("*************System SystemDisplay Unit Test Begin*************");
/**
* @tc.number system_display_js_0100
* @tc.name get_value_success
* @tc.desc Get brightness success
*/
it('get_value_success', 0, function () {
let execSucc = false;
let execComplete = false;
let currValue = 100;
let setValue = 120;
brightness.getValue({
success: (data) => {
currValue = data.value;
let value = (data.value > 0) && (data.value <= 255);
expect(value).assertTrue();
}
});
brightness.setValue({
value: setValue
});
brightness.getValue({
success: (data) => {
execSucc = true;
expect(setValue === data.value).assertTrue();
},
fail: (data, code) => {
console.log("get_value_success, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
brightness.setValue({
value: currValue
});
});
/**
* @tc.number system_display_js_0101
* @tc.name get_value_success_not_must_test
* @tc.desc Get brightness
*/
it('get_status_test_success_not_must', 0, function () {
let execComplete = false;
brightness.getValue({
fail: (data, code) => {
console.log("get_status_test_success_not_must, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execComplete).assertTrue();
})
/**
* @tc.number system_display_js_0102
* @tc.name get_value_fail_not_must_test
* @tc.desc Get brightness
*/
it('get_value_fail_not_must_test', 0, function () {
let execComplete = false;
brightness.getValue({
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execComplete).assertTrue();
});
/**
* @tc.number system_display_js_0103
* @tc.name get_value_null_test
* @tc.desc Get brightness
*/
it('get_status_test_fail_not_must', 0, function () {
brightness.getValue();
expect(true).assertTrue();
})
/**
* @tc.number system_display_js_0200
* @tc.name set_value_success_all
* @tc.desc Set brightness success
*/
it('set_value_success_all', 0, function () {
let execSucc = false;
let execComplete = false;
let setValue = 200;
let currValue = 100;
brightness.getValue({
success: (data) => {
currValue = data.value;
}
});
brightness.setValue({
value: setValue,
success: () => {
execSucc = true;
brightness.getValue({
success: (data) => {
expect(data.value === setValue).assertTrue();
}
});
},
fail: (data, code) => {
console.log("set_value_success_all, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
brightness.setValue({
value: currValue
});
});
/**
* @tc.number system_display_js_0201
* @tc.name set_value_success_value
* @tc.desc Set brightness success
*/
it('set_value_success_value', 0, function () {
let setValue = 50;
let currValue = 100;
brightness.getValue({
success: (data) => {
currValue = data.value;
}
});
brightness.setValue({ value: setValue });
brightness.getValue({
success: (data) => {
console.log("set_value_success_value, brightness: " + data.value);
expect(data.value === setValue).assertTrue();
}
});
brightness.setValue({ value: currValue });
});
/**
* @tc.number system_display_js_0202
* @tc.name set_value_fail
* @tc.desc Set brightness fail
*/
it('set_value_fail', 0, function () {
let setValue = "50";
brightness.setValue({
value: setValue,
success: () => {
console.log("set_value_fail success");
expect().assertFail();
},
fail: (data, code) => {
console.log("set_value_fail, data: " + data + ", code: " + code);
expect(code === NPUT_ERROR_CODE).assertTrue();
expect(data === SET_VALUE_MSG).assertTrue();
}
});
});
/**
* @tc.number system_display_js_0300
* @tc.name get_mode_success
* @tc.desc Get mode success
*/
it('get_mode_success', 0, function () {
let execSucc = false;
let execComplete = false;
let modeVal = 0;
let exec = true;
brightness.getMode({
success: (data) => {
console.log("get_mode_success: get mode: " + data.mode);
modeVal = data.mode;
}
});
brightness.setMode({
mode: modeVal ? 0 : 1,
fail: (data, code) => {
console.log("get_mode_success, data: " + data + ", code: " + code);
exec = isNotSupported(data) ? false : true;
}
})
if (!exec) {
return;
}
brightness.getMode({
success: (data) => {
execSucc = true;
expect(data.mode === !modeVal).assertTrue() ;
},
fail: (data, code) => {
console.log("get_mode_success, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
brightness.setMode({ mode: modeVal });
})
/**
* @tc.number system_display_js_0301
* @tc.name get_mode_success_null
* @tc.desc Get mode success is null
*/
it('get_mode_success_null', 0, function () {
let execComplete = false;
brightness.getMode({
fail: (data, code) => {
console.log("get_mode_success_null, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execComplete).assertTrue();
});
/**
* @tc.number system_display_js_0400
* @tc.name set_mode_success
* @tc.desc set mode success
*/
it('set_mode_success', 0, function () {
let execSucc = false;
let execComplete = false;
let modeVal = 0;
brightness.getMode({
success: (data) => {
modeVal = data.mode;
}
});
brightness.setMode({
mode: modeVal ? 0 : 1,
success: () => {
execSucc = true;
console.log("set_mode_success success");
brightness.getMode({
success: (data) => {
console.log("set_mode_success, data: " + data.mode);
expect(data.mode === !modeVal).assertTrue();
}
});
},
fail: (data, code) => {
if (!isNotSupported(data)) {
console.log("set_mode_success, data: " + data + ", code: " + code);
expect().assertFail();
} else {
console.log("set_mode_success not supported");
execSucc = true;
expect(isNotSupported(data)).assertTrue();
}
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
brightness.setMode({ mode: modeVal });
});
/**
* @tc.number system_display_js_0401
* @tc.name set_mode_fail
* @tc.desc set mode fail
*/
it('set_mode_fail', 0, function () {
let execComplete = false;
brightness.setMode({
mode: "0",
success: () => {
expect().assertFail();
},
fail: (data, code) => {
console.log("set_mode_fail, data: " + data + ", code: " + code);
expect(code === INPUT_ERROR_CODE_CODE).assertTrue();
expect(data === SET_MODE_MSG).assertTrue();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execComplete).assertTrue();
});
/**
* @tc.number system_display_js_0500
* @tc.name set_keep_screen_on_true
* @tc.desc set keep screen on true
*/
it('set_keep_screen_on_true', 0, async function () {
let execSucc = false;
let execComplete = false;
let sleepTime = 35 * 1000;
brightness.setKeepScreenOn({
keepScreenOn: true,
success: () => {
execSucc = true;
},
fail: (data, code) => {
console.log("set_keep_screen_on, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
await sleep(sleepTime);
power.isScreenOn().then(screenOn => {
console.info('The current screenOn is ' + screenOn);
expect(screenOn).assertTrue();
}).catch(error => {
console.log('isScreenOn error: ' + error);
})
})
/**
* @tc.number system_display_js_0501
* @tc.name set_keep_screen_on_false
* @tc.desc set keep screen on false
*/
it('set_keep_screen_on_false', 0, async function () {
let execSucc = false;
let execComplete = false;
let sleepTime = 35 * 1000;
brightness.setKeepScreenOn({
keepScreenOn: false,
success: () => {
execSucc = true;
},
fail: (data, code) => {
console.log("set_keep_screen_on_false, data: " + data + ", code: " + code);
expect().assertFail();
},
complete: () => {
execComplete = true;
console.log("The device information is obtained successfully. Procedure");
}
});
expect(execSucc).assertTrue();
expect(execComplete).assertTrue();
await sleep(sleepTime);
power.isScreenOn().then(screenOn => {
console.info('set_keep_screen_on_false The current screenOn is ' + screenOn);
expect(screenOn).assertFalse();
}).catch(error => {
console.log('set_keep_screen_on_false isScreenOn error: ' + error);
});
});
});
{
"string": [
{
"name": "app_name",
"value": "MyDisplayApp"
},
{
"name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability"
}
]
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册