PasteBoeadPixelMapJsunit.test.ets 8.8 KB
Newer Older
L
liangzhenyu123 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
/*
 * Copyright (C) 2021 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 '@ohos/hypium'
import pasteboard from '@ohos.pasteboard'
import image from '@ohos.multimedia.image';

const color = new ArrayBuffer(96);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
export default function pasteBoardTest(){
    describe('pasteBoardEtsTest', function() {
        console.info('start################################start');

         /**
         * @tc.number    SUB_PASTEBOARD_FUNCTION_ETS_TEST_0100
         * @tc.name      Create pixelMap data
         * @tc.desc      Test pasteBoard API functionality.
         * @tc.size      : MEDIUM
         * @tc.type      : Function
         * @tc.level     : Level 0
         */
        it('SUB_PASTEBOARD_FUNCTION_ETS_TEST_0100', 0, async function (done) {
            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0100 start")
            var systemPasteBoard = pasteboard.getSystemPasteboard();
            await systemPasteBoard.clear().then(async () => {
                var pasteData = undefined;
                var pixelMap = undefined;
                console.info("systemPasteBoard clear data success")
                await image.createPixelMap(color,opts).then(async (PixelMap) => {
                    console.info("Create pixelMap success")
                    pixelMap = PixelMap
                })
                pasteData = pasteboard.createPixelMapData(pixelMap)
                console.info("Create pixelMap data success")
                var hasType = pasteData.hasMimeType(pasteboard.MIMETYPE_PIXELMAP);
                expect(hasType).assertTrue();
                await systemPasteBoard.setPasteData(pasteData).then(async () => {
                    console.info("set pastedata success")
                    await systemPasteBoard.hasPasteData().then(async (data) => {
                        console.info("Check pastedata has data success, result: " + data)
                        expect(data).assertTrue();
                        await systemPasteBoard.getPasteData().then(async (data) => {
                            console.info("get paste data success")
                            expect(data.getRecordCount()).assertEqual(1)
                            let pixelMap1 = data.getRecordAt(0).pixelMap
                            let pixelMap2 = data.getPrimaryPixelMap()
                            if(pixelMap1 != null){
                                expect(0).assertEqual(0)
                            }else{
                                expect(1).assertEqual(0)
                            }
                            if(pixelMap2 != null){
                                expect(0).assertEqual(0)
                            }else{
                                expect(1).assertEqual(0)
                            }
                        })
                    })
                })
            })
            done();
        })

        /**
         * @tc.number    SUB_PASTEBOARD_FUNCTION_ETS_TEST_0200
         * @tc.name      Create pixelMap
         * @tc.desc      Test pasteBoard API functionality.
         * @tc.size      : MEDIUM
         * @tc.type      : Function
         * @tc.level     : Level 0
         */
         it('SUB_PASTEBOARD_FUNCTION_ETS_TEST_0200', 0, async function (done) {
            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0200 start")
            var systemPasteBoard = pasteboard.getSystemPasteboard();
            await systemPasteBoard.clear().then(async () => {
                var pasteData = undefined;
                var pixelMap = undefined;
                await image.createPixelMap(color,opts).then(async (PixelMap) => {
                    pixelMap = PixelMap
                })
                pasteData = pasteboard.createUriData("https://www.baidu.com/")
                let pixelMapRecord = pasteboard.createPixelMapRecord(pixelMap)
                pasteData.addRecord(pixelMapRecord)
                await systemPasteBoard.setPasteData(pasteData).then(async () => {
                    await systemPasteBoard.hasPasteData().then(async (data) => {
                        expect(data).assertTrue();
                        await systemPasteBoard.getPasteData().then((data) => {
                            expect(data.getRecordCount()).assertEqual(2)
                            // expect(data.getRecordAt(1).pixelMap).assertNotNull();
                            if(data.getRecordAt(1).pixelMap != null){
                                expect(0).assertEqual(1)
                            }else{
                                expect(0).assertEqual(0)
                            }
                        })
                    })
                })
            })
            done();
        })

        /**
         * @tc.number    SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300
         * @tc.name      Adds PixelMapRecord
         * @tc.desc      Test pasteBoard API functionality.
         * @tc.size      : MEDIUM
         * @tc.type      : Function
         * @tc.level     : Level 0
         */
         it('SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300', 0, async function (done) {
            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start")
            var systemPasteBoard = pasteboard.getSystemPasteboard();
            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start1")
            await systemPasteBoard.clear().then(async () => {
                console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start2")
                var pasteData = undefined;
                var pixelMap = undefined;
                await image.createPixelMap(color,opts).then(async (PixelMap) => {
                    pixelMap = PixelMap
                })
                console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start4")
                pasteData = pasteboard.createUriData("https://www.baidu.com/")
                console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start5")
                pasteData.addPixelMapRecord(pixelMap)
                console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start6")
                await systemPasteBoard.setPasteData(pasteData).then(async () => {
                    console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start7")
                    await systemPasteBoard.hasPasteData().then(async (data) => {
                        console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start8")
                        expect(data).assertTrue();
                        await systemPasteBoard.getPasteData().then((data) => {
                            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0300 start9")
                            expect(data.getRecordCount()).assertEqual(2)
                        })
                    })
                })
            })
            done();
        })

        /**
         * @tc.number    SUB_PASTEBOARD_FUNCTION_ETS_TEST_0400
         * @tc.name      Adds one record(s)
         * @tc.desc      Test pasteBoard API functionality.
         * @tc.size      : MEDIUM
         * @tc.type      : Function
         * @tc.level     : Level 0
        */
       it('SUB_PASTEBOARD_FUNCTION_ETS_TEST_0400', 0, async function (done) {
            var uri = "https://www.baidu.com/"
            console.info("SUB_PASTEBOARD_FUNCTION_ETS_TEST_0400 start")
            var systemPasteBoard = pasteboard.getSystemPasteboard();
            await systemPasteBoard.clear().then(async () => {
                var pasteData = undefined;
                pasteData = pasteboard.createUriData(uri)
                await systemPasteBoard.setPasteData(pasteData).then(async () => {
                    await systemPasteBoard.hasPasteData().then(async (data) => {
                        expect(data).assertTrue();
                        await systemPasteBoard.getPasteData().then((data) => {
                            expect(uri).assertEqual(data.getRecordAt(0).uri)
                            expect('text/uri').assertEqual(data.getRecordAt(0).mimeType)
                            console.info(data.getRecordAt(0).mimeType)
                        })
                    })
                })
            })
            done();
        })
    });

}