1/* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the 'License'); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an 'AS IS' BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15// @ts-nocheck 16import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' 17import pasteboard from '@ohos.pasteboard' 18import image from '@ohos.multimedia.image' 19 20describe('PasteBoardJSTest', function () { 21 beforeAll(async function () { 22 console.info('beforeAll'); 23 }) 24 25 afterAll(async function () { 26 console.info('afterAll'); 27 }) 28 29 /** 30 * @tc.name pasteboard_function_test1 31 * @tc.desc Adds PlainTextData 32 * @tc.type Function 33 * @tc.require AR000H5HVI 34 */ 35 it('pasteboard_function_test1', 0, async function (done) { 36 var systemPasteboard = pasteboard.getSystemPasteboard(); 37 systemPasteboard.clear().then(() => { 38 var textData = 'Hello World!'; 39 var pasteData = pasteboard.createPlainTextData(textData); 40 systemPasteboard.setPasteData(pasteData).then(() => { 41 systemPasteboard.hasPasteData().then((data) => { 42 expect(data).assertEqual(true); 43 var types = pasteData.getMimeTypes(); 44 expect("text/plain").assertEqual(types[0]); 45 systemPasteboard.getPasteData().then((data) => { 46 var pasteData1 = data; 47 expect(pasteData1.getRecordCount()).assertEqual(1); 48 var primaryText = pasteData1.getPrimaryText(); 49 expect(primaryText).assertEqual(textData); 50 expect(pasteboard.MAX_RECORD_NUM).assertEqual(512); 51 expect(pasteData1.getPrimaryMimeType()).assertEqual(pasteboard.MIMETYPE_TEXT_PLAIN); 52 done(); 53 }) 54 }); 55 }); 56 }); 57 }) 58 59 /** 60 * @tc.name pasteboard_function_test2 61 * @tc.desc Adds PlainTextData = '' 62 * @tc.type Function 63 * @tc.require AR000H5HVI 64 */ 65 it('pasteboard_function_test2', 0, async function (done) { 66 var systemPasteboard = pasteboard.getSystemPasteboard(); 67 systemPasteboard.clear().then(() => { 68 var textData = ''; 69 var pasteData = pasteboard.createPlainTextData(textData); 70 systemPasteboard.setPasteData(pasteData).then(() => { 71 systemPasteboard.hasPasteData().then((data) => { 72 expect(data).assertEqual(true); 73 systemPasteboard.getPasteData().then((data) => { 74 var recordCount = data.getRecordCount(); 75 expect(recordCount).assertEqual(1); 76 done(); 77 }) 78 }); 79 }); 80 }); 81 }) 82 83 /** 84 * @tc.name pasteboard_function_test3 85 * @tc.desc Adds PlainTextData = 'Hello 中国!@#$%^&*()_+{}\?.' 86 * @tc.type Function 87 * @tc.require AR000H5HVI 88 */ 89 it('pasteboard_function_test3', 0, async function (done) { 90 var systemPasteboard = pasteboard.getSystemPasteboard(); 91 systemPasteboard.clear().then(() => { 92 var textData = 'Hello 中国!@#$%^&*()_+{}\?.'; 93 var pasteData = pasteboard.createPlainTextData(textData); 94 systemPasteboard.setPasteData(pasteData).then(() => { 95 systemPasteboard.hasPasteData().then((data) => { 96 expect(data).assertEqual(true); 97 systemPasteboard.getPasteData().then((data) => { 98 var pasteData1 = data; 99 expect(pasteData1.getRecordCount()).assertEqual(1); 100 var primaryText = pasteData1.getPrimaryText() 101 expect(primaryText).assertEqual(textData); 102 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN)).assertEqual(true); 103 done(); 104 }) 105 }); 106 }); 107 }); 108 }) 109 110 /** 111 * @tc.name pasteboard_function_test4 112 * @tc.desc Adds 300K PlainTextData 113 * @tc.type Function 114 * @tc.require AR000H5HVI 115 */ 116 it('pasteboard_function_test4', 0, async function (done) { 117 var systemPasteboard = pasteboard.getSystemPasteboard(); 118 systemPasteboard.clear().then(() => { 119 var textData = '' 120 for (var i = 0; i < 300; i++) { 121 textData = textData + "A"; 122 } 123 var pasteData = pasteboard.createPlainTextData(textData); 124 systemPasteboard.setPasteData(pasteData).then(() => { 125 systemPasteboard.hasPasteData().then((data) => { 126 expect(data).assertEqual(true); 127 systemPasteboard.getPasteData().then((data) => { 128 var pasteData1 = data; 129 expect(pasteData1.getRecordCount()).assertEqual(1); 130 var primaryText = pasteData1.getPrimaryText(); 131 expect(primaryText).assertEqual(textData); 132 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN)).assertEqual(true); 133 expect(pasteData1.getPrimaryMimeType()).assertEqual(pasteboard.MIMETYPE_TEXT_PLAIN); 134 done(); 135 }) 136 }); 137 }); 138 }); 139 }) 140 141 /** 142 * @tc.name pasteboard_function_test5 143 * @tc.desc Adds htmlText 144 * @tc.type Function 145 * @tc.require AR000H5HVI 146 */ 147 it('pasteboard_function_test5', 0, async function (done) { 148 var systemPasteboard = pasteboard.getSystemPasteboard(); 149 systemPasteboard.clear().then(() => { 150 var htmlText = '<html><head></head><body>Hello World!</body></html>'; 151 var pasteData = pasteboard.createHtmlData(htmlText); 152 systemPasteboard.setPasteData(pasteData).then(() => { 153 systemPasteboard.hasPasteData().then((data) => { 154 expect(data).assertEqual(true); 155 systemPasteboard.getPasteData().then((data) => { 156 var pasteData1 = data; 157 expect(pasteData1.getRecordCount()).assertEqual(1); 158 var primaryHtml = pasteData1.getPrimaryHtml(); 159 expect(primaryHtml).assertEqual(htmlText); 160 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_HTML)).assertEqual(true); 161 expect(pasteData1.getPrimaryMimeType()).assertEqual(pasteboard.MIMETYPE_TEXT_HTML); 162 done(); 163 }) 164 }); 165 }); 166 }); 167 }) 168 169 /** 170 * @tc.name pasteboard_function_test6 171 * @tc.desc Adds htmlText = '' 172 * @tc.type Function 173 * @tc.require AR000H5HVI 174 */ 175 it('pasteboard_function_test6', 0, async function (done) { 176 var systemPasteboard = pasteboard.getSystemPasteboard(); 177 systemPasteboard.clear().then(() => { 178 var htmlText = ''; 179 var pasteData = pasteboard.createHtmlData(htmlText); 180 systemPasteboard.setPasteData(pasteData).then(() => { 181 systemPasteboard.hasPasteData().then((data) => { 182 expect(data).assertEqual(true); 183 systemPasteboard.getPasteData().then((data) => { 184 expect(data.getRecordCount()).assertEqual(1); 185 var primaryHtml = data.getPrimaryHtml(); 186 expect(primaryHtml).assertEqual(htmlText); 187 expect(data.hasMimeType(pasteboard.MIMETYPE_TEXT_HTML)).assertEqual(true); 188 expect(data.getPrimaryMimeType()).assertEqual(pasteboard.MIMETYPE_TEXT_HTML); 189 done(); 190 }) 191 }); 192 }); 193 }); 194 }) 195 196 /** 197 * @tc.name pasteboard_function_test7 198 * @tc.desc Adds htmlText = 'Hello 中国!@#$%^&*()_+{}\?.' 199 * @tc.type Function 200 * @tc.require AR000H5HVI 201 */ 202 it('pasteboard_function_test7', 0, async function (done) { 203 var systemPasteboard = pasteboard.getSystemPasteboard(); 204 systemPasteboard.clear().then(() => { 205 var htmlText = 'Hello 中国!@#$%^&*()_+{}\?.' 206 var pasteData = pasteboard.createHtmlData(htmlText); 207 systemPasteboard.setPasteData(pasteData).then(() => { 208 systemPasteboard.hasPasteData().then((data) => { 209 expect(data).assertEqual(true); 210 systemPasteboard.getPasteData().then((data) => { 211 expect(data.getRecordCount()).assertEqual(1); 212 expect(data.hasMimeType(pasteboard.MIMETYPE_TEXT_HTML)).assertEqual(true); 213 expect(data.getPrimaryMimeType()).assertEqual(pasteboard.MIMETYPE_TEXT_HTML); 214 expect(data.getPrimaryHtml()).assertEqual(htmlText); 215 done(); 216 }) 217 }); 218 }); 219 }); 220 }) 221 222 /** 223 * @tc.name pasteboard_function_test8 224 * @tc.desc Adds uriText 225 * @tc.type Function 226 * @tc.require AR000H5HVI 227 */ 228 it('pasteboard_function_test8', 0, async function (done) { 229 var systemPasteboard = pasteboard.getSystemPasteboard(); 230 systemPasteboard.clear().then(() => { 231 var uriText = 'https://www.baidu.com/'; 232 var pasteData = pasteboard.createUriData(uriText); 233 systemPasteboard.setPasteData(pasteData).then(() => { 234 systemPasteboard.hasPasteData().then((data) => { 235 expect(data).assertEqual(true); 236 systemPasteboard.getPasteData().then((data) => { 237 var pasteData1 = data; 238 expect(pasteData1.getRecordCount()).assertEqual(1); 239 var primaryUri = pasteData1.getPrimaryUri() 240 expect(primaryUri).assertEqual(uriText); 241 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_URI)).assertEqual(true); 242 done(); 243 }) 244 }); 245 }); 246 }); 247 }) 248 249 /** 250 * @tc.name pasteboard_function_test9 251 * @tc.desc Adds uriText = '' 252 * @tc.type Function 253 * @tc.require AR000H5HVI 254 */ 255 it('pasteboard_function_test9', 0, async function (done) { 256 var systemPasteboard = pasteboard.getSystemPasteboard(); 257 systemPasteboard.clear().then(() => { 258 var uriText = ''; 259 var pasteData = pasteboard.createUriData(uriText); 260 systemPasteboard.setPasteData(pasteData).then(() => { 261 systemPasteboard.hasPasteData().then((data) => { 262 expect(data).assertEqual(true); 263 systemPasteboard.getPasteData().then((data) => { 264 var pasteData1 = data; 265 expect(pasteData1.getRecordCount()).assertEqual(1); 266 expect(pasteData1.getPrimaryUri()).assertEqual(uriText); 267 done(); 268 }) 269 }); 270 }); 271 }); 272 }) 273 274 /** 275 * @tc.name pasteboard_function_test10 276 * @tc.desc Set uriText = 'Hello //' 277 * @tc.type Function 278 * @tc.require AR000H5HVI 279 */ 280 it('pasteboard_function_test10', 0, async function (done) { 281 var systemPasteboard = pasteboard.getSystemPasteboard(); 282 systemPasteboard.clear().then(() => { 283 var uriText = 'Hello//'; 284 var pasteData = pasteboard.createUriData(uriText); 285 systemPasteboard.setPasteData(pasteData).then(() => { 286 systemPasteboard.hasPasteData().then((data) => { 287 expect(data).assertEqual(true); 288 systemPasteboard.getPasteData().then((data) => { 289 var pasteData1 = data; 290 expect(pasteData1.getRecordCount()).assertEqual(1); 291 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_URI)).assertEqual(true); 292 expect(pasteData1.getPrimaryUri()).assertEqual(uriText); 293 done(); 294 }) 295 }); 296 }); 297 }); 298 }) 299 300 /** 301 * @tc.name pasteboard_function_test11 302 * @tc.desc Adds want 303 * @tc.type Function 304 * @tc.require AR000H5HVI 305 */ 306 it('pasteboard_function_test11', 0, async function (done) { 307 var systemPasteboard = pasteboard.getSystemPasteboard(); 308 systemPasteboard.clear().then(() => { 309 var want = { 310 bundleName: "com.example.myapplication8", 311 abilityName: "com.example.myapplication8.MainAbility" 312 } 313 var pasteData = pasteboard.createWantData(want); 314 systemPasteboard.setPasteData(pasteData).then(() => { 315 systemPasteboard.hasPasteData().then((data) => { 316 expect(data).assertEqual(true); 317 systemPasteboard.getPasteData().then((data) => { 318 var pasteData1 = data; 319 expect(pasteData1.getRecordCount()).assertEqual(1); 320 var primaryWant = pasteData1.getPrimaryWant() 321 expect(want.bundleName).assertEqual(primaryWant.bundleName); 322 expect(want.abilityName).assertEqual(primaryWant.abilityName); 323 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_WANT)).assertEqual(true); 324 done(); 325 }) 326 }); 327 }); 328 }); 329 }) 330 331 /** 332 * @tc.name pasteboard_function_test12 333 * @tc.desc Adds one record(s) 334 * @tc.type Function 335 * @tc.require AR000H5HVI 336 */ 337 it('pasteboard_function_test12', 0, async function (done) { 338 var systemPasteboard = pasteboard.getSystemPasteboard(); 339 systemPasteboard.clear().then(() => { 340 var textData = 'Hello World!'; 341 var pasteData = pasteboard.createPlainTextData(textData); 342 systemPasteboard.setPasteData(pasteData).then(() => { 343 systemPasteboard.hasPasteData().then((data) => { 344 expect(data).assertEqual(true); 345 systemPasteboard.getPasteData().then((data) => { 346 var pasteData1 = data; 347 expect(pasteData1.getRecordCount()).assertEqual(1); 348 var recordText = pasteData1.getRecordAt(0).plainText; 349 expect(recordText).assertEqual(textData); 350 done(); 351 }) 352 }); 353 }); 354 }); 355 }) 356 357 /** 358 * @tc.name pasteboard_function_test13 359 * @tc.desc Adds 2 record(s) 360 * @tc.type Function 361 * @tc.require AR000H5HVI 362 */ 363 it('pasteboard_function_test13', 0, async function (done) { 364 var systemPasteboard = pasteboard.getSystemPasteboard(); 365 systemPasteboard.clear().then(() => { 366 var textData0 = 'Hello World!'; 367 var pasteData = pasteboard.createPlainTextData(textData0); 368 var textData1 = 'Hello World1'; 369 pasteData.addTextRecord(textData1); 370 systemPasteboard.setPasteData(pasteData).then(() => { 371 systemPasteboard.hasPasteData().then((data) => { 372 expect(data).assertEqual(true); 373 systemPasteboard.getPasteData().then((data) => { 374 expect(data.getRecordCount()).assertEqual(2); 375 var dataRecord0 = data.getRecordAt(0); 376 var dataRecord1 = data.getRecordAt(1); 377 expect(dataRecord0.plainText).assertEqual(textData1); 378 expect(dataRecord1.plainText).assertEqual(textData0); 379 done(); 380 }) 381 }); 382 }); 383 }); 384 }) 385 386 /** 387 * @tc.name pasteboard_function_test14 388 * @tc.desc Adds 15 record(s) 389 * @tc.type Function 390 * @tc.require AR000H5HVI 391 */ 392 it('pasteboard_function_test14', 0, async function (done) { 393 var systemPasteboard = pasteboard.getSystemPasteboard(); 394 systemPasteboard.clear().then(() => { 395 var textData0 = 'Hello World!'; 396 var pasteData = pasteboard.createPlainTextData(textData0); 397 var textData = '' 398 for (var i = 1; i < 15; i++) { 399 textData = 'Hello World' 400 textData = textData + i 401 pasteData.addTextRecord(textData) 402 } 403 systemPasteboard.setPasteData(pasteData).then(() => { 404 systemPasteboard.hasPasteData().then((data) => { 405 expect(data).assertEqual(true); 406 systemPasteboard.getPasteData().then((data) => { 407 var pasteData1 = data; 408 expect(pasteData1.getRecordCount()).assertEqual(15); 409 var dataRecord = pasteData1.getRecordAt(14); 410 expect(dataRecord.plainText).assertEqual(textData0); 411 done(); 412 }) 413 }); 414 }); 415 }); 416 }) 417 418 /** 419 * @tc.name pasteboard_function_test15 420 * @tc.desc Adds 30 record(s) 421 * @tc.type Function 422 * @tc.require AR000H5HVI 423 */ 424 it('pasteboard_function_test15', 0, async function (done) { 425 var systemPasteboard = pasteboard.getSystemPasteboard(); 426 systemPasteboard.clear().then(() => { 427 var textData0 = 'Hello World!'; 428 var pasteData = pasteboard.createPlainTextData(textData0); 429 var textData = '' 430 for (var i = 1; i < 30; i++) { 431 textData = 'Hello World' 432 textData = textData + i 433 pasteData.addTextRecord(textData) 434 } 435 systemPasteboard.setPasteData(pasteData).then(() => { 436 systemPasteboard.hasPasteData().then((data) => { 437 expect(data).assertEqual(true); 438 systemPasteboard.getPasteData().then((data) => { 439 var pasteData1 = data; 440 expect(pasteData1.getRecordCount()).assertEqual(30); 441 var dataRecord = pasteData1.getRecordAt(0); 442 expect(dataRecord.plainText).assertEqual('Hello World29'); 443 done(); 444 }) 445 }); 446 }); 447 }); 448 }) 449 450 /** 451 * @tc.name pasteboard_function_test16 452 * @tc.desc Adds 31 record(s) 453 * @tc.type Function 454 * @tc.require AR000H5HVI 455 */ 456 it('pasteboard_function_test16', 0, async function (done) { 457 var systemPasteboard = pasteboard.getSystemPasteboard(); 458 systemPasteboard.clear().then(() => { 459 var textData0 = 'Hello World!'; 460 var pasteData = pasteboard.createPlainTextData(textData0); 461 var textData = '' 462 for (var i = 1; i < 31; i++) { 463 textData = 'Hello World' 464 textData = textData + i 465 pasteData.addTextRecord(textData) 466 } 467 systemPasteboard.setPasteData(pasteData).then(() => { 468 systemPasteboard.hasPasteData().then((data) => { 469 expect(data).assertEqual(true); 470 systemPasteboard.getPasteData().then((data) => { 471 var pasteData1 = data; 472 var recordCount = pasteData1.getRecordCount(); 473 expect(recordCount).assertEqual(31); 474 var dataRecord = pasteData1.getRecordAt(0); 475 expect(dataRecord.plainText).assertEqual('Hello World30'); 476 done(); 477 }) 478 }); 479 }); 480 }); 481 }) 482 483 /** 484 * @tc.name pasteboard_function_test17 485 * @tc.desc Adds PlainText,HtmlText,UriText 486 * @tc.type Function 487 * @tc.require AR000H5HVI 488 */ 489 it('pasteboard_function_test17', 0, async function (done) { 490 var systemPasteboard = pasteboard.getSystemPasteboard(); 491 systemPasteboard.clear().then(() => { 492 var textData = 'Hello World!'; 493 var pasteData = pasteboard.createPlainTextData(textData); 494 var htmlText = '<html><head></head><body>Hello World!</body></html>'; 495 pasteData.addHtmlRecord(htmlText); 496 var uriText = 'https://www.baidu.com/'; 497 pasteData.addUriRecord(uriText); 498 var want = { 499 bundleName: "com.example.myapplication8", 500 abilityName: "com.example.myapplication8.MainAbility" 501 } 502 pasteData.addWantRecord(want); 503 systemPasteboard.setPasteData(pasteData).then(() => { 504 systemPasteboard.hasPasteData().then((data) => { 505 expect(data).assertEqual(true); 506 systemPasteboard.getPasteData().then((data) => { 507 var pasteData1 = data; 508 expect(pasteData1.getRecordCount()).assertEqual(4); 509 var wantRecord = pasteData1.getPrimaryWant(); 510 expect(wantRecord.bundleName).assertEqual(want.bundleName); 511 expect(wantRecord.abilityName).assertEqual(want.abilityName); 512 done(); 513 }) 514 }); 515 }); 516 }); 517 }) 518 519 /** 520 * @tc.name pasteboard_function_test18 521 * @tc.desc Delete one PlainTextData 522 * @tc.type Function 523 * @tc.require AR000H5HVI 524 */ 525 it('pasteboard_function_test18', 0, async function (done) { 526 var systemPasteboard = pasteboard.getSystemPasteboard(); 527 systemPasteboard.clear().then(() => { 528 var textData = 'Hello World!'; 529 var pasteData = pasteboard.createPlainTextData(textData); 530 systemPasteboard.setPasteData(pasteData).then(() => { 531 systemPasteboard.hasPasteData().then((data) => { 532 expect(data).assertEqual(true); 533 systemPasteboard.getPasteData().then((data) => { 534 var pasteData1 = data; 535 expect(pasteData1.getRecordCount()).assertEqual(1); 536 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 537 systemPasteboard.setPasteData(pasteData1).then(() => { 538 systemPasteboard.getPasteData().then((data) => { 539 var pasteData2 = data; 540 var recordCount = pasteData2.getRecordCount(); 541 expect(recordCount).assertEqual(0); 542 done(); 543 }); 544 }); 545 }); 546 }); 547 }); 548 }); 549 }) 550 551 /** 552 * @tc.name pasteboard_function_test19 553 * @tc.desc Delete one htmlText 554 * @tc.type Function 555 * @tc.require AR000H5HVI 556 */ 557 it('pasteboard_function_test19', 0, async function (done) { 558 var systemPasteboard = pasteboard.getSystemPasteboard(); 559 systemPasteboard.clear().then(() => { 560 var htmlText = '<html><head></head><body>Hello World!</body></html>' 561 var pasteData = pasteboard.createHtmlData(htmlText); 562 systemPasteboard.setPasteData(pasteData).then(() => { 563 systemPasteboard.hasPasteData().then((data) => { 564 expect(data).assertEqual(true); 565 systemPasteboard.getPasteData().then((data) => { 566 var pasteData1 = data; 567 expect(pasteData1.getRecordCount()).assertEqual(1); 568 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 569 systemPasteboard.setPasteData(pasteData1).then(() => { 570 systemPasteboard.getPasteData().then((data) => { 571 var pasteData2 = data; 572 var recordCount = pasteData2.getRecordCount(); 573 expect(recordCount).assertEqual(0); 574 done(); 575 }); 576 }); 577 }); 578 }); 579 }); 580 }); 581 }) 582 583 /** 584 * @tc.name pasteboard_function_test20 585 * @tc.desc Delete one uriText 586 * @tc.type Function 587 * @tc.require AR000H5HVI 588 */ 589 it('pasteboard_function_test20', 0, async function (done) { 590 var systemPasteboard = pasteboard.getSystemPasteboard(); 591 systemPasteboard.clear().then(() => { 592 var uriText = 'https://www.baidu.com/'; 593 var pasteData = pasteboard.createUriData(uriText); 594 systemPasteboard.setPasteData(pasteData).then(() => { 595 systemPasteboard.hasPasteData().then((data) => { 596 expect(data).assertEqual(true); 597 systemPasteboard.getPasteData().then((data) => { 598 var pasteData1 = data; 599 expect(pasteData1.getRecordCount()).assertEqual(1); 600 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 601 systemPasteboard.setPasteData(pasteData1).then(() => { 602 systemPasteboard.getPasteData().then((data) => { 603 var pasteData2 = data; 604 var recordCount = pasteData2.getRecordCount(); 605 expect(recordCount).assertEqual(0); 606 done(); 607 }); 608 }); 609 }); 610 }); 611 }); 612 }); 613 }) 614 615 /** 616 * @tc.name pasteboard_function_test21 617 * @tc.desc Delete one want 618 * @tc.type Function 619 * @tc.require AR000H5I1D 620 */ 621 it('pasteboard_function_test21', 0, async function (done) { 622 var systemPasteboard = pasteboard.getSystemPasteboard(); 623 systemPasteboard.clear().then(() => { 624 var want = { 625 bundleName: "com.example.myapplication8", 626 abilityName: "com.example.myapplication8.MainAbility" 627 } 628 var pasteData = pasteboard.createWantData(want); 629 systemPasteboard.setPasteData(pasteData).then(() => { 630 systemPasteboard.hasPasteData().then((data) => { 631 expect(data).assertEqual(true); 632 systemPasteboard.getPasteData().then((data) => { 633 var pasteData1 = data; 634 expect(pasteData1.getRecordCount()).assertEqual(1); 635 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 636 systemPasteboard.setPasteData(pasteData1).then(() => { 637 systemPasteboard.getPasteData().then((data) => { 638 var pasteData2 = data; 639 var recordCount = pasteData2.getRecordCount(); 640 expect(recordCount).assertEqual(0); 641 done(); 642 }); 643 }); 644 }); 645 }); 646 }); 647 }); 648 }) 649 650 /** 651 * @tc.name pasteboard_function_test22 652 * @tc.desc Deletes 300K PlainTextData 653 * @tc.type Function 654 * @tc.require AR000H5I1D 655 */ 656 it('pasteboard_function_test22', 0, async function (done) { 657 var systemPasteboard = pasteboard.getSystemPasteboard(); 658 systemPasteboard.clear().then(() => { 659 var textData = '' 660 for (var i = 0; i < 300; i++) { 661 textData = textData + "A"; 662 } 663 var pasteData = pasteboard.createPlainTextData(textData); 664 systemPasteboard.setPasteData(pasteData).then(() => { 665 systemPasteboard.hasPasteData().then((data) => { 666 expect(data).assertEqual(true); 667 systemPasteboard.getPasteData().then((data) => { 668 var pasteData1 = data; 669 expect(pasteData1.getRecordCount()).assertEqual(1); 670 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 671 systemPasteboard.setPasteData(pasteData1).then(() => { 672 systemPasteboard.getPasteData().then((data) => { 673 var pasteData2 = data; 674 var recordCount = pasteData2.getRecordCount(); 675 expect(recordCount).assertEqual(0); 676 done(); 677 }); 678 }); 679 }); 680 }); 681 }); 682 }); 683 }) 684 685 /** 686 * @tc.name pasteboard_function_test23 687 * @tc.desc Deletes 30 record(s) 688 * @tc.type Function 689 * @tc.require AR000H5I1D 690 */ 691 it('pasteboard_function_test23', 0, async function (done) { 692 var systemPasteboard = pasteboard.getSystemPasteboard(); 693 systemPasteboard.clear().then(() => { 694 var textData0 = 'Hello World'; 695 var pasteData = pasteboard.createPlainTextData(textData0); 696 var textData = ''; 697 for (var i = 1; i < 30; i++) { 698 textData = 'Hello World'; 699 textData = textData + i; 700 pasteData.addTextRecord(textData); 701 } 702 systemPasteboard.setPasteData(pasteData).then(() => { 703 systemPasteboard.hasPasteData().then((data) => { 704 expect(data).assertEqual(true); 705 systemPasteboard.getPasteData().then((data) => { 706 var pasteData1 = data; 707 expect(pasteData1.getRecordCount()).assertEqual(30); 708 for (var i = 0; i < 30; i++) { 709 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 710 } 711 expect(pasteData1.getRecordCount()).assertEqual(0); 712 systemPasteboard.setPasteData(pasteData1).then(() => { 713 systemPasteboard.getPasteData().then((data) => { 714 var pasteData2 = data; 715 var recordCount = pasteData2.getRecordCount(); 716 expect(recordCount).assertEqual(0); 717 done(); 718 }); 719 }); 720 }); 721 }); 722 }); 723 }); 724 }) 725 726 /** 727 * @tc.name pasteboard_function_test24 728 * @tc.desc Deletes replaced record 729 * @tc.type Function 730 * @tc.require AR000H5I1D 731 */ 732 it('pasteboard_function_test24', 0, async function (done) { 733 var systemPasteboard = pasteboard.getSystemPasteboard(); 734 systemPasteboard.clear().then(() => { 735 var textData = 'Hello World!'; 736 var pasteData = pasteboard.createPlainTextData(textData); 737 systemPasteboard.setPasteData(pasteData).then(() => { 738 systemPasteboard.hasPasteData().then((data) => { 739 expect(data).assertEqual(true); 740 systemPasteboard.getPasteData().then((data) => { 741 var pasteData1 = data; 742 expect(pasteData1.getRecordCount()).assertEqual(1); 743 var textData1 = 'Hello World1'; 744 var pasteDataRecord = pasteboard.createPlainTextRecord(textData1); 745 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 746 expect(replace).assertEqual(true); 747 var primaryText = pasteData1.getPrimaryText(); 748 expect(primaryText).assertEqual(textData1); 749 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN)).assertEqual(true); 750 var dataRecord = pasteData1.getRecordAt(0); 751 expect(dataRecord.plainText).assertEqual(textData1); 752 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 753 systemPasteboard.setPasteData(pasteData1).then(() => { 754 systemPasteboard.getPasteData().then((data) => { 755 var pasteData2 = data; 756 var recordCount = pasteData2.getRecordCount(); 757 expect(recordCount).assertEqual(0); 758 done(); 759 }); 760 }); 761 }); 762 }); 763 }); 764 }); 765 }) 766 767 /** 768 * @tc.name pasteboard_function_test25 769 * @tc.desc Deletes 文本、uri、html 770 * @tc.type Function 771 * @tc.require AR000H5I1D 772 */ 773 it('pasteboard_function_test25', 0, async function (done) { 774 var systemPasteboard = pasteboard.getSystemPasteboard(); 775 systemPasteboard.clear().then(() => { 776 var textData = 'Hello World!'; 777 var pasteData = pasteboard.createPlainTextData(textData); 778 var htmlText = '<html><head></head><body>Hello World!</body></html>' 779 pasteData.addHtmlRecord(htmlText); 780 var uriText = 'https://www.baidu.com/'; 781 pasteData.addUriRecord(uriText); 782 systemPasteboard.setPasteData(pasteData).then(() => { 783 systemPasteboard.hasPasteData().then((data) => { 784 expect(data).assertEqual(true); 785 systemPasteboard.getPasteData().then((data) => { 786 var pasteData1 = data; 787 expect(pasteData1.getRecordCount()).assertEqual(3); 788 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 789 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 790 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 791 systemPasteboard.setPasteData(pasteData1).then(() => { 792 systemPasteboard.getPasteData().then((data) => { 793 var pasteData2 = data; 794 var recordCount = pasteData2.getRecordCount(); 795 expect(recordCount).assertEqual(0); 796 done(); 797 }); 798 }); 799 }); 800 }); 801 }); 802 }); 803 }) 804 805 /** 806 * @tc.name pasteboard_function_test26 807 * @tc.desc Replaces 文本 record 808 * @tc.type Function 809 * @tc.require AR000H5I1D 810 */ 811 it('pasteboard_function_test26', 0, async function (done) { 812 var systemPasteboard = pasteboard.getSystemPasteboard(); 813 systemPasteboard.clear().then(() => { 814 var textData = 'Hello World!'; 815 var pasteData = pasteboard.createPlainTextData(textData); 816 systemPasteboard.setPasteData(pasteData).then(() => { 817 systemPasteboard.hasPasteData().then((data) => { 818 expect(data).assertEqual(true); 819 systemPasteboard.getPasteData().then((data) => { 820 var pasteData1 = data; 821 expect(pasteData1.getRecordCount()).assertEqual(1); 822 var textData1 = 'Hello World1'; 823 var pasteDataRecord = pasteboard.createPlainTextRecord(textData1); 824 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 825 expect(replace).assertEqual(true); 826 var primaryText = pasteData1.getPrimaryText(); 827 expect(primaryText).assertEqual(textData1); 828 done(); 829 }) 830 }); 831 }); 832 }); 833 }) 834 835 /** 836 * @tc.name pasteboard_function_test27 837 * @tc.desc Replaces htmlText record 838 * @tc.type Function 839 * @tc.require AR000H5I1D 840 */ 841 it('pasteboard_function_test27', 0, async function (done) { 842 var systemPasteboard = pasteboard.getSystemPasteboard(); 843 systemPasteboard.clear().then(() => { 844 var htmlText = '<html><head></head><body>Hello World!</body></html>'; 845 var pasteData = pasteboard.createHtmlData(htmlText); 846 systemPasteboard.setPasteData(pasteData).then(() => { 847 systemPasteboard.hasPasteData().then((data) => { 848 expect(data).assertEqual(true); 849 systemPasteboard.getPasteData().then((data) => { 850 var pasteData1 = data; 851 expect(pasteData1.getRecordCount()).assertEqual(1); 852 var htmlText1 = '<html><head></head><body>Hello World 1</body></html>'; 853 var pasteDataRecord = pasteboard.createHtmlTextRecord(htmlText1); 854 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 855 expect(replace).assertEqual(true); 856 var primaryHtml = pasteData1.getPrimaryHtml(); 857 expect(primaryHtml).assertEqual(htmlText1); 858 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_HTML)).assertEqual(true); 859 var primaryHtml = pasteData1.getPrimaryHtml(); 860 expect(primaryHtml).assertEqual(htmlText1); 861 done(); 862 }) 863 }); 864 }); 865 }); 866 }) 867 868 /** 869 * @tc.name pasteboard_function_test28 870 * @tc.desc Replaces uri record 871 * @tc.type Function 872 * @tc.require AR000H5I1D 873 */ 874 it('pasteboard_function_test28', 0, async function (done) { 875 var systemPasteboard = pasteboard.getSystemPasteboard(); 876 systemPasteboard.clear().then(() => { 877 var uriText = 'https://www.baidu.com/'; 878 var pasteData = pasteboard.createUriData(uriText); 879 systemPasteboard.setPasteData(pasteData).then(() => { 880 systemPasteboard.hasPasteData().then((data) => { 881 expect(data).assertEqual(true); 882 systemPasteboard.getPasteData().then((data) => { 883 var pasteData1 = data; 884 expect(pasteData1.getRecordCount()).assertEqual(1); 885 var uriText1 = 'https://www.baidu.com/1'; 886 var pasteDataRecord = pasteboard.createUriRecord(uriText1); 887 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 888 expect(replace).assertEqual(true); 889 var primaryUri = pasteData1.getPrimaryUri(); 890 expect(primaryUri).assertEqual(uriText1); 891 expect(pasteData1.hasMimeType(pasteboard.MIMETYPE_TEXT_URI)).assertEqual(true); 892 var primaryUri = pasteData1.getPrimaryUri(); 893 expect(primaryUri).assertEqual(uriText1); 894 done(); 895 }) 896 }); 897 }); 898 }); 899 }) 900 901 /** 902 * @tc.name pasteboard_function_test29 903 * @tc.desc Replaces want record 904 * @tc.type Function 905 * @tc.require AR000H5I1D 906 */ 907 it('pasteboard_function_test29', 0, async function (done) { 908 var systemPasteboard = pasteboard.getSystemPasteboard(); 909 systemPasteboard.clear().then(() => { 910 var wantText0 = { 911 bundleName: "com.example.myapplication3", 912 abilityName: "com.example.myapplication3.MainAbility" 913 } 914 var pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_WANT, wantText0); 915 systemPasteboard.setPasteData(pasteData).then(() => { 916 systemPasteboard.hasPasteData().then((data) => { 917 expect(data).assertEqual(true); 918 systemPasteboard.getPasteData().then((data) => { 919 var pasteData1 = data; 920 expect(pasteData1.getRecordCount()).assertEqual(1); 921 var wantText1 = { 922 bundleName: "com.example.myapplication30", 923 abilityName: "com.example.myapplication30.MainAbility" 924 } 925 var pasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_WANT, wantText1); 926 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 927 expect(replace).assertEqual(true); 928 var primaryWant = pasteData1.getPrimaryWant(); 929 expect(primaryWant.bundleName).assertEqual(wantText1.bundleName); 930 expect(primaryWant.abilityName).assertEqual(wantText1.abilityName); 931 done(); 932 }) 933 }); 934 }); 935 }); 936 }) 937 938 /** 939 * @tc.name pasteboard_function_test30 940 * @tc.desc Replaces 300k文本 record 941 * @tc.type Function 942 * @tc.require AR000H5I1D 943 */ 944 it('pasteboard_function_test30', 0, async function (done) { 945 var systemPasteboard = pasteboard.getSystemPasteboard(); 946 systemPasteboard.clear().then(() => { 947 var textData = '' 948 for (var i = 0; i < 300; i++) { 949 textData = textData + "A"; 950 } 951 var pasteData = pasteboard.createPlainTextData(textData); 952 systemPasteboard.setPasteData(pasteData).then(() => { 953 systemPasteboard.hasPasteData().then((data) => { 954 expect(data).assertEqual(true); 955 systemPasteboard.getPasteData().then((data) => { 956 var pasteData1 = data; 957 expect(pasteData1.getRecordCount()).assertEqual(1); 958 var textData1 = 'Hello World1' 959 var pasteDataRecord = pasteboard.createPlainTextRecord(textData1); 960 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 961 expect(replace).assertEqual(true); 962 var primaryText = pasteData1.getPrimaryText(); 963 expect(primaryText).assertEqual(textData1); 964 done(); 965 }) 966 }); 967 }); 968 }); 969 }) 970 971 /** 972 * @tc.name pasteboard_function_test31 973 * @tc.desc Clears pasteBoard, gets record count 974 * @tc.type Function 975 * @tc.require AR000H5I1D 976 */ 977 it('pasteboard_function_test31', 0, async function (done) { 978 var systemPasteboard = pasteboard.getSystemPasteboard(); 979 systemPasteboard.clear().then(() => { 980 var textData = 'Hello World!'; 981 var pasteData = pasteboard.createPlainTextData(textData); 982 systemPasteboard.setPasteData(pasteData).then(() => { 983 systemPasteboard.hasPasteData().then((data) => { 984 expect(data).assertEqual(true); 985 systemPasteboard.getPasteData().then(async (data) => { 986 var pasteData1 = data; 987 expect(pasteData1.getRecordCount()).assertEqual(1); 988 await systemPasteboard.clear(); 989 systemPasteboard.getPasteData().then((data) => { 990 var pasteData2 = data; 991 var recordCount = pasteData2.getRecordCount(); 992 expect(recordCount).assertEqual(0); 993 done(); 994 }); 995 }); 996 }); 997 }); 998 }); 999 }) 1000 1001 /** 1002 * @tc.name pasteboard_function_test32 1003 * @tc.desc Adds Property 1004 * @tc.type Function 1005 * @tc.require AR000H5I1D 1006 */ 1007 it('pasteboard_function_test32', 0, async function (done) { 1008 var systemPasteboard = pasteboard.getSystemPasteboard(); 1009 systemPasteboard.clear().then(() => { 1010 var textData = 'Hello World!'; 1011 var pasteData = pasteboard.createPlainTextData(textData); 1012 systemPasteboard.setPasteData(pasteData).then(() => { 1013 systemPasteboard.hasPasteData().then((data) => { 1014 expect(data).assertEqual(true); 1015 systemPasteboard.getPasteData().then((data) => { 1016 var pasteData1 = data; 1017 expect(pasteData1.getRecordCount()).assertEqual(1); 1018 var pasteDataProperty = pasteData1.getProperty() 1019 expect(pasteDataProperty.shareOption).assertEqual(pasteboard.ShareOption.CrossDevice); 1020 pasteDataProperty.shareOption = pasteboard.ShareOption.InApp; 1021 pasteData1.setProperty(pasteDataProperty); 1022 expect(pasteData1.getProperty().shareOption).assertEqual(pasteboard.ShareOption.InApp); 1023 done(); 1024 }) 1025 }); 1026 }); 1027 }); 1028 }) 1029 1030 /** 1031 * @tc.name pasteboard_function_test33 1032 * @tc.desc Clears pasteBoard and check property 1033 * @tc.type Function 1034 * @tc.require AR000H5I1D 1035 */ 1036 it('pasteboard_function_test33', 0, async function (done) { 1037 var systemPasteboard = pasteboard.getSystemPasteboard(); 1038 systemPasteboard.clear().then(() => { 1039 var textData = 'Hello World!'; 1040 var pasteData = pasteboard.createPlainTextData(textData); 1041 systemPasteboard.setPasteData(pasteData).then(() => { 1042 systemPasteboard.hasPasteData().then((data) => { 1043 expect(data).assertEqual(true); 1044 systemPasteboard.getPasteData().then(async (data) => { 1045 expect(data.getRecordCount()).assertEqual(1); 1046 await systemPasteboard.clear(); 1047 var newPasteData = await systemPasteboard.getPasteData(); 1048 expect(newPasteData.getProperty().shareOption).assertEqual(pasteboard.ShareOption.CrossDevice); 1049 done(); 1050 }) 1051 }); 1052 }); 1053 }); 1054 }) 1055 1056 /** 1057 * @tc.name pasteboard_function_test34 1058 * @tc.desc 打开内容变化通知功能 1059 * @tc.type Function 1060 * @tc.require AR000H5I1D 1061 */ 1062 it('pasteboard_function_test34', 0, async function (done) { 1063 var systemPasteboard = pasteboard.getSystemPasteboard(); 1064 systemPasteboard.clear().then(() => { 1065 systemPasteboard.on('update', contentChanges) 1066 var textData = 'Hello World!'; 1067 var pasteData = pasteboard.createPlainTextData(textData); 1068 systemPasteboard.setPasteData(pasteData).then(() => { 1069 systemPasteboard.hasPasteData().then((data) => { 1070 expect(data).assertEqual(true); 1071 systemPasteboard.getPasteData().then((data) => { 1072 var pasteData1 = data; 1073 expect(pasteData1.getRecordCount()).assertEqual(1); 1074 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 1075 expect(pasteData1.getRecordCount()).assertEqual(0); 1076 done(); 1077 }) 1078 }); 1079 }); 1080 }); 1081 }) 1082 1083 /** 1084 * @tc.name pasteboard_function_test35 1085 * @tc.desc 清除剪切板内的文本数据项 1086 * @tc.type Function 1087 * @tc.require AR000H5I1D 1088 */ 1089 it('pasteboard_function_test35', 0, async function (done) { 1090 var systemPasteboard = pasteboard.getSystemPasteboard(); 1091 systemPasteboard.clear().then(() => { 1092 var textData = 'Hello World!'; 1093 var pasteData = pasteboard.createPlainTextData(textData); 1094 systemPasteboard.setPasteData(pasteData).then(() => { 1095 systemPasteboard.hasPasteData().then((data) => { 1096 expect(data).assertEqual(true); 1097 systemPasteboard.getPasteData().then(async (data) => { 1098 var pasteData1 = data; 1099 expect(pasteData1.getRecordCount()).assertEqual(1); 1100 await systemPasteboard.clear(); 1101 systemPasteboard.getPasteData().then((data) => { 1102 var pasteData2 = data; 1103 var recordCount = pasteData2.getRecordCount(); 1104 expect(recordCount).assertEqual(0); 1105 done(); 1106 }); 1107 }); 1108 }); 1109 }); 1110 }); 1111 }) 1112 1113 /** 1114 * @tc.name pasteboard_function_test36 1115 * @tc.desc 清除剪切板内的uri数据项 1116 * @tc.type Function 1117 * @tc.require AR000H5I1D 1118 */ 1119 it('pasteboard_function_test36', 0, async function (done) { 1120 var systemPasteboard = pasteboard.getSystemPasteboard(); 1121 systemPasteboard.clear().then(() => { 1122 var uriText = 'https://www.baidu.com/'; 1123 var pasteData = pasteboard.createUriData(uriText); 1124 systemPasteboard.setPasteData(pasteData).then(() => { 1125 systemPasteboard.hasPasteData().then((data) => { 1126 expect(data).assertEqual(true); 1127 systemPasteboard.getPasteData().then(async (data) => { 1128 var pasteData1 = data; 1129 expect(pasteData1.getRecordCount()).assertEqual(1); 1130 await systemPasteboard.clear(); 1131 systemPasteboard.getPasteData().then((data) => { 1132 var pasteData2 = data; 1133 var recordCount = pasteData2.getRecordCount(); 1134 expect(recordCount).assertEqual(0); 1135 done(); 1136 }); 1137 }); 1138 }); 1139 }); 1140 }); 1141 }) 1142 1143 /** 1144 * @tc.name pasteboard_function_test37 1145 * @tc.desc 清除剪切板内的html数据项 1146 * @tc.type Function 1147 * @tc.require AR000H5I1D 1148 */ 1149 it('pasteboard_function_test37', 0, async function (done) { 1150 var systemPasteboard = pasteboard.getSystemPasteboard(); 1151 systemPasteboard.clear().then(() => { 1152 var htmlText = '<html><head></head><body>Hello World!</body></html>'; 1153 var pasteData = pasteboard.createHtmlData(htmlText); 1154 systemPasteboard.setPasteData(pasteData).then(() => { 1155 systemPasteboard.hasPasteData().then((data) => { 1156 expect(data).assertEqual(true); 1157 systemPasteboard.getPasteData().then(async (data) => { 1158 var pasteData1 = data; 1159 expect(pasteData1.getRecordCount()).assertEqual(1); 1160 await systemPasteboard.clear(); 1161 systemPasteboard.getPasteData().then((data) => { 1162 var pasteData2 = data; 1163 var recordCount = pasteData2.getRecordCount(); 1164 expect(recordCount).assertEqual(0); 1165 done(); 1166 }); 1167 }); 1168 }); 1169 }); 1170 }); 1171 }) 1172 1173 /** 1174 * @tc.name pasteboard_function_test38 1175 * @tc.desc 清除剪切板内的want数据项 1176 * @tc.type Function 1177 * @tc.require AR000H5I1D 1178 */ 1179 it('pasteboard_function_test38', 0, async function (done) { 1180 var systemPasteboard = pasteboard.getSystemPasteboard(); 1181 systemPasteboard.clear().then(() => { 1182 var myWant = { 1183 bundleName: "com.example.myapplication55", 1184 abilityName: "com.example.myapplication55.MainAbility" 1185 } 1186 var pasteData = pasteboard.createWantData(myWant); 1187 systemPasteboard.setPasteData(pasteData).then(() => { 1188 systemPasteboard.hasPasteData().then((data) => { 1189 expect(data).assertEqual(true); 1190 systemPasteboard.getPasteData().then(async (data) => { 1191 var pasteData1 = data; 1192 expect(pasteData1.getRecordCount()).assertEqual(1); 1193 await systemPasteboard.clear(); 1194 systemPasteboard.getPasteData().then((data) => { 1195 var pasteData2 = data; 1196 var recordCount = pasteData2.getRecordCount(); 1197 expect(recordCount).assertEqual(0); 1198 done(); 1199 }); 1200 }); 1201 }); 1202 }); 1203 }); 1204 }) 1205 1206 /** 1207 * @tc.name pasteboard_function_test39 1208 * @tc.desc 向剪切板内增加30条数据项,然后清除 1209 * @tc.type Function 1210 * @tc.require AR000H5I1D 1211 */ 1212 it('pasteboard_function_test39', 0, async function (done) { 1213 var systemPasteboard = pasteboard.getSystemPasteboard(); 1214 systemPasteboard.clear().then(() => { 1215 var textData0 = 'Hello World!'; 1216 var pasteData = pasteboard.createPlainTextData(textData0); 1217 var textData = ''; 1218 for (var i = 1; i < 30; i++) { 1219 textData = 'Hello World'; 1220 textData = textData + i; 1221 pasteData.addTextRecord(textData); 1222 } 1223 systemPasteboard.setPasteData(pasteData).then(() => { 1224 systemPasteboard.hasPasteData().then((data) => { 1225 expect(data).assertEqual(true); 1226 systemPasteboard.getPasteData().then(async (data) => { 1227 var pasteData1 = data; 1228 expect(pasteData1.getRecordCount()).assertEqual(30); 1229 await systemPasteboard.clear(); 1230 systemPasteboard.getPasteData().then((data) => { 1231 var pasteData2 = data; 1232 var recordCount = pasteData2.getRecordCount(); 1233 expect(recordCount).assertEqual(0); 1234 done(); 1235 }) 1236 }) 1237 }); 1238 }); 1239 }); 1240 }) 1241 1242 /** 1243 * @tc.name pasteboard_function_test40 1244 * @tc.desc 向剪贴板数据各增加5条文本、uri、html数据,然后清除 1245 * @tc.type Function 1246 * @tc.require AR000H5I1D 1247 */ 1248 it('pasteboard_function_test40', 0, async function (done) { 1249 var systemPasteboard = pasteboard.getSystemPasteboard(); 1250 systemPasteboard.clear().then(() => { 1251 var textData0 = 'Hello World0'; 1252 var pasteData = pasteboard.createPlainTextData(textData0); 1253 var textData = ''; 1254 for (var i = 1; i < 5; i++) { 1255 textData = 'Hello World'; 1256 textData = textData + i; 1257 pasteData.addTextRecord(textData); 1258 } 1259 var htmlText = ''; 1260 for (var i = 0; i < 5; i++) { 1261 htmlText = '<html><head></head><body>Hello World!</body></html>'; 1262 htmlText = htmlText + i; 1263 pasteData.addHtmlRecord(htmlText); 1264 } 1265 var uriText = ''; 1266 for (var i = 0; i < 5; i++) { 1267 uriText = 'https://www.baidu.com/'; 1268 uriText = uriText + i; 1269 pasteData.addUriRecord(uriText); 1270 } 1271 systemPasteboard.setPasteData(pasteData).then(() => { 1272 systemPasteboard.hasPasteData().then((data) => { 1273 expect(data).assertEqual(true); 1274 systemPasteboard.getPasteData().then(async (data) => { 1275 var pasteData1 = data; 1276 expect(pasteData1.getRecordCount()).assertEqual(15); 1277 await systemPasteboard.clear(); 1278 systemPasteboard.getPasteData().then((data) => { 1279 var pasteData2 = data; 1280 var recordCount = pasteData2.getRecordCount(); 1281 expect(recordCount).assertEqual(0); 1282 done(); 1283 }) 1284 }) 1285 }); 1286 }); 1287 }); 1288 }) 1289 1290 /** 1291 * @tc.name pasteboard_function_test41 1292 * @tc.desc 更新剪贴板数据,查询剪贴板存在剪贴板数据 1293 * @tc.type Function 1294 * @tc.require AR000HEECD 1295 */ 1296 it('pasteboard_function_test41', 0, async function (done) { 1297 var systemPasteboard = pasteboard.getSystemPasteboard(); 1298 systemPasteboard.clear().then(() => { 1299 var textData = 'Hello World!'; 1300 var pasteData = pasteboard.createPlainTextData(textData); 1301 systemPasteboard.setPasteData(pasteData).then(() => { 1302 systemPasteboard.hasPasteData().then((data) => { 1303 expect(data).assertEqual(true); 1304 systemPasteboard.getPasteData().then(async (data) => { 1305 var pasteData1 = data; 1306 expect(pasteData1.getRecordCount()).assertEqual(1); 1307 var textData1 = 'Hello World1'; 1308 var pasteDataRecord = pasteboard.createPlainTextRecord(textData1); 1309 var replace = pasteData1.replaceRecordAt(0, pasteDataRecord); 1310 expect(replace).assertEqual(true); 1311 await systemPasteboard.setPasteData(pasteData1); 1312 systemPasteboard.hasPasteData().then(async (data) => { 1313 expect(data).assertEqual(true); 1314 var newData = await systemPasteboard.getPasteData(); 1315 expect(newData.getPrimaryText()).assertEqual(textData1); 1316 var newPasteDataRecord = newData.getRecordAt(0); 1317 expect(newPasteDataRecord.plainText).assertEqual(textData1); 1318 done(); 1319 }) 1320 }) 1321 }); 1322 }); 1323 }); 1324 }) 1325 1326 /** 1327 * @tc.name pasteboard_function_test42 1328 * @tc.desc 删除所有的剪贴板数据,查询剪贴板不存在剪贴板数据 1329 * @tc.type Function 1330 * @tc.require AR000HEECD 1331 */ 1332 it('pasteboard_function_test42', 0, async function (done) { 1333 var systemPasteboard = pasteboard.getSystemPasteboard(); 1334 systemPasteboard.clear().then(() => { 1335 var textData = 'Hello World!'; 1336 var pasteData = pasteboard.createPlainTextData(textData); 1337 systemPasteboard.setPasteData(pasteData).then(() => { 1338 systemPasteboard.hasPasteData().then((data) => { 1339 expect(data).assertEqual(true); 1340 systemPasteboard.getPasteData().then(async (data) => { 1341 var pasteData1 = data; 1342 var recordCount = pasteData1.getRecordCount(); 1343 expect(recordCount).assertEqual(1); 1344 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 1345 expect(pasteData1.getRecordCount()).assertEqual(0); 1346 var newData = await systemPasteboard.getPasteData(); 1347 expect(newData.getRecordCount()).assertEqual(1); 1348 done(); 1349 }) 1350 }); 1351 }); 1352 }); 1353 }) 1354 1355 /** 1356 * @tc.name pasteboard_function_test43 1357 * @tc.desc 将文本数据强制转换为文本 1358 * @tc.type Function 1359 * @tc.require AR000HEECD 1360 */ 1361 it('pasteboard_function_test43', 0, async function (done) { 1362 var systemPasteboard = pasteboard.getSystemPasteboard(); 1363 systemPasteboard.clear().then(() => { 1364 var textData = 'Hello World!'; 1365 var pasteData = pasteboard.createPlainTextData(textData); 1366 systemPasteboard.setPasteData(pasteData).then(() => { 1367 systemPasteboard.hasPasteData().then((data) => { 1368 expect(data).assertEqual(true); 1369 systemPasteboard.getPasteData().then(async (data) => { 1370 var pasteData1 = data; 1371 expect(pasteData1.getRecordCount()).assertEqual(1); 1372 var pasteDataRecord = pasteData1.getRecordAt(0); 1373 var text = await pasteDataRecord.convertToText(); 1374 expect(text).assertEqual(textData); 1375 done(); 1376 }) 1377 }); 1378 }); 1379 }); 1380 }) 1381 1382 /** 1383 * @tc.name pasteboard_function_test44 1384 * @tc.desc 将一条含有特殊字符、中英混杂的文本数据强制转换为文本 1385 * @tc.type Function 1386 * @tc.require AR000HEECD 1387 */ 1388 it('pasteboard_function_test44', 0, async function (done) { 1389 var systemPasteboard = pasteboard.getSystemPasteboard(); 1390 systemPasteboard.clear().then(() => { 1391 var textData = 'Hello 中国!@#$%^&*()_+{}\?.'; 1392 var pasteData = pasteboard.createPlainTextData(textData); 1393 systemPasteboard.setPasteData(pasteData).then(() => { 1394 systemPasteboard.hasPasteData().then((data) => { 1395 expect(data).assertEqual(true); 1396 systemPasteboard.getPasteData().then((data) => { 1397 var pasteData1 = data; 1398 expect(pasteData1.getRecordCount()).assertEqual(1); 1399 var pasteDataRecord = pasteData1.getRecordAt(0); 1400 pasteDataRecord.convertToText((err, text) => { 1401 if (err) { 1402 console.info('f_test44 pasteDataRecord.convertToText error: ' + error); 1403 } else { 1404 expect(textData).assertEqual(text); 1405 done(); 1406 } 1407 }); 1408 }) 1409 }); 1410 }); 1411 }); 1412 }) 1413 1414 /** 1415 * @tc.name pasteboard_function_test45 1416 * @tc.desc 将一条超长文本数据 (大小为301K)强制转换为文本 1417 * @tc.type Function 1418 * @tc.require AR000HEECD 1419 */ 1420 it('pasteboard_function_test45', 0, async function (done) { 1421 var systemPasteboard = pasteboard.getSystemPasteboard(); 1422 systemPasteboard.clear().then(() => { 1423 var textData = '' 1424 for (var i = 0; i < 301; i++) { 1425 textData = textData + "A"; 1426 } 1427 var pasteData = pasteboard.createPlainTextData(textData); 1428 systemPasteboard.setPasteData(pasteData).then(() => { 1429 systemPasteboard.hasPasteData().then((data) => { 1430 expect(data).assertEqual(true); 1431 systemPasteboard.getPasteData().then((data) => { 1432 var pasteData1 = data; 1433 expect(pasteData1.getRecordCount()).assertEqual(1); 1434 var pasteDataRecord = pasteData1.getRecordAt(0); 1435 pasteDataRecord.convertToText((err, text) => { 1436 if (err) { 1437 console.info('f_test45 pasteDataRecord.convertToText error: ' + error); 1438 } else { 1439 expect(textData).assertEqual(text); 1440 done(); 1441 } 1442 }); 1443 }) 1444 }); 1445 }); 1446 }); 1447 }) 1448 1449 /** 1450 * @tc.name pasteboard_function_test46 1451 * @tc.desc 将uri数据强制转换为文本 1452 * @tc.type Function 1453 * @tc.require AR000HEECD 1454 */ 1455 it('pasteboard_function_test46', 0, async function (done) { 1456 var systemPasteboard = pasteboard.getSystemPasteboard(); 1457 systemPasteboard.clear().then(() => { 1458 var uriText = 'https://www.baidu.com/'; 1459 var pasteData = pasteboard.createUriData(uriText); 1460 systemPasteboard.setPasteData(pasteData).then(() => { 1461 systemPasteboard.hasPasteData().then((data) => { 1462 expect(data).assertEqual(true); 1463 systemPasteboard.getPasteData().then((data) => { 1464 var pasteData1 = data; 1465 expect(pasteData1.getRecordCount()).assertEqual(1); 1466 var pasteDataRecord = pasteData1.getRecordAt(0) 1467 pasteDataRecord.convertToText().then((text) => { 1468 expect(uriText).assertEqual(text); 1469 done(); 1470 }).catch((error) => { 1471 console.info('f_test46 pasteDataRecord.convertToText error: ' + error); 1472 }); 1473 }) 1474 }); 1475 }); 1476 }); 1477 }) 1478 1479 /** 1480 * @tc.name pasteboard_function_test47 1481 * @tc.desc 复制文本、uri格式 1482 * @tc.type Function 1483 * @tc.require AR000HEECD 1484 */ 1485 it('pasteboard_function_test47', 0, async function (done) { 1486 var systemPasteboard = pasteboard.getSystemPasteboard(); 1487 systemPasteboard.clear().then(() => { 1488 var textData0 = 'Hello World0'; 1489 var pasteData = pasteboard.createPlainTextData(textData0); 1490 var uriText = pasteboard.createUriRecord("https://www.baidu.com/"); 1491 pasteData.addRecord(uriText); 1492 systemPasteboard.setPasteData(pasteData).then(() => { 1493 systemPasteboard.hasPasteData().then((data) => { 1494 expect(data).assertEqual(true); 1495 systemPasteboard.getPasteData().then((pasteData1) => { 1496 var recordCount = pasteData1.getRecordCount(); 1497 expect(recordCount).assertEqual(2); 1498 var pasteDataRecord1 = pasteData1.getRecordAt(0); 1499 var pasteDataRecord2 = pasteData1.getRecordAt(1); 1500 expect(pasteDataRecord1.uri).assertEqual(uriText.uri); 1501 expect(pasteDataRecord2.plainText).assertEqual(textData0); 1502 done(); 1503 }) 1504 }); 1505 }); 1506 }); 1507 }) 1508 1509 /** 1510 * @tc.name pasteboard_function_test48 1511 * @tc.desc 关闭内容变化通知功能:向剪贴板数据增加、删除等html数据项 1512 * @tc.type Function 1513 * @tc.require AR000HEECD 1514 */ 1515 it('pasteboard_function_test48', 0, async function (done) { 1516 var systemPasteboard = pasteboard.getSystemPasteboard(); 1517 systemPasteboard.clear().then(() => { 1518 systemPasteboard.off('update', contentChanges); 1519 var htmlText = '<html><head></head><body>Hello World!</body></html>'; 1520 var pasteData = pasteboard.createHtmlData(htmlText); 1521 systemPasteboard.setPasteData(pasteData).then(() => { 1522 systemPasteboard.hasPasteData().then((data) => { 1523 expect(data).assertEqual(true); 1524 systemPasteboard.getPasteData().then((data) => { 1525 var pasteData1 = data; 1526 expect(pasteData1.getRecordCount()).assertEqual(1); 1527 expect(pasteData1.removeRecordAt(0)).assertEqual(true); 1528 expect(pasteData1.getRecordCount()).assertEqual(0); 1529 done(); 1530 }) 1531 }); 1532 }); 1533 }); 1534 }) 1535 1536 /** 1537 * @tc.name pasteboard_function_test49 1538 * @tc.desc 创建pixelMap 1539 * @tc.type Function 1540 * @tc.require AR000HEECD 1541 */ 1542 it('pasteboard_function_test49', 0, async function (done) { 1543 var systemPasteboard = pasteboard.getSystemPasteboard(); 1544 systemPasteboard.clear().then(() => { 1545 var buffer = new ArrayBuffer(128); 1546 var opt = { 1547 size: {height: 5, width: 5}, 1548 pixelFormat: 3, 1549 editable: true, 1550 alphaType: 1, 1551 scaleMode: 1 1552 }; 1553 image.createPixelMap(buffer, opt).then(async (pixelMap) => { 1554 expect(pixelMap.getPixelBytesNumber()).assertEqual(100); 1555 var pasteData = pasteboard.createData(pasteboard.MIMETYPE_PIXELMAP, pixelMap); 1556 systemPasteboard.setPasteData(pasteData).then(() => { 1557 systemPasteboard.hasPasteData().then((data) => { 1558 expect(data).assertEqual(true); 1559 systemPasteboard.getPasteData().then((newPasteData) => { 1560 var recordCount = newPasteData.getRecordCount(); 1561 expect(recordCount).assertEqual(1); 1562 var newPixelMap = newPasteData.getPrimaryPixelMap(); 1563 var PixelMapBytesNumber = newPixelMap.getPixelBytesNumber(); 1564 expect(PixelMapBytesNumber).assertEqual(100); 1565 newPixelMap.getImageInfo().then((imageInfo) => { 1566 expect(imageInfo.size.height === 5 && imageInfo.size.width === 5).assertEqual(true); 1567 done(); 1568 }); 1569 }); 1570 }); 1571 }); 1572 }); 1573 }); 1574 }) 1575 1576 /** 1577 * @tc.name pasteboard_function_test50 1578 * @tc.desc 创建kv Record 1579 * @tc.type Function 1580 * @tc.require AR000HEECD 1581 */ 1582 it('pasteboard_function_test50', 0, async function (done) { 1583 var systemPasteboard = pasteboard.getSystemPasteboard(); 1584 systemPasteboard.clear().then(() => { 1585 var dataXml = new ArrayBuffer(512); 1586 var int32view = new Int32Array(dataXml); 1587 for (var i = 0; i < int32view.length; i++) { 1588 int32view[i] = 65535 + i; 1589 } 1590 var pasteDataRecord = pasteboard.createRecord('app/xml', dataXml); 1591 var dataJpg = new ArrayBuffer(256); 1592 pasteDataRecord.data['image/ipg'] = dataJpg; 1593 var pasteData = pasteboard.createHtmlData('application/xml'); 1594 var replace = pasteData.replaceRecordAt(0, pasteDataRecord); 1595 expect(replace).assertEqual(true); 1596 systemPasteboard.setPasteData(pasteData).then(() => { 1597 systemPasteboard.hasPasteData().then((data) => { 1598 expect(data).assertEqual(true); 1599 systemPasteboard.getPasteData().then((newPasteData) => { 1600 var recordCount = newPasteData.getRecordCount(); 1601 expect(recordCount).assertEqual(1); 1602 var newPasteDataRecord = newPasteData.getRecordAt(0); 1603 var newAppXml = newPasteDataRecord.data['app/xml']; 1604 var newImageIpg = newPasteDataRecord.data['image/ipg']; 1605 expect(newAppXml.byteLength === 512 && newImageIpg.byteLength === 256).assertEqual(true); 1606 var newAppXmlView = new Int32Array(newAppXml); 1607 var newImageIpgView = new Int32Array(newImageIpg); 1608 for (var i = 0; i < newAppXmlView.length; i++) { 1609 console.info("newAppXml[" + i + "] = " + newAppXmlView[i]); 1610 } 1611 for (var i = 0; i < newImageIpgView.length; i++) { 1612 console.info("newImageIpg[" + i + "] = " + newImageIpg[i]); 1613 } 1614 done(); 1615 }); 1616 }); 1617 }); 1618 }); 1619 }) 1620 1621 /** 1622 * @tc.name pasteboard_function_test51 1623 * @tc.desc 测试addPixelMapRecord 1624 * @tc.type Function 1625 * @tc.require AR000HEECD 1626 */ 1627 it('pasteboard_function_test51', 0, async function (done) { 1628 var systemPasteboard = pasteboard.getSystemPasteboard(); 1629 systemPasteboard.clear().then(() => { 1630 var buffer = new ArrayBuffer(128); 1631 var opt = { 1632 size: {height: 5, width: 5}, 1633 pixelFormat: 3, 1634 editable: true, 1635 alphaType: 1, 1636 scaleMode: 1 1637 }; 1638 var pasteData = pasteboard.createHtmlData('application/xml'); 1639 image.createPixelMap(buffer, opt).then((pixelMap) => { 1640 expect(pixelMap.getPixelBytesNumber() === 100).assertEqual(true); 1641 pasteData.addRecord(pasteboard.MIMETYPE_PIXELMAP, pixelMap); 1642 systemPasteboard.setPasteData(pasteData).then(() => { 1643 systemPasteboard.hasPasteData().then((data) => { 1644 expect(data).assertEqual(true); 1645 systemPasteboard.getPasteData().then((newPasteData) => { 1646 var recordCount = newPasteData.getRecordCount(); 1647 expect(recordCount).assertEqual(2); 1648 var newPixelMap = newPasteData.getPrimaryPixelMap(); 1649 var PixelMapBytesNumber = newPixelMap.getPixelBytesNumber(); 1650 expect(PixelMapBytesNumber).assertEqual(100); 1651 var newHtmlData = newPasteData.getRecordAt(1); 1652 expect(newHtmlData.htmlText).assertEqual('application/xml'); 1653 newPixelMap.getImageInfo().then((imageInfo) => { 1654 expect(imageInfo.size.height === 5 && imageInfo.size.width === 5).assertEqual(true); 1655 done(); 1656 }); 1657 }); 1658 }); 1659 }); 1660 }); 1661 }); 1662 }) 1663 1664 1665 /** 1666 * @tc.name pasteboard_function_test52 1667 * @tc.desc 支持512个record 1668 * @tc.type Function 1669 * @tc.require AR000HEECB 1670 */ 1671 it('pasteboard_function_test52', 0, async function (done) { 1672 var systemPasteBoard = pasteboard.getSystemPasteboard(); 1673 systemPasteBoard.clear().then(() => { 1674 var dataHtml = new ArrayBuffer(256) 1675 var htmlText = '<html><head></head><body>Hello!</body></html>'; 1676 var uriText = 'https://www.baidu.com/'; 1677 var wantText = { 1678 bundleName: "com.example.myapplication3", 1679 abilityName: "com.example.myapplication3.MainAbility" 1680 }; 1681 var plainText = ""; 1682 var pasteData = pasteboard.createData("x".repeat(1024), dataHtml) 1683 var record = pasteData.getRecordAt(0) 1684 record.htmlText = htmlText; 1685 record.plainText = plainText; 1686 record.uri = uriText; 1687 record.want = wantText; 1688 var buffer = new ArrayBuffer(128); 1689 var opt = { 1690 size: {height: 5, width: 5}, 1691 pixelFormat: 3, 1692 editable: true, 1693 alphaType: 1, 1694 scaleMode: 1 1695 }; 1696 image.createPixelMap(buffer, opt).then((pixelMap) => { 1697 record.pixelMap = pixelMap; 1698 pasteData.replaceRecordAt(0, record); 1699 for (var i = 0; i < 511; i++) { 1700 pasteData.addRecord(record); 1701 } 1702 systemPasteBoard.setPasteData(pasteData).then(() => { 1703 systemPasteBoard.hasPasteData().then((hasData) => { 1704 expect(hasData).assertTrue(); 1705 systemPasteBoard.getPasteData().then((data) => { 1706 expect(data.getRecordCount()).assertEqual(512) 1707 expect(data.getRecordAt(0).mimeType).assertEqual("x".repeat(1024)) 1708 expect(data.getPrimaryWant().bundleName).assertEqual(wantText.bundleName) 1709 expect(data.getRecordAt(253).htmlText).assertEqual(htmlText) 1710 expect(data.getRecordAt(511).plainText).assertEqual(plainText) 1711 done(); 1712 }) 1713 }) 1714 }) 1715 }) 1716 }) 1717 }) 1718 1719 /** 1720 * The callback function is used for pasteboard content changes 1721 */ 1722 function contentChanges() { 1723 console.info('#EVENT: The content is changed in the pasteboard'); 1724 } 1725}); 1726