1/* 2 * Copyright (C) 2022-2023 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('PasteBoardPerfJSTest', function () { 21 beforeAll(async function () { 22 console.info('beforeAll'); 23 }); 24 25 afterAll(async function () { 26 console.info('afterAll'); 27 }); 28 29 const BASE_CONUT = 200; 30 const pixelMapBuffer = new ArrayBuffer(10000); 31 const opt = { 32 size: { height: 50, width: 50 }, 33 pixelFormat: 3, 34 editable: true, 35 alphaType: 1, 36 scaleMode: 1, 37 }; 38 const htmlText = '<html><head></head><body>Hello!</body></html>'; 39 const uriText = 'https://www.baidu.com/'; 40 const plainText = 'Hello World!'; 41 const wantText = { 42 bundleName: 'com.example.myapplication8', 43 abilityName: 'com.example.myapplication8.MainAbility', 44 }; 45 46 /** 47 * @tc.name getSystemPasteboard_performance_test_001 48 * @tc.desc getSystemPasteboard interface performance test 49 * @tc.type PERF 50 * @tc.require I5YP4X 51 */ 52 it('getSystemPasteboard_performance_test_001', 0, async function (done) { 53 let startTime = new Date().getTime(); 54 funcWithNoparam(pasteboard.getSystemPasteboard, BASE_CONUT); 55 computeAverageTime(startTime, BASE_CONUT, 'getSystemPasteboard_performance_test_001 averageTime:'); 56 done(); 57 }); 58 59 /** 60 * @tc.name createData_performance_test_001 61 * @tc.desc createData interface performance test 62 * @tc.type PERF 63 * @tc.require I5YP4X 64 */ 65 it('createData_performance_test_001', 0, async function (done) { 66 let pixelMap = await image.createPixelMap(pixelMapBuffer, opt); 67 let startTime = new Date().getTime(); 68 funcWithTwoparam(pasteboard.createData, pasteboard.MIMETYPE_PIXELMAP, pixelMap, BASE_CONUT); 69 computeAverageTime(startTime, BASE_CONUT, 'createData_performance_test_001 averageTime:'); 70 done(); 71 }); 72 73 /** 74 * @tc.name createRecord_performance_test_001 75 * @tc.desc createRecord interface performance test 76 * @tc.type PERF 77 * @tc.require I5YP4X 78 */ 79 it('createRecord_performance_test_001', 0, async function (done) { 80 let pixelMap = await image.createPixelMap(pixelMapBuffer, opt); 81 let startTime = new Date().getTime(); 82 funcWithTwoparam(pasteboard.createRecord, pasteboard.MIMETYPE_PIXELMAP, pixelMap, BASE_CONUT); 83 computeAverageTime(startTime, BASE_CONUT, 'createRecord_performance_test_001 averageTime:'); 84 done(); 85 }); 86 87 /** 88 * @tc.name createHtmlData_performance_test_001 89 * @tc.desc createHtmlData interface performance test 90 * @tc.type PERF 91 * @tc.require I5YP4X 92 */ 93 it('createHtmlData_performance_test_001', 0, async function (done) { 94 let startTime = new Date().getTime(); 95 funcWithOneparam(pasteboard.createHtmlData, htmlText, BASE_CONUT); 96 computeAverageTime(startTime, BASE_CONUT, 'createHtmlData_performance_test_001 averageTime:'); 97 done(); 98 }); 99 100 /** 101 * @tc.name createWantData_performance_test_001 102 * @tc.desc createWantData interface performance test 103 * @tc.type PERF 104 * @tc.require I5YP4X 105 */ 106 it('createWantData_performance_test_001', 0, async function (done) { 107 let startTime = new Date().getTime(); 108 funcWithOneparam(pasteboard.createWantData, wantText, BASE_CONUT); 109 computeAverageTime(startTime, BASE_CONUT, 'createWantData_performance_test_001 averageTime:'); 110 done(); 111 }); 112 113 /** 114 * @tc.name createPlainTextData_performance_test_001 115 * @tc.desc createPlainTextData interface performance test 116 * @tc.type PERF 117 * @tc.require I5YP4X 118 */ 119 it('createPlainTextData_performance_test_001', 0, async function (done) { 120 let startTime = new Date().getTime(); 121 funcWithOneparam(pasteboard.createPlainTextData, plainText, BASE_CONUT); 122 computeAverageTime(startTime, BASE_CONUT, 'createPlainTextData_performance_test_001 averageTime:'); 123 done(); 124 }); 125 126 /** 127 * @tc.name createUriData_performance_test_001 128 * @tc.desc createUriData interface performance test 129 * @tc.type PERF 130 * @tc.require I5YP4X 131 */ 132 it('createUriData_performance_test_001', 0, async function (done) { 133 let startTime = new Date().getTime(); 134 funcWithOneparam(pasteboard.createUriData, uriText, BASE_CONUT); 135 computeAverageTime(startTime, BASE_CONUT, 'createUriData_performance_test_001 averageTime:'); 136 done(); 137 }); 138 139 /** 140 * @tc.name createHtmlTextRecord_performance_test_001 141 * @tc.desc createHtmlTextRecord interface performance test 142 * @tc.type PERF 143 * @tc.require I5YP4X 144 */ 145 it('createHtmlTextRecord_performance_test_001', 0, async function (done) { 146 let startTime = new Date().getTime(); 147 funcWithOneparam(pasteboard.createHtmlTextRecord, htmlText, BASE_CONUT); 148 computeAverageTime(startTime, BASE_CONUT, 'createHtmlTextRecord_performance_test_001 averageTime:'); 149 done(); 150 }); 151 152 /** 153 * @tc.name createWantRecord_performance_test_001 154 * @tc.desc createWantRecord interface performance test 155 * @tc.type PERF 156 * @tc.require I5YP4X 157 */ 158 it('createWantRecord_performance_test_001', 0, async function (done) { 159 let startTime = new Date().getTime(); 160 funcWithOneparam(pasteboard.createWantRecord, wantText, BASE_CONUT); 161 computeAverageTime(startTime, BASE_CONUT, 'createWantRecord_performance_test_001 averageTime:'); 162 done(); 163 }); 164 165 /** 166 * @tc.name createPlainTextRecord_performance_test_001 167 * @tc.desc createPlainTextRecord interface performance test 168 * @tc.type PERF 169 * @tc.require I5YP4X 170 */ 171 it('createPlainTextRecord_performance_test_001', 0, async function (done) { 172 let startTime = new Date().getTime(); 173 funcWithOneparam(pasteboard.createPlainTextRecord, plainText, BASE_CONUT); 174 computeAverageTime(startTime, BASE_CONUT, 'createPlainTextRecord_performance_test_001 averageTime:'); 175 done(); 176 }); 177 178 /** 179 * @tc.name createUriRecord_performance_test_001 180 * @tc.desc createUriRecord interface performance test 181 * @tc.type PERF 182 * @tc.require I5YP4X 183 */ 184 it('createUriRecord_performance_test_001', 0, async function (done) { 185 let startTime = new Date().getTime(); 186 funcWithOneparam(pasteboard.createUriRecord, uriText, BASE_CONUT); 187 computeAverageTime(startTime, BASE_CONUT, 'createUriRecord_performance_test_001 averageTime:'); 188 done(); 189 }); 190 191 /** 192 * @tc.name addRecord_performance_test_001 193 * @tc.desc addRecord interface performance test 194 * @tc.type PERF 195 * @tc.require I5YP4X 196 */ 197 it('addRecord_performance_test_001', 0, async function (done) { 198 let pixelMap = await image.createPixelMap(pixelMapBuffer, opt); 199 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 200 let startTime = new Date().getTime(); 201 funcWithTwoparam(pasteData.addRecord, pasteboard.MIMETYPE_PIXELMAP, pixelMap, BASE_CONUT); 202 computeAverageTime(startTime, BASE_CONUT, 'addRecord_performance_test_001 averageTime:'); 203 done(); 204 }); 205 206 /** 207 * @tc.name getRecord_performance_test_001 208 * @tc.desc getRecord interface performance test 209 * @tc.type PERF 210 * @tc.require I5YP4X 211 */ 212 it('getRecord_performance_test_001', 0, async function (done) { 213 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 214 let startTime = new Date().getTime(); 215 funcWithOneparam(pasteData.getRecord, 0, BASE_CONUT); 216 computeAverageTime(startTime, BASE_CONUT, 'getRecord_performance_test_001 averageTime:'); 217 done(); 218 }); 219 220 /** 221 * @tc.name hasType_performance_test_001 222 * @tc.desc hasType interface performance test 223 * @tc.type PERF 224 * @tc.require I5YP4X 225 */ 226 it('hasType_performance_test_001', 0, async function (done) { 227 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 228 let startTime = new Date().getTime(); 229 funcWithOneparam(pasteData.hasType, pasteboard.MIMETYPE_PIXELMAP, BASE_CONUT); 230 computeAverageTime(startTime, BASE_CONUT, 'hasType_performance_test_001 averageTime:'); 231 done(); 232 }); 233 234 /** 235 * @tc.name removeRecord_performance_test_001 236 * @tc.desc removeRecord interface performance test 237 * @tc.type PERF 238 * @tc.require I5YP4X 239 */ 240 it('removeRecord_performance_test_001', 0, async function (done) { 241 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 242 funcWithOneparam(pasteData.addHtmlRecord, htmlText, BASE_CONUT); 243 let startTime = new Date().getTime(); 244 funcWithOneparam(pasteData.removeRecord, 0, BASE_CONUT); 245 computeAverageTime(startTime, BASE_CONUT, 'removeRecord_performance_test_001 averageTime:'); 246 done(); 247 }); 248 249 /** 250 * @tc.name replaceRecord_performance_test_001 251 * @tc.desc replaceRecord interface performance test 252 * @tc.type PERF 253 * @tc.require I5YP4X 254 */ 255 it('replaceRecord_performance_test_001', 0, async function (done) { 256 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 257 let dataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, uriText); 258 let startTime = new Date().getTime(); 259 funcWithTwoparam(pasteData.replaceRecord, 0, dataRecord, BASE_CONUT); 260 computeAverageTime(startTime, BASE_CONUT, 'replaceRecord_performance_test_001 averageTime:'); 261 done(); 262 }); 263 264 /** 265 * @tc.name addHtmlRecord_performance_test_001 266 * @tc.desc addHtmlRecord interface performance test 267 * @tc.type PERF 268 * @tc.require I5YP4X 269 */ 270 it('addHtmlRecord_performance_test_001', 0, async function (done) { 271 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 272 let startTime = new Date().getTime(); 273 funcWithOneparam(pasteData.addHtmlRecord, htmlText, BASE_CONUT); 274 computeAverageTime(startTime, BASE_CONUT, 'addHtmlRecord_performance_test_001 averageTime:'); 275 done(); 276 }); 277 278 /** 279 * @tc.name addWantRecord_performance_test_001 280 * @tc.desc addWantRecord interface performance test 281 * @tc.type PERF 282 * @tc.require I5YP4X 283 */ 284 it('addWantRecord_performance_test_001', 0, async function (done) { 285 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 286 let startTime = new Date().getTime(); 287 funcWithOneparam(pasteData.addWantRecord, wantText, BASE_CONUT); 288 computeAverageTime(startTime, BASE_CONUT, 'addWantRecord_performance_test_001 averageTime:'); 289 done(); 290 }); 291 292 /** 293 * @tc.name addRecord_performance_test_002 294 * @tc.desc addRecord interface performance test 295 * @tc.type PERF 296 * @tc.require I5YP4X 297 */ 298 it('addRecord_performance_test_002', 0, async function (done) { 299 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 300 let dataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, uriText); 301 let startTime = new Date().getTime(); 302 funcWithOneparam(pasteData.addRecord, dataRecord, BASE_CONUT); 303 computeAverageTime(startTime, BASE_CONUT, 'addRecord_performance_test_002 averageTime:'); 304 done(); 305 }); 306 307 /** 308 * @tc.name addTextRecord_performance_test_001 309 * @tc.desc addTextRecord interface performance test 310 * @tc.type PERF 311 * @tc.require I5YP4X 312 */ 313 it('addTextRecord_performance_test_001', 0, async function (done) { 314 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 315 let startTime = new Date().getTime(); 316 funcWithOneparam(pasteData.addTextRecord, plainText, BASE_CONUT); 317 computeAverageTime(startTime, BASE_CONUT, 'addTextRecord_performance_test_001 averageTime:'); 318 done(); 319 }); 320 321 /** 322 * @tc.name addUriRecord_performance_test_001 323 * @tc.desc addUriRecord interface performance test 324 * @tc.type PERF 325 * @tc.require I5YP4X 326 */ 327 it('addUriRecord_performance_test_001', 0, async function (done) { 328 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 329 let startTime = new Date().getTime(); 330 funcWithOneparam(pasteData.addUriRecord, uriText, BASE_CONUT); 331 computeAverageTime(startTime, BASE_CONUT, 'addUriRecord_performance_test_001 averageTime:'); 332 done(); 333 }); 334 335 /** 336 * @tc.name getMimeTypes_performance_test_001 337 * @tc.desc getMimeTypes interface performance test 338 * @tc.type PERF 339 * @tc.require I5YP4X 340 */ 341 it('getMimeTypes_performance_test_001', 0, async function (done) { 342 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 343 let startTime = new Date().getTime(); 344 funcWithNoparam(pasteData.getMimeTypes, BASE_CONUT); 345 computeAverageTime(startTime, BASE_CONUT, 'getMimeTypes_performance_test_001 averageTime:'); 346 done(); 347 }); 348 349 /** 350 * @tc.name getPrimaryHtml_performance_test_001 351 * @tc.desc getPrimaryHtml interface performance test 352 * @tc.type PERF 353 * @tc.require I5YP4X 354 */ 355 it('getPrimaryHtml_performance_test_001', 0, async function (done) { 356 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_HTML, htmlText); 357 let startTime = new Date().getTime(); 358 funcWithNoparam(pasteData.getPrimaryHtml, BASE_CONUT); 359 computeAverageTime(startTime, BASE_CONUT, 'getPrimaryHtml_performance_test_001 averageTime:'); 360 done(); 361 }); 362 363 /** 364 * @tc.name getPrimaryWant_performance_test_001 365 * @tc.desc getPrimaryWant interface performance test 366 * @tc.type PERF 367 * @tc.require I5YP4X 368 */ 369 it('getPrimaryWant_performance_test_001', 0, async function (done) { 370 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_WANT, wantText); 371 let startTime = new Date().getTime(); 372 funcWithNoparam(pasteData.getPrimaryWant, BASE_CONUT); 373 computeAverageTime(startTime, BASE_CONUT, 'getPrimaryWant_performance_test_001 averageTime:'); 374 done(); 375 }); 376 377 /** 378 * @tc.name getPrimaryMimeType_performance_test_001 379 * @tc.desc getPrimaryMimeType interface performance test 380 * @tc.type PERF 381 * @tc.require I5YP4X 382 */ 383 it('getPrimaryMimeType_performance_test_001', 0, async function (done) { 384 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_WANT, wantText); 385 let startTime = new Date().getTime(); 386 funcWithNoparam(pasteData.getPrimaryMimeType, BASE_CONUT); 387 computeAverageTime(startTime, BASE_CONUT, 'getPrimaryMimeType_performance_test_001 averageTime:'); 388 done(); 389 }); 390 391 /** 392 * @tc.name getPrimaryUri_performance_test_001 393 * @tc.desc getPrimaryUri interface performance test 394 * @tc.type PERF 395 * @tc.require I5YP4X 396 */ 397 it('getPrimaryUri_performance_test_001', 0, async function (done) { 398 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 399 let startTime = new Date().getTime(); 400 funcWithNoparam(pasteData.getPrimaryUri, BASE_CONUT); 401 computeAverageTime(startTime, BASE_CONUT, 'getPrimaryUri_performance_test_001 averageTime:'); 402 done(); 403 }); 404 405 /** 406 * @tc.name getPrimaryPixelMap_performance_test_001 407 * @tc.desc getPrimaryPixelMap interface performance test 408 * @tc.type PERF 409 * @tc.require I5YP4X 410 */ 411 it('getPrimaryPixelMap_performance_test_001', 0, async function (done) { 412 let pixelMap = await image.createPixelMap(pixelMapBuffer, opt); 413 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_PIXELMAP, pixelMap); 414 let startTime = new Date().getTime(); 415 funcWithNoparam(pasteData.getPrimaryPixelMap, BASE_CONUT); 416 computeAverageTime(startTime, BASE_CONUT, 'getPrimaryPixelMap_performance_test_001 averageTime:'); 417 done(); 418 }); 419 420 /** 421 * @tc.name getProperty_performance_test_001 422 * @tc.desc getProperty interface performance test 423 * @tc.type PERF 424 * @tc.require I5YP4X 425 */ 426 it('getProperty_performance_test_001', 0, async function (done) { 427 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 428 let startTime = new Date().getTime(); 429 funcWithNoparam(pasteData.getProperty, BASE_CONUT); 430 computeAverageTime(startTime, BASE_CONUT, 'getProperty_performance_test_001 averageTime:'); 431 done(); 432 }); 433 434 /** 435 * @tc.name setProperty_performance_test_001 436 * @tc.desc setProperty interface performance test 437 * @tc.type PERF 438 * @tc.require I5YP4X 439 */ 440 it('setProperty_performance_test_001', 0, async function (done) { 441 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 442 let property = pasteData.getProperty(); 443 let startTime = new Date().getTime(); 444 funcWithOneparam(pasteData.setProperty, property, BASE_CONUT); 445 computeAverageTime(startTime, BASE_CONUT, 'setProperty_performance_test_001 averageTime:'); 446 done(); 447 }); 448 449 /** 450 * @tc.name getRecordAt_performance_test_001 451 * @tc.desc getRecordAt interface performance test 452 * @tc.type PERF 453 * @tc.require I5YP4X 454 */ 455 it('getRecordAt_performance_test_001', 0, async function (done) { 456 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 457 let startTime = new Date().getTime(); 458 funcWithOneparam(pasteData.getRecordAt, 0, BASE_CONUT); 459 computeAverageTime(startTime, BASE_CONUT, 'getRecordAt_performance_test_001 averageTime:'); 460 done(); 461 }); 462 463 /** 464 * @tc.name getRecordCount_performance_test_001 465 * @tc.desc getRecordCount interface performance test 466 * @tc.type PERF 467 * @tc.require I5YP4X 468 */ 469 it('getRecordCount_performance_test_001', 0, async function (done) { 470 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 471 let startTime = new Date().getTime(); 472 funcWithNoparam(pasteData.getRecordCount, BASE_CONUT); 473 computeAverageTime(startTime, BASE_CONUT, 'getRecordCount_performance_test_001 averageTime:'); 474 done(); 475 }); 476 477 /** 478 * @tc.name hasMimeType_performance_test_001 479 * @tc.desc hasMimeType interface performance test 480 * @tc.type PERF 481 * @tc.require I5YP4X 482 */ 483 it('hasMimeType_performance_test_001', 0, async function (done) { 484 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 485 let startTime = new Date().getTime(); 486 funcWithOneparam(pasteData.hasMimeType, pasteboard.MIMETYPE_TEXT_URI, BASE_CONUT); 487 computeAverageTime(startTime, BASE_CONUT, 'hasMimeType_performance_test_001 averageTime:'); 488 done(); 489 }); 490 491 /** 492 * @tc.name removeRecordAt_performance_test_001 493 * @tc.desc removeRecordAt interface performance test 494 * @tc.type PERF 495 * @tc.require I5YP4X 496 */ 497 it('removeRecordAt_performance_test_001', 0, async function (done) { 498 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 499 let startTime = new Date().getTime(); 500 funcWithOneparam(pasteData.removeRecordAt, 0, BASE_CONUT); 501 computeAverageTime(startTime, BASE_CONUT, 'removeRecordAt_performance_test_001 averageTime:'); 502 done(); 503 }); 504 505 /** 506 * @tc.name replaceRecordAt_performance_test_001 507 * @tc.desc replaceRecordAt interface performance test 508 * @tc.type PERF 509 * @tc.require I5YP4X 510 */ 511 it('replaceRecordAt_performance_test_001', 0, async function (done) { 512 let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, uriText); 513 let dataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_HTML, htmlText); 514 let startTime = new Date().getTime(); 515 funcWithTwoparam(pasteData.replaceRecordAt, 0, dataRecord, BASE_CONUT); 516 computeAverageTime(startTime, BASE_CONUT, 'replaceRecordAt_performance_test_001 averageTime:'); 517 done(); 518 }); 519 520 /** 521 * @tc.name on_performance_test_001 522 * @tc.desc on interface performance test 523 * @tc.type PERF 524 * @tc.require I5YP4X 525 */ 526 it('on_performance_test_001', 0, async function (done) { 527 let systemPasteboard = pasteboard.getSystemPasteboard(); 528 let startTime = new Date().getTime(); 529 funcWithTwoparam(systemPasteboard.on, 'update', contentChanges, BASE_CONUT); 530 computeAverageTime(startTime, BASE_CONUT, 'on_performance_test_001 averageTime:'); 531 done(); 532 }); 533 534 /** 535 * @tc.name off_performance_test_001 536 * @tc.desc off interface performance test 537 * @tc.type PERF 538 * @tc.require I5YP4X 539 */ 540 it('off_performance_test_001', 0, async function (done) { 541 let systemPasteboard = pasteboard.getSystemPasteboard(); 542 let startTime = new Date().getTime(); 543 funcWithTwoparam(systemPasteboard.off, 'update', contentChanges, BASE_CONUT); 544 computeAverageTime(startTime, BASE_CONUT, 'off_performance_test_001 averageTime:'); 545 done(); 546 }); 547 548 function funcWithNoparam(func, count) { 549 for (let index = 0; index < count; index++) { 550 func(); 551 } 552 } 553 554 function funcWithOneparam(func, param, count) { 555 for (let index = 0; index < count; index++) { 556 func(param); 557 } 558 } 559 560 function funcWithTwoparam(func, paramOne, paramTwo, count) { 561 for (let index = 0; index < count; index++) { 562 func(paramOne, paramTwo); 563 } 564 } 565 566 function computeAverageTime(startTime, baseCount, message) { 567 let endTime = new Date().getTime(); 568 let averageTime = ((endTime - startTime) * 1000) / baseCount; 569 console.info(message + averageTime); 570 } 571 572 function contentChanges() { 573 console.info('#EVENT: The content is changed in the pasteboard'); 574 } 575}); 576