/* * * 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 { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index' import display from '@ohos.display' import screenshot from '@ohos.screenshot' import image from '@ohos.multimedia.image' import screen from '@ohos.screen' describe('screenshot_test', function () { beforeAll(function () { }) beforeEach(function () { }) afterEach(function () { }) afterAll(function () { }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_001 * @tc.name Test screenShotSave_Test_001 * @tc.desc Set the screenshot area to be larger than the screen width and height */ it('screenShotSave_Test_001', 0, function (done) { console.log('screenshotTest screenShotSaveTest1 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest1 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 10000, height: 10000, }, imageSize: { width: 300, height: 300 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest1 screenshot.save success, data :' + JSON.stringify(data)); expect().assertFail(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest1 screenshot.save failed, err : ' + JSON.stringify(err)); expect(err.code == 120).assertTrue(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest1 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_002 * @tc.name Test screenShotSave_Test_002 * @tc.desc Set the size of the screenshot area and the generated image to be larger than the screen width and height */ it('screenShotSave_Test_002', 0, function (done) { console.log('screenshotTest screenShotSaveTest2 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest2 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 10000, height: 10000, }, imageSize: { width: 3000, height: 3000 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest2 screenshot.save success, data :' + JSON.stringify(data)); expect().assertFail(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest2 screenshot.save failed, err : ' + JSON.stringify(err)); expect(err.code == 120).assertTrue(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest2 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done() }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_003 * @tc.name Test screenShotSave_Test_003 * @tc.desc Set the screenshot area and the size of the generated image to be smaller than the screen width and height */ it('screenShotSave_Test_003', 0, function (done) { console.log('screenshotTest screenShotSaveTest3 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest3 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: 300, height: 300 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest3 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest3 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest3 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_004 * @tc.name Test screenShotSave_Test_004 * @tc.desc Set the size of the generated image to be smaller than the screen width and height */ it('screenShotSave_Test_004', 0, function (done) { console.log('screenshotTest screenShotSaveTest4 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest4 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: 3000, height: 3000 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest4 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest4 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest4 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_005 * @tc.name Test screenShotSave_Test_005 * @tc.desc Set the screenshot area to a negative value */ it('screenShotSave_Test_005', 0, function (done) { console.log('screenshotTest screenShotSaveTest5 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest5 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: -50, top: -50, width: -100, height: -100, }, imageSize: { width: 300, height: 300 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest5 screenshot.save success, data :' + JSON.stringify(data)); expect().assertFail(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest5 screenshot.save failed, err : ' + JSON.stringify(err)); expect(err.code == 120).assertTrue(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest5 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_006 * @tc.name Test screenShotSave_Test_006 * @tc.desc Set the screenshot area to 0 */ it('screenShotSave_Test_006', 0, function (done) { console.log('screenshotTest screenShotSaveTest6 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest6 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 0, height: 0, }, imageSize: { width: 300, height: 300 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest6 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest6 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); done() }) }, (err) => { console.log('screenshotTest screenShotSaveTest6 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_007 * @tc.name Test screenShotSave_Test_007 * @tc.desc Set the generated image size to a negative value */ it('screenShotSave_Test_007', 0, function (done) { console.log('screenshotTest screenShotSaveTest7 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest7 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: -300, height: -300 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest7 screenshot.save success, data :' + JSON.stringify(data)); expect().assertFail(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest7 screenshot.save failed, err : ' + JSON.stringify(err)); expect(err.code == 120).assertTrue(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest7 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_008 * @tc.name Test screenShotSave_Test_008 * @tc.desc Set the generated image size to 0 */ it('screenShotSave_Test_008', 0, function (done) { console.log('screenshotTest screenShotSaveTest8 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest8 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: 0, height: 0 }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest8 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest8 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest8 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_009 * @tc.name Test screenShotSave_Test_009 * @tc.desc Set the screenshot area and the size of the generated image to be equal to the screen width and height */ it('screenShotSave_Test_009', 0, function (done) { console.log('screenshotTest screenShotSaveTest9 begin'); display.getDefaultDisplay().then((dsp) => { console.log('screenshotTest screenShotSaveTest9 display.getDefaultDisplay success, dsp :' + JSON.stringify(dsp)); expect(dsp != null).assertTrue(); var screenshotOptions = { screenRect: { left: 0, top: 0, width: dsp.width, height: dsp.height }, imageSize: { width: dsp.width, height: dsp.height }, displayId: dsp.id }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest9 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest9 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); }) }, (err) => { console.log('screenshotTest screenShotSaveTest9 display.getDefaultDisplay failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_010 * @tc.name Test screenShotSave_Test_010 * @tc.desc Take a screenshot of a screen that doesn't exist */ it('screenShotSave_Test_010', 0, function (done) { console.log('screenshotTest screenShotSaveTest10 begin'); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: 300, height: 300 }, displayId: null }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest10 screenshot.save success, data :' + JSON.stringify(data)); expect(data != null).assertTrue() done(); }, (err) => { console.log('screenshotTest screenShotSaveTest10 screenshot.save failed, err : ' + JSON.stringify(err)); expect().assertFail(); done(); }) }) /** * @tc.number SUB_SCREENSHOT_SAVE_JSAPI_011 * @tc.name Test screenShotSave_Test_011 * @tc.desc Test screenshot.save API function test11 */ it('screenShotSave_Test_011', 0, function (done) { console.log('screenshotTest screenShotSaveTest11 begin'); var screenshotOptions = { screenRect: { left: 0, top: 0, width: 100, height: 100, }, imageSize: { width: 300, height: 300 }, displayId: 1000 }; screenshot.save(screenshotOptions).then((data) => { console.log('screenshotTest screenShotSaveTest11 screenshot.save success, data :' + JSON.stringify(data)); expect().assertFail(); done(); }, (err) => { console.log('screenshotTest screenShotSaveTest11 screenshot.save failed, err : ' + JSON.stringify(err)); expect(err.code == 120).assertTrue(); done(); }) }) })