1/* 2 * Copyright (C) 2021 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 16import image from "@ohos.multimedia.image"; 17import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium"; 18 19export default function imageYuv() { 20 describe("imageYuv", function () { 21 let globalpixelmap; 22 let globalImagesource; 23 let globalPacker; 24 const { NV21, NV12 } = image.PixelMapFormat; 25 const WRONG_FORMAT = 10; 26 27 beforeAll(async function () { 28 console.info("beforeAll case"); 29 }); 30 31 beforeEach(function () { 32 console.info("beforeEach case"); 33 }); 34 35 afterEach(async function () { 36 if (globalpixelmap != undefined) { 37 console.info("globalpixelmap release start"); 38 try { 39 await globalpixelmap.release(); 40 } catch (error) { 41 console.info("globalpixelmap release fail"); 42 } 43 } 44 if (globalImagesource != undefined) { 45 console.info("globalpixelmap release start"); 46 try { 47 await globalImagesource.release(); 48 } catch (error) { 49 console.info("globalImagesource release fail"); 50 } 51 } 52 if (globalPacker != undefined) { 53 console.info("globalPacker release start"); 54 try { 55 await globalPacker.release(); 56 } catch (error) { 57 console.info("globalPacker release fail"); 58 } 59 } 60 console.info("afterEach case"); 61 }); 62 63 afterAll(function () { 64 console.info("afterAll case"); 65 }); 66 67 function createBuffer(height, width) { 68 var ySize = height * width; 69 var uvSize = ySize / 2; 70 var ySum = ySize; 71 var uvSum = uvSize / 2; 72 var bufferSize = ySize + uvSize; 73 var yBase = 0; 74 var uvBase = yBase + ySize; 75 var yuv = new ArrayBuffer(bufferSize); 76 var yuvArr = new Uint8Array(yuv); 77 for (var p = 0; p < ySum; p++) { 78 var pos = yBase + p; 79 yuvArr[pos] = 1 + p; 80 } 81 for (var p = 0; p < uvSum; p++) { 82 var pos = uvBase + p * 2; 83 yuvArr[pos + 0] = 41 + p; 84 yuvArr[pos + 1] = 71 + p; 85 } 86 return yuv; 87 } 88 89 async function yuvToJpegByPixelMapPromise(done, testNum, sourceOptions, yuvData) { 90 try { 91 let imageSource = image.createImageSource(yuvData, sourceOptions); 92 if (imageSource == undefined) { 93 console.info(`${testNum} create ImageSource failed`); 94 expect(false).assertTrue(); 95 done(); 96 } else { 97 globalImagesource = imageSource; 98 imageSource 99 .createPixelMap() 100 .then((pixelmap) => { 101 if (pixelmap == undefined) { 102 expect(false).assertTrue(); 103 done(); 104 } else { 105 globalpixelmap = pixelmap; 106 pixelmap.getImageInfo((err, imageInfo) => { 107 if (err != undefined) { 108 expect(false).assertTrue(); 109 done(); 110 return; 111 } 112 expect(imageInfo != undefined).assertTrue(); 113 expect(imageInfo.size.height == 4).assertTrue(); 114 expect(imageInfo.size.width == 6).assertTrue(); 115 expect(imageInfo.density == 120).assertTrue(); 116 done(); 117 }); 118 } 119 }) 120 .catch((error) => { 121 console.info(`${testNum} create Pixelmap failed`); 122 console.log(`${testNum} error:` + error); 123 expect(false).assertTrue(); 124 done(); 125 }); 126 } 127 } catch (error) { 128 logger.log(`${testNum} error:` + error); 129 expect(false).assertTrue(); 130 done(); 131 } 132 } 133 134 async function yuvToJpegByPixelMapPromise_Fail(done, testNum, sourceOptions, yuvData) { 135 try { 136 let imageSource = image.createImageSource(yuvData, sourceOptions); 137 if (imageSource == undefined) { 138 console.info(`${testNum} create ImageSource failed`); 139 expect(false).assertTrue(); 140 done(); 141 } else { 142 globalImagesource = imageSource; 143 imageSource 144 .createPixelMap() 145 .then((pixelmap) => { 146 expect(false).assertTrue(); 147 done(); 148 }) 149 .catch((error) => { 150 console.info(`${testNum} error:` + error); 151 expect(true).assertTrue(); 152 done(); 153 }); 154 } 155 } catch (error) { 156 logger.log(`${testNum} error:` + error); 157 expect(false).assertTrue(); 158 done(); 159 } 160 } 161 162 async function yuvToJpegByPixelMapCallback(done, testNum, sourceOptions, yuvData) { 163 console.info(`${testNum} test`); 164 try { 165 let imageSource = image.createImageSource(yuvData, sourceOptions); 166 if (imageSource == undefined) { 167 console.info(`${testNum} create ImageSource failed`); 168 expect(false).assertTrue(); 169 done(); 170 } else { 171 globalImagesource = imageSource; 172 imageSource.createPixelMap((err, pixelmap) => { 173 if (err != undefined || pixelmap == undefined) { 174 console.info(`${testNum} err2: ` + err); 175 expect(false).assertTrue(); 176 done(); 177 return; 178 } 179 globalpixelmap = pixelmap; 180 pixelmap.getImageInfo((err, imageInfo) => { 181 if (err != undefined) { 182 console.info(`${testNum} getImageInfo fail`); 183 expect(false).assertTrue(); 184 done(); 185 return; 186 } 187 expect(imageInfo != undefined).assertTrue(); 188 expect(imageInfo.size.height == 4).assertTrue(); 189 expect(imageInfo.size.width == 6).assertTrue(); 190 expect(imageInfo.density == 120).assertTrue(); 191 done(); 192 }); 193 }); 194 } 195 } catch (error) { 196 logger.log(`${testNum} error:` + error); 197 expect(false).assertTrue(); 198 done(); 199 } 200 } 201 202 async function yuvToJpegByPixelMapCallback_Fail(done, testNum, sourceOptions, yuvData) { 203 try { 204 let imageSource = image.createImageSource(yuvData, sourceOptions); 205 if (imageSource == undefined) { 206 console.info(`${testNum} create ImageSource failed`); 207 expect(false).assertTrue(); 208 done(); 209 } else { 210 globalImagesource = imageSource; 211 imageSource.createPixelMap((err, pixelmap) => { 212 if (err != undefined || pixelmap == undefined) { 213 console.info(`${testNum} err: ` + err); 214 expect(true).assertTrue(); 215 done(); 216 return; 217 } 218 expect(false).assertTrue(); 219 done(); 220 }); 221 } 222 } catch (error) { 223 logger.log(`${testNum} error:` + error); 224 expect(false).assertTrue(); 225 done(); 226 } 227 } 228 229 async function yuvToJpegByImageSourcePromise(done, testNum, sourceOptions, arg, yuvData) { 230 let imageSource = image.createImageSource(yuvData, sourceOptions); 231 if (imageSource == undefined) { 232 console.info(`${testNum} create ImageSource failed`); 233 expect(false).assertTrue(); 234 done(); 235 } else { 236 globalImagesource = imageSource; 237 const imagePackerApi = image.createImagePacker(); 238 if (imagePackerApi == undefined) { 239 console.info(`${testNum} create ImagePacker failed`); 240 expect(false).assertTrue(); 241 done(); 242 } else { 243 globalPacker = imagePackerApi; 244 imagePackerApi 245 .packing(imageSource, arg) 246 .then((data) => { 247 console.info(`${testNum} packed`); 248 var dataArr = new Uint8Array(data); 249 console.info(`${testNum} dataArr.length=` + dataArr.length); 250 for (var i = 0; i < dataArr.length; i++) { 251 var str = `dataArr[` + i + `]=`; 252 for (var j = 0; j < 20 && i < dataArr.length; j++, i++) { 253 str = str + "," + dataArr[i]; 254 } 255 console.info(`${testNum} ` + str); 256 i--; 257 } 258 expect(data != undefined).assertTrue(); 259 done(); 260 }) 261 .catch((error) => { 262 console.log(`${testNum} error: ` + error); 263 expect(false).assertTrue(); 264 done(); 265 }); 266 } 267 } 268 } 269 270 async function yuvToJpegByImageSourcePromise_Fail(done, testNum, sourceOptions, arg, yuvData) { 271 let imageSource = image.createImageSource(yuvData, sourceOptions); 272 if (imageSource == undefined) { 273 console.info(`${testNum} create ImageSource failed`); 274 expect(false).assertTrue(); 275 done(); 276 } else { 277 globalImagesource = imageSource; 278 const imagePackerApi = image.createImagePacker(); 279 if (imagePackerApi == undefined) { 280 console.info(`${testNum} create ImagePacker failed`); 281 expect(false).assertTrue(); 282 done(); 283 } else { 284 globalPacker = imagePackerApi; 285 imagePackerApi 286 .packing(imageSource, arg) 287 .then((data) => { 288 expect(data == undefined).assertTrue(); 289 done(); 290 }) 291 .catch((error) => { 292 console.log(`${testNum} error: ` + error); 293 expect(true).assertTrue(); 294 done(); 295 }); 296 } 297 } 298 } 299 300 async function yuvToJpegByImageSourceCallback(done, testNum, sourceOptions, arg, yuvData) { 301 let imageSource = image.createImageSource(yuvData, sourceOptions); 302 if (imageSource == undefined) { 303 console.info(`${testNum} create ImageSource failed`); 304 expect(false).assertTrue(); 305 done(); 306 } else { 307 globalImagesource = imageSource; 308 const imagePackerApi = image.createImagePacker(); 309 if (imagePackerApi == undefined) { 310 console.info(`${testNum} create ImagePacker failed`); 311 expect(false).assertTrue(); 312 done(); 313 } else { 314 globalPacker = imagePackerApi; 315 imagePackerApi.packing(imageSource, arg, (err, data) => { 316 if (err != undefined) { 317 expect(false).assertTrue(); 318 done(); 319 return; 320 } 321 var dataArr = new Uint8Array(data); 322 console.info(`${testNum} dataArr.length=` + dataArr.length); 323 for (var i = 0; i < dataArr.length; i++) { 324 var str = `dataArr[` + i + `]=`; 325 for (var j = 0; j < 20 && i < dataArr.length; j++, i++) { 326 str = str + "," + dataArr[i]; 327 } 328 console.info(`${testNum} ` + str); 329 i--; 330 } 331 expect(data != undefined).assertTrue(); 332 done(); 333 }); 334 } 335 } 336 } 337 338 async function yuvToJpegByImageSourceCallback_Fail(done, testNum, sourceOptions, arg, yuvData) { 339 let imageSource = image.createImageSource(yuvData, sourceOptions); 340 if (imageSource == undefined) { 341 console.info(`${testNum} create ImageSource failed`); 342 expect(false).assertTrue(); 343 done(); 344 } else { 345 globalImagesource = imageSource; 346 const imagePackerApi = image.createImagePacker(); 347 if (imagePackerApi == undefined) { 348 console.info(`${testNum} create ImagePacker failed`); 349 expect(false).assertTrue(); 350 done(); 351 } else { 352 globalPacker = imagePackerApi; 353 imagePackerApi.packing(imageSource, arg, (err, data) => { 354 expect(err != undefined || data == undefined).assertTrue(); 355 done(); 356 }); 357 } 358 } 359 } 360 361 /** 362 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0100 363 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0100 364 * @tc.desc : 1.create ImageSource 365 * 2.create pixelmap 366 * @tc.size : MEDIUM 367 * @tc.type : Functional 368 * @tc.level : level 0 369 */ 370 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0100", 0, async function (done) { 371 let yuvData = createBuffer(4, 6); 372 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 373 yuvToJpegByPixelMapPromise(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0100", sourceOptions, yuvData); 374 }); 375 376 /** 377 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0200 378 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0200 379 * @tc.desc : 1.create ImageSource 380 * 2.create pixelmap 381 * @tc.size : MEDIUM 382 * @tc.type : Functional 383 * @tc.level : level 0 384 */ 385 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0200", 0, async function (done) { 386 let yuvData = createBuffer(4, 6); 387 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 388 yuvToJpegByPixelMapPromise(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0200", sourceOptions, yuvData); 389 }); 390 391 /** 392 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0300 393 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0300 - Promise - wrong buffer 394 * @tc.desc : 1.create ImageSource 395 * 2.create pixelmap 396 * @tc.size : MEDIUM 397 * @tc.type : Functional 398 * @tc.level : level 0 399 */ 400 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0300", 0, async function (done) { 401 let yuvData = new ArrayBuffer(5); 402 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 403 yuvToJpegByPixelMapPromise(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0300", sourceOptions, yuvData); 404 }); 405 406 /** 407 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0400 408 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0400 - Promise - wrong width 409 * @tc.desc : 1.create ImageSource 410 * 2.create pixelmap 411 * @tc.size : MEDIUM 412 * @tc.type : Functional 413 * @tc.level : level 0 414 */ 415 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0400", 0, async function (done) { 416 let yuvData = createBuffer(4, 6); 417 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 5 } }; 418 yuvToJpegByPixelMapPromise_Fail( 419 done, 420 "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0400", 421 sourceOptions, 422 yuvData 423 ); 424 }); 425 426 /** 427 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0500 428 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0500 - Promise - wrong buffer 429 * @tc.desc : 1.create ImageSource 430 * 2.create pixelmap 431 * @tc.size : MEDIUM 432 * @tc.type : Functional 433 * @tc.level : level 0 434 */ 435 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0500", 0, async function (done) { 436 let yuvData = new ArrayBuffer(5); 437 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 438 yuvToJpegByPixelMapPromise(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0500", sourceOptions, yuvData); 439 }); 440 441 /** 442 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0600 443 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0600 - Promise - wrong width 444 * @tc.desc : 1.create ImageSource 445 * 2.create pixelmap 446 * @tc.size : MEDIUM 447 * @tc.type : Functional 448 * @tc.level : level 0 449 */ 450 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0600", 0, async function (done) { 451 let yuvData = createBuffer(4, 6); 452 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 5 } }; 453 yuvToJpegByPixelMapPromise_Fail( 454 done, 455 "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0600", 456 sourceOptions, 457 yuvData 458 ); 459 }); 460 461 /** 462 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0700 463 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0700 - Promise - wrong format 464 * @tc.desc : 1.create ImageSource 465 * 2.create pixelmap 466 * @tc.size : MEDIUM 467 * @tc.type : Functional 468 * @tc.level : level 0 469 */ 470 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0700", 0, async function (done) { 471 let yuvData = createBuffer(4, 6); 472 let sourceOptions = { 473 sourceDensity: 120, 474 sourcePixelFormat: WRONG_FORMAT, 475 sourceSize: { height: 4, width: 6 }, 476 }; 477 yuvToJpegByPixelMapPromise_Fail( 478 done, 479 "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0700", 480 sourceOptions, 481 yuvData 482 ); 483 }); 484 485 /** 486 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0800 487 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0800 - Promise - format null 488 * @tc.desc : 1.create ImageSource 489 * 2.create pixelmap 490 * @tc.size : MEDIUM 491 * @tc.type : Functional 492 * @tc.level : level 0 493 */ 494 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0800", 0, async function (done) { 495 let yuvData = createBuffer(4, 6); 496 let sourceOptions = { sourceDensity: 120, sourceSize: { height: 4, width: 6 } }; 497 yuvToJpegByPixelMapPromise_Fail( 498 done, 499 "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_PROMISE_0800", 500 sourceOptions, 501 yuvData 502 ); 503 }); 504 505 /** 506 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0100 507 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0100 508 * @tc.desc : 1.create ImageSource 509 * 2.create pixelmap 510 * 3.create ImagePacker 511 * 4.call packing 512 * @tc.size : MEDIUM 513 * @tc.type : Functional 514 * @tc.level : level 0 515 */ 516 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0100", 0, async function (done) { 517 let yuvData = createBuffer(4, 6); 518 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 519 let packOpts = { format: "image/jpeg", quality: 99 }; 520 yuvToJpegByImageSourcePromise( 521 done, 522 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0100", 523 sourceOptions, 524 packOpts, 525 yuvData 526 ); 527 }); 528 529 /** 530 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0200 531 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0200 532 * @tc.desc : 1.create ImageSource 533 * 2.create pixelmap 534 * 3.create ImagePacker 535 * 4.call packing 536 * @tc.size : MEDIUM 537 * @tc.type : Functional 538 * @tc.level : level 0 539 */ 540 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0200", 0, async function (done) { 541 let yuvData = createBuffer(4, 6); 542 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 543 let packOpts = { format: "image/jpeg", quality: 99 }; 544 yuvToJpegByImageSourcePromise( 545 done, 546 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0200", 547 sourceOptions, 548 packOpts, 549 yuvData 550 ); 551 }); 552 553 /** 554 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0300 555 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0300 - Promise - wrong buffer 556 * @tc.desc : 1.create ImageSource 557 * 2.create pixelmap 558 * 3.create ImagePacker 559 * 4.call packing 560 * @tc.size : MEDIUM 561 * @tc.type : Functional 562 * @tc.level : level 0 563 */ 564 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0300", 0, async function (done) { 565 let yuvData = new ArrayBuffer(5); 566 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 567 let packOpts = { format: "image/jpeg", quality: 99 }; 568 yuvToJpegByImageSourcePromise( 569 done, 570 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0300", 571 sourceOptions, 572 packOpts, 573 yuvData 574 ); 575 }); 576 577 /** 578 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0400 579 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0400 - Promise - wrong width 580 * @tc.desc : 1.create ImageSource 581 * 2.create pixelmap 582 * 3.create ImagePacker 583 * 4.call packing 584 * @tc.size : MEDIUM 585 * @tc.type : Functional 586 * @tc.level : level 0 587 */ 588 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0400", 0, async function (done) { 589 let yuvData = createBuffer(4, 6); 590 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 5 } }; 591 let packOpts = { format: "image/jpeg", quality: 99 }; 592 yuvToJpegByImageSourcePromise_Fail( 593 done, 594 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0400", 595 sourceOptions, 596 packOpts, 597 yuvData 598 ); 599 }); 600 601 /** 602 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0500 603 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0500 - Promise - wrong buffer 604 * @tc.desc : 1.create ImageSource 605 * 2.create pixelmap 606 * 3.create ImagePacker 607 * 4.call packing 608 * @tc.size : MEDIUM 609 * @tc.type : Functional 610 * @tc.level : level 0 611 */ 612 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0500", 0, async function (done) { 613 let yuvData = new ArrayBuffer(5); 614 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 615 let packOpts = { format: "image/jpeg", quality: 99 }; 616 yuvToJpegByImageSourcePromise( 617 done, 618 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0500", 619 sourceOptions, 620 packOpts, 621 yuvData 622 ); 623 }); 624 625 /** 626 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0600 627 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0600 - Promise - wrong width 628 * @tc.desc : 1.create ImageSource 629 * 2.create pixelmap 630 * 3.create ImagePacker 631 * 4.call packing 632 * @tc.size : MEDIUM 633 * @tc.type : Functional 634 * @tc.level : level 0 635 */ 636 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0600", 0, async function (done) { 637 let yuvData = createBuffer(4, 6); 638 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 5 } }; 639 let packOpts = { format: "image/jpeg", quality: 99 }; 640 yuvToJpegByImageSourcePromise_Fail( 641 done, 642 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0600", 643 sourceOptions, 644 packOpts, 645 yuvData 646 ); 647 }); 648 649 /** 650 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0700 651 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0700 - Promise - wrong format 652 * @tc.desc : 1.create ImageSource 653 * 2.create pixelmap 654 * 3.create ImagePacker 655 * 4.call packing 656 * @tc.size : MEDIUM 657 * @tc.type : Functional 658 * @tc.level : level 0 659 */ 660 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0700", 0, async function (done) { 661 let yuvData = createBuffer(4, 6); 662 let sourceOptions = { 663 sourceDensity: 120, 664 sourcePixelFormat: WRONG_FORMAT, 665 sourceSize: { height: 4, width: 6 }, 666 }; 667 let packOpts = { format: "image/jpeg", quality: 99 }; 668 yuvToJpegByImageSourcePromise_Fail( 669 done, 670 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0700", 671 sourceOptions, 672 packOpts, 673 yuvData 674 ); 675 }); 676 677 /** 678 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0800 679 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0800 - Promise - format null 680 * @tc.desc : 1.create ImageSource 681 * 2.create pixelmap 682 * 3.create ImagePacker 683 * 4.call packing 684 * @tc.size : MEDIUM 685 * @tc.type : Functional 686 * @tc.level : level 0 687 */ 688 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0800", 0, async function (done) { 689 let yuvData = createBuffer(4, 6); 690 let sourceOptions = { sourceDensity: 120, sourceSize: { height: 4, width: 6 } }; 691 let packOpts = { format: "image/jpeg", quality: 99 }; 692 yuvToJpegByImageSourcePromise_Fail( 693 done, 694 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_PROMISE_0800", 695 sourceOptions, 696 packOpts, 697 yuvData 698 ); 699 }); 700 701 /** 702 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0100 703 * @tc.name : SUB_IMAGE_yuv_pixelmap_CB_001 704 * @tc.desc : 1.create ImageSource 705 * 2.create pixelmap 706 * @tc.size : MEDIUM 707 * @tc.type : Functional 708 * @tc.level : level 0 709 */ 710 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0100", 0, async function (done) { 711 let yuvData = createBuffer(4, 6); 712 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 713 yuvToJpegByPixelMapCallback(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0100", sourceOptions, yuvData); 714 }); 715 716 /** 717 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0200 718 * @tc.name : SUB_IMAGE_yuv_pixelmap_CB_002 719 * @tc.desc : 1.create ImageSource 720 * 2.create pixelmap 721 * @tc.size : MEDIUM 722 * @tc.type : Functional 723 * @tc.level : level 0 724 */ 725 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0200", 0, async function (done) { 726 let yuvData = createBuffer(4, 6); 727 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 728 yuvToJpegByPixelMapCallback(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0200", sourceOptions, yuvData); 729 }); 730 731 /** 732 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0300 733 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0300 - Promise - wrong buffer 734 * @tc.desc : 1.create ImageSource 735 * 2.create pixelmap 736 * @tc.size : MEDIUM 737 * @tc.type : Functional 738 * @tc.level : level 0 739 */ 740 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0300", 0, async function (done) { 741 let yuvData = new ArrayBuffer(5); 742 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 743 yuvToJpegByPixelMapCallback(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0300", sourceOptions, yuvData); 744 }); 745 746 /** 747 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0400 748 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0400 - Promise - wrong width 749 * @tc.desc : 1.create ImageSource 750 * 2.create pixelmap 751 * @tc.size : MEDIUM 752 * @tc.type : Functional 753 * @tc.level : level 0 754 */ 755 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0400", 0, async function (done) { 756 let yuvData = createBuffer(4, 6); 757 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 5 } }; 758 yuvToJpegByPixelMapCallback_Fail(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0400", sourceOptions, yuvData); 759 }); 760 761 /** 762 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0500 763 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0500 - Promise - wrong buffer 764 * @tc.desc : 1.create ImageSource 765 * 2.create pixelmap 766 * @tc.size : MEDIUM 767 * @tc.type : Functional 768 * @tc.level : level 0 769 */ 770 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0500", 0, async function (done) { 771 let yuvData = new ArrayBuffer(5); 772 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 773 yuvToJpegByPixelMapCallback(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0500", sourceOptions, yuvData); 774 }); 775 776 /** 777 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0600 778 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0600 - Promise - wrong width 779 * @tc.desc : 1.create ImageSource 780 * 2.create pixelmap 781 * @tc.size : MEDIUM 782 * @tc.type : Functional 783 * @tc.level : level 0 784 */ 785 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0600", 0, async function (done) { 786 let yuvData = createBuffer(4, 6); 787 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 5 } }; 788 yuvToJpegByPixelMapCallback_Fail(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0600", sourceOptions, yuvData); 789 }); 790 791 /** 792 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0700 793 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0700 - Promise - wrong format 794 * @tc.desc : 1.create ImageSource 795 * 2.create pixelmap 796 * @tc.size : MEDIUM 797 * @tc.type : Functional 798 * @tc.level : level 0 799 */ 800 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0700", 0, async function (done) { 801 let yuvData = createBuffer(4, 6); 802 let sourceOptions = { 803 sourceDensity: 120, 804 sourcePixelFormat: WRONG_FORMAT, 805 sourceSize: { height: 4, width: 6 }, 806 }; 807 yuvToJpegByPixelMapCallback_Fail(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0700", sourceOptions, yuvData); 808 }); 809 810 /** 811 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0800 812 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0800 - Promise - format null 813 * @tc.desc : 1.create ImageSource 814 * 2.create pixelmap 815 * @tc.size : MEDIUM 816 * @tc.type : Functional 817 * @tc.level : level 0 818 */ 819 it("SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0800", 0, async function (done) { 820 let yuvData = createBuffer(4, 6); 821 let sourceOptions = { sourceDensity: 120, sourceSize: { height: 4, width: 6 } }; 822 yuvToJpegByPixelMapCallback_Fail(done, "SUB_MULTIMEDIA_IMAGE_YUV_PIXELMAP_CB_0800", sourceOptions, yuvData); 823 }); 824 825 /** 826 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0100 827 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0100 828 * @tc.desc : 1.create ImageSource 829 * 2.create pixelmap 830 * 3.create ImagePacker 831 * 4.call packing 832 * @tc.size : MEDIUM 833 * @tc.type : Functional 834 * @tc.level : level 0 835 */ 836 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0100", 0, async function (done) { 837 let yuvData = createBuffer(4, 6); 838 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 839 let packOpts = { format: "image/jpeg", quality: 99 }; 840 yuvToJpegByImageSourceCallback( 841 done, 842 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0100", 843 sourceOptions, 844 packOpts, 845 yuvData 846 ); 847 }); 848 849 /** 850 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0200 851 * @tc.name : SUB_IMAGE_yuv_imagesource_CB_002 852 * @tc.desc : 1.create ImageSource 853 * 2.create pixelmap 854 * 3.create ImagePacker 855 * 4.call packing 856 * @tc.size : MEDIUM 857 * @tc.type : Functional 858 * @tc.level : level 0 859 */ 860 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0200", 0, async function (done) { 861 let yuvData = createBuffer(4, 6); 862 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 863 let packOpts = { format: "image/jpeg", quality: 99 }; 864 yuvToJpegByImageSourceCallback( 865 done, 866 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0200", 867 sourceOptions, 868 packOpts, 869 yuvData 870 ); 871 }); 872 873 /** 874 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0300 875 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0300 - Promise - wrong buffer 876 * @tc.desc : 1.create ImageSource 877 * 2.create pixelmap 878 * 3.create ImagePacker 879 * 4.call packing 880 * @tc.size : MEDIUM 881 * @tc.type : Functional 882 * @tc.level : level 0 883 */ 884 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0300", 0, async function (done) { 885 let yuvData = new ArrayBuffer(5); 886 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 6 } }; 887 let packOpts = { format: "image/jpeg", quality: 99 }; 888 yuvToJpegByImageSourceCallback( 889 done, 890 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0300", 891 sourceOptions, 892 packOpts, 893 yuvData 894 ); 895 }); 896 897 /** 898 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0400 899 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0400 - Promise - wrong width 900 * @tc.desc : 1.create ImageSource 901 * 2.create pixelmap 902 * 3.create ImagePacker 903 * 4.call packing 904 * @tc.size : MEDIUM 905 * @tc.type : Functional 906 * @tc.level : level 0 907 */ 908 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0400", 0, async function (done) { 909 let yuvData = createBuffer(4, 6); 910 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV21, sourceSize: { height: 4, width: 5 } }; 911 let packOpts = { format: "image/jpeg", quality: 99 }; 912 yuvToJpegByImageSourceCallback_Fail( 913 done, 914 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0400", 915 sourceOptions, 916 packOpts, 917 yuvData 918 ); 919 }); 920 921 /** 922 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0500 923 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0500 - Promise - wrong buffer 924 * @tc.desc : 1.create ImageSource 925 * 2.create pixelmap 926 * 3.create ImagePacker 927 * 4.call packing 928 * @tc.size : MEDIUM 929 * @tc.type : Functional 930 * @tc.level : level 0 931 */ 932 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0500", 0, async function (done) { 933 let yuvData = new ArrayBuffer(5); 934 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 6 } }; 935 let packOpts = { format: "image/jpeg", quality: 99 }; 936 yuvToJpegByImageSourceCallback( 937 done, 938 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0500", 939 sourceOptions, 940 packOpts, 941 yuvData 942 ); 943 }); 944 945 /** 946 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0600 947 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0600 - Promise - wrong width 948 * @tc.desc : 1.create ImageSource 949 * 2.create pixelmap 950 * 3.create ImagePacker 951 * 4.call packing 952 * @tc.size : MEDIUM 953 * @tc.type : Functional 954 * @tc.level : level 0 955 */ 956 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0600", 0, async function (done) { 957 let yuvData = createBuffer(4, 6); 958 let sourceOptions = { sourceDensity: 120, sourcePixelFormat: NV12, sourceSize: { height: 4, width: 5 } }; 959 let packOpts = { format: "image/jpeg", quality: 99 }; 960 yuvToJpegByImageSourceCallback_Fail( 961 done, 962 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0600", 963 sourceOptions, 964 packOpts, 965 yuvData 966 ); 967 }); 968 969 /** 970 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0700 971 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0700 - Promise - wrong format 972 * @tc.desc : 1.create ImageSource 973 * 2.create pixelmap 974 * 3.create ImagePacker 975 * 4.call packing 976 * @tc.size : MEDIUM 977 * @tc.type : Functional 978 * @tc.level : level 0 979 */ 980 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0700", 0, async function (done) { 981 let yuvData = createBuffer(4, 6); 982 let sourceOptions = { 983 sourceDensity: 120, 984 sourcePixelFormat: WRONG_FORMAT, 985 sourceSize: { height: 4, width: 6 }, 986 }; 987 let packOpts = { format: "image/jpeg", quality: 99 }; 988 yuvToJpegByImageSourceCallback_Fail( 989 done, 990 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0700", 991 sourceOptions, 992 packOpts, 993 yuvData 994 ); 995 }); 996 997 /** 998 * @tc.number : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0800 999 * @tc.name : SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0800 - Promise - format null 1000 * @tc.desc : 1.create ImageSource 1001 * 2.create pixelmap 1002 * 3.create ImagePacker 1003 * 4.call packing 1004 * @tc.size : MEDIUM 1005 * @tc.type : Functional 1006 * @tc.level : level 0 1007 */ 1008 it("SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0800", 0, async function (done) { 1009 let yuvData = createBuffer(4, 6); 1010 let sourceOptions = { sourceDensity: 120, sourceSize: { height: 4, width: 6 } }; 1011 let packOpts = { format: "image/jpeg", quality: 99 }; 1012 yuvToJpegByImageSourceCallback_Fail( 1013 done, 1014 "SUB_MULTIMEDIA_IMAGE_YUV_IMAGESOURCE_CB_0800", 1015 sourceOptions, 1016 packOpts, 1017 yuvData 1018 ); 1019 }); 1020 }); 1021} 1022