fetchFileResultCallBack.test.js 25.1 KB
Newer Older
Z
zhang-daiyue 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*
 * Copyright (C) 2022 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import mediaLibrary from '@ohos.multimedia.medialibrary';
import featureAbility from '@ohos.ability.featureAbility';

P
panqiangbiao 已提交
19
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index';
Z
zhang-daiyue 已提交
20
let fileKeyObj = mediaLibrary.FileKey;
P
panqiangbiao 已提交
21
let fileType = mediaLibrary.MediaType.FILE;
Z
zhang-daiyue 已提交
22 23 24 25 26
let imageType = mediaLibrary.MediaType.IMAGE;
let videoType = mediaLibrary.MediaType.VIDEO;
let audioType = mediaLibrary.MediaType.AUDIO;

let getFileCountOneOp = {
P
panqiangbiao 已提交
27 28 29 30
    selections : fileKeyObj.MEDIA_TYPE + '= ?',
    selectionArgs : [ fileType.toString() ],
    order : fileKeyObj.DATE_ADDED + " DESC LIMIT 0,1",
    extendArgs : "",
Z
zhang-daiyue 已提交
31 32 33
};

let getFileCountTwoOp = {
P
panqiangbiao 已提交
34 35 36 37
    selections : fileKeyObj.MEDIA_TYPE + '= ?',
    selectionArgs : [ fileType.toString() ],
    order : fileKeyObj.DATE_ADDED + " DESC LIMIT 0,2",
    extendArgs : "",
Z
zhang-daiyue 已提交
38 39 40
};

let getFileCountTenOp = {
P
panqiangbiao 已提交
41 42 43 44
    selections : fileKeyObj.MEDIA_TYPE + '= ?',
    selectionArgs : [ fileType.toString() ],
    order : fileKeyObj.DATE_ADDED + " DESC LIMIT 0,10",
    extendArgs : "",
Z
zhang-daiyue 已提交
45 46 47
};

let getFileCountOneHundredOp = {
P
panqiangbiao 已提交
48 49 50 51
    selections : fileKeyObj.MEDIA_TYPE + '= ?',
    selectionArgs : [ fileType.toString() ],
    order : fileKeyObj.DATE_ADDED + " DESC LIMIT 0,100",
    extendArgs : "",
Z
zhang-daiyue 已提交
52 53 54
};

let getFirstObjectOp = {
P
panqiangbiao 已提交
55
    selections : fileKeyObj.RELATIVE_PATH + '= ?',
P
panqiangbiao 已提交
56
    selectionArgs : [ 'Camera/' ],
P
panqiangbiao 已提交
57 58 59
    order : fileKeyObj.ID + " DESC LIMIT 0,5",
    extendArgs : "",
}
Z
zhang-daiyue 已提交
60 61

let getAllObjectLimitOneOp = {
P
panqiangbiao 已提交
62
    selections : fileKeyObj.RELATIVE_PATH + '= ?',
P
panqiangbiao 已提交
63
    selectionArgs : [ 'Camera/' ],
P
panqiangbiao 已提交
64 65 66
    order : fileKeyObj.ID + " DESC LIMIT 0,1",
    extendArgs : "",
}
Z
zhang-daiyue 已提交
67 68

let getAllObjectLimitTwoOp = {
P
panqiangbiao 已提交
69
    selections : fileKeyObj.RELATIVE_PATH + '= ?',
P
panqiangbiao 已提交
70
    selectionArgs : [ 'Camera/' ],
P
panqiangbiao 已提交
71 72 73
    order : fileKeyObj.ID + " DESC LIMIT 0,1",
    extendArgs : "",
}
Z
zhang-daiyue 已提交
74 75

let getAllObjectLimitOneHundredOp = {
P
panqiangbiao 已提交
76
    selections : fileKeyObj.RELATIVE_PATH + '= ?',
P
panqiangbiao 已提交
77
    selectionArgs : [ 'Camera/' ],
P
panqiangbiao 已提交
78 79 80
    order : fileKeyObj.ID + " DESC LIMIT 0,100",
    extendArgs : "",
}
Z
zhang-daiyue 已提交
81 82

let getFileCountZeroOp = {
P
panqiangbiao 已提交
83 84
    selections : fileKeyObj.DISPLAY_NAME + '=?',
    selectionArgs : [ 'The world has kissed my soul with its pain, asking for its return in songs.' ],
Z
zhang-daiyue 已提交
85 86
};

P
panqiangbiao 已提交
87 88
let getFileOp = {
    selections : fileKeyObj.DISPLAY_NAME + '= ? AND ' + fileKeyObj.RELATIVE_PATH + '= ?',
P
panqiangbiao 已提交
89
    selectionArgs : [ '01.jpg', 'Camera/' ],
P
panqiangbiao 已提交
90 91
    order : fileKeyObj.ID + " DESC LIMIT 0,100",
    extendArgs : "",
Z
zhang-daiyue 已提交
92 93
}

P
panqiangbiao 已提交
94
describe('fetchFileResultCallback.test.js', async function() {
Z
zhang-daiyue 已提交
95 96
    var context = featureAbility.getContext();
    var media = mediaLibrary.getMediaLibrary(context);
P
panqiangbiao 已提交
97 98 99 100
    beforeAll(function() {});
    beforeEach(function() {});
    afterEach(function() {});
    afterAll(function() {});
Z
zhang-daiyue 已提交
101 102 103 104 105 106 107 108 109 110

    // ------------------------------ 004 test start -------------------------
    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETFIRSTOBJECT_CALLBACK_004
     * @tc.name      : getFirstObject
     * @tc.desc      : Get FetchResult, get first object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
111
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETFIRSTOBJECT_CALLBACK_004', 0, async function(done) {
Z
zhang-daiyue 已提交
112
        try {
P
panqiangbiao 已提交
113
            console.info('MediaLibraryTest : FETCHRESULT getFirstObject begin');
Z
zhang-daiyue 已提交
114
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
P
panqiangbiao 已提交
115 116 117 118 119 120
            fetchFileResult.getFirstObject(async (error, firstObject) => {
                if (firstObject == undefined) {
                    expect(false).assertTrue();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 004  fail');
                    done();
                } else {
P
panqiangbiao 已提交
121
                    expect(firstObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
122 123 124 125 126
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getFirstObject 004 end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
127
        } catch (error) {
P
panqiangbiao 已提交
128
            console.info('MediaLibraryTest : FETCHRESULT getFirstObject 004 failed, message = ' + error);
Z
zhang-daiyue 已提交
129 130 131 132
            expect(false).assertTrue();
            done();
        }
    });
P
panqiangbiao 已提交
133

Z
zhang-daiyue 已提交
134 135 136 137 138 139 140 141 142 143 144
    // ------------------------------ 004 test end -------------------------

    // ------------------------------ 005 test start -------------------------
    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETNEXTOBJECT_CALLBACK_005
     * @tc.name      : getNextObject
     * @tc.desc      : Get FetchResult, get first object, get next object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
145
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETNEXTOBJECT_CALLBACK_005', 0, async function(done) {
Z
zhang-daiyue 已提交
146
        try {
P
panqiangbiao 已提交
147
            console.info('MediaLibraryTest : FETCHRESULT getNextObject 005 begin');
Z
zhang-daiyue 已提交
148 149
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
            let firstObject = await fetchFileResult.getFirstObject();
P
panqiangbiao 已提交
150
            expect(firstObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
151 152 153 154 155 156 157
            fetchFileResult.getNextObject(async (error, nextObject) => {
                if (nextObject == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    done();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 005  fail');
                } else {
P
panqiangbiao 已提交
158
                    expect(nextObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
159 160 161 162 163
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 005  end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
164
        } catch (error) {
P
panqiangbiao 已提交
165
            console.info('MediaLibraryTest : FETCHRESULT getNextObject 005 failed, message = ' + error);
Z
zhang-daiyue 已提交
166 167 168 169 170 171 172 173 174
            expect(false).assertTrue();
            done();
        }
    });
    // ------------------------------ 005 test end -------------------------

    // ------------------------------ 006 test start -------------------------
    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETLASTOBJECT_CALLBACK_006
P
panqiangbiao 已提交
175
     * @tc.name      : getLastObject
Z
zhang-daiyue 已提交
176 177 178 179 180
     * @tc.desc      : Get FetchResult, get first object, get next object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
181
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETLASTOBJECT_CALLBACK_006', 0, async function(done) {
Z
zhang-daiyue 已提交
182
        try {
P
panqiangbiao 已提交
183
            console.info('MediaLibraryTest : FETCHRESULT getLastObject begin');
Z
zhang-daiyue 已提交
184
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
P
panqiangbiao 已提交
185 186 187 188 189 190 191
            fetchFileResult.getLastObject(async (error, lastObject) => {
                if (lastObject == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 006  fail');
                    done();
                } else {
P
panqiangbiao 已提交
192
                    expect(lastObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
193 194 195 196 197
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 006  end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
198
        } catch (error) {
P
panqiangbiao 已提交
199
            console.info('MediaLibraryTest : FETCHRESULT getLastObject 006 failed, message = ' + error);
Z
zhang-daiyue 已提交
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
            expect(false).assertTrue();
            done();
        }
    });
    // ------------------------------ 006 test end -------------------------

    // ------------------------------ 007 test start -------------------------
    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_01
     * @tc.name      : getPositionObject
     * @tc.desc      : Get FetchResult, get position 0 object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
215 216 217 218 219 220 221 222 223 224 225
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_01', 0, async function(done) {
        try {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_01 begin');
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
            fetchFileResult.getPositionObject(0, async (error, targetObject) => {
                if (targetObject == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 007_01  fail');
                    done();
                } else {
P
panqiangbiao 已提交
226
                    expect(targetObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
227 228 229 230 231 232 233 234 235
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_01 end');
                    done();
                }
            });
        } catch (error) {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_01 failed, message = ' + error);
            expect(false).assertTrue();
            done();
Z
zhang-daiyue 已提交
236
        }
P
panqiangbiao 已提交
237
    });
Z
zhang-daiyue 已提交
238 239 240 241 242 243 244 245 246

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_02
     * @tc.name      : getPositionObject
     * @tc.desc      : Get FetchResult, get position 1 object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
247 248 249 250 251 252 253 254 255 256 257
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_02', 0, async function(done) {
        try {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_02 begin');
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
            fetchFileResult.getPositionObject(1, async (error, targetObject) => {
                if (targetObject == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 007_02  fail');
                    done();
                } else {
P
panqiangbiao 已提交
258
                    expect(targetObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
259 260 261 262 263 264 265 266 267
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_02 end');
                    done();
                }
            });
        } catch (error) {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_02 failed, message = ' + error);
            expect(false).assertTrue();
            done();
Z
zhang-daiyue 已提交
268
        }
P
panqiangbiao 已提交
269
    });
Z
zhang-daiyue 已提交
270 271 272 273 274 275 276 277 278

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_02
     * @tc.name      : getPositionObject
     * @tc.desc      : Get FetchResult, get position 1 object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
279 280 281 282 283 284 285 286 287 288 289 290
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_03', 0, async function(done) {
        try {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_03 begin');
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
            const count = await fetchFileResult.getCount();
            fetchFileResult.getPositionObject(count - 1, async (error, targetObject) => {
                if (targetObject == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 007_03  fail');
                    done();
                } else {
P
panqiangbiao 已提交
291
                    expect(targetObject.relativePath == 'Camera/').assertTrue();
P
panqiangbiao 已提交
292 293 294 295 296 297 298 299 300
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_03 end');
                    done();
                }
            });
        } catch (error) {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_03 failed, message = ' + error);
            expect(false).assertTrue();
            done();
Z
zhang-daiyue 已提交
301
        }
P
panqiangbiao 已提交
302
    });
Z
zhang-daiyue 已提交
303 304 305 306 307 308 309 310 311

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_04
     * @tc.name      : getPositionObject
     * @tc.desc      : Get FetchResult, get position 1 object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
312 313 314 315 316
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETPOSITIONOBJECT_CALLBACK_007_04', 0, async function(done) {
        try {
            console.info('MediaLibraryTest :  FETCHRESULT getPositionObject 007_04 begin');
            let fetchFileResult = await media.getFileAssets(getFirstObjectOp);
            const count = await fetchFileResult.getCount();
Z
zhang-daiyue 已提交
317
            try {
P
panqiangbiao 已提交
318
                fetchFileResult.getPositionObject(count + 100, async (error, targetObject) => {
Z
zhang-daiyue 已提交
319 320 321
                    if (targetObject == undefined) {
                        expect(true).assertTrue();
                        fetchFileResult.close();
P
panqiangbiao 已提交
322 323 324 325 326 327
                        console.info('MediaLibraryTest : FETCHRESULT getNextObject 007_04  fail');
                        done();
                    } else {
                        expect(false).assertTrue();
                        fetchFileResult.close();
                        console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_04 end');
Z
zhang-daiyue 已提交
328 329
                        done();
                    }
P
panqiangbiao 已提交
330 331 332 333
                });
            } catch (err) {
                expect(true).assertTrue();
                fetchFileResult.close();
Z
zhang-daiyue 已提交
334 335
                done();
            }
P
panqiangbiao 已提交
336 337 338 339 340
            done();
        } catch (error) {
            console.info('MediaLibraryTest : FETCHRESULT getPositionObject 007_04 failed, message = ' + error);
            expect(false).assertTrue();
            done();
Z
zhang-daiyue 已提交
341
        }
P
panqiangbiao 已提交
342
    });
Z
zhang-daiyue 已提交
343 344 345 346 347 348 349 350 351 352 353
    // ------------------------------ 007 test end -------------------------

    // ------------------------------ 008 test start -------------------------
    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_01
     * @tc.name      : getAllObject
     * @tc.desc      : Get FetchResult, get all object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
354
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_01', 0, async function(done) {
Z
zhang-daiyue 已提交
355
        try {
P
panqiangbiao 已提交
356
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_01 begin');
Z
zhang-daiyue 已提交
357
            let fetchFileResult = await media.getFileAssets(getAllObjectLimitOneOp);
P
panqiangbiao 已提交
358 359 360 361 362 363 364 365 366 367 368 369
            fetchFileResult.getAllObject((error, targetObjects) => {
                if (targetObjects == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 008_01  fail');
                    done();
                } else {
                    expect(0 < targetObjects.length <= 1).assertTrue();
                    console.info('MediaLibraryTest : FETCHRESULT getPositionObject 008_01 end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
370
        } catch (error) {
P
panqiangbiao 已提交
371
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_01 failed, message = ' + error);
Z
zhang-daiyue 已提交
372 373 374 375 376 377 378 379 380 381 382 383 384
            expect(false).assertTrue();
            done();
        }
    });

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_02
     * @tc.name      : getAllObject
     * @tc.desc      : Get FetchResult, get all object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
385
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_02', 0, async function(done) {
Z
zhang-daiyue 已提交
386
        try {
P
panqiangbiao 已提交
387
            console.info('MediaLibraryTest :  FETCHRESULT getAllObject 008_02 begin');
Z
zhang-daiyue 已提交
388
            let fetchFileResult = await media.getFileAssets(getAllObjectLimitTwoOp);
P
panqiangbiao 已提交
389 390 391 392 393 394 395 396 397 398 399 400 401 402
            fetchFileResult.getAllObject((error, targetObjects) => {
                if (targetObjects == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 008_01  fail');
                    done();
                } else {
                    expect(0 < targetObjects.length <= 2).assertTrue();
                    console.info('MediaLibraryTest :  FETCHRESULT getAllObject 008_02 targetObjects.length:'
                                 + targetObjects.length);
                    console.info('MediaLibraryTest :  FETCHRESULT getAllObject 008_02 end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
403
        } catch (error) {
P
panqiangbiao 已提交
404
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_02 failed, message = ' + error);
Z
zhang-daiyue 已提交
405 406 407 408 409 410 411 412 413 414 415 416 417
            expect(false).assertTrue();
            done();
        }
    });

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_03
     * @tc.name      : getAllObject
     * @tc.desc      : Get FetchResult, get all object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
P
panqiangbiao 已提交
418
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_GETALLOBJECT_CALLBACK_008_03', 0, async function(done) {
Z
zhang-daiyue 已提交
419
        try {
P
panqiangbiao 已提交
420
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_03 begin');
Z
zhang-daiyue 已提交
421
            let fetchFileResult = await media.getFileAssets(getAllObjectLimitOneHundredOp);
P
panqiangbiao 已提交
422 423 424 425 426 427 428 429 430 431 432 433
            fetchFileResult.getAllObject((error, targetObjects) => {
                if (targetObjects == undefined) {
                    expect(false).assertTrue();
                    fetchFileResult.close();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 008_03  fail');
                    done();
                } else {
                    expect(0 < targetObjects.length <= 100).assertTrue();
                    console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_03 end');
                    done();
                }
            });
Z
zhang-daiyue 已提交
434
        } catch (error) {
P
panqiangbiao 已提交
435
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 008_03 failed, message = ' + error);
Z
zhang-daiyue 已提交
436 437 438 439 440
            expect(false).assertTrue();
            done();
        }
    });
    // ------------------------------ 008 test end -------------------------
P
panqiangbiao 已提交
441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489

    /**
     * @tc.number    : SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_getFirstObject_CALLBACK_009_01
     * @tc.name      : getFirstObject
     * @tc.desc      : Get FetchResult, get first object, check result
     * @tc.size      : MEDIUM
     * @tc.type      : Function
     * @tc.level     : Level 0
     */
    it('SUB_MEDIA_MEDIALIBRARY_FETCHRESULT_getFirstObject_CALLBACK_009_01', 0, async function(done) {
        try {
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 009_01 begin');
            let fetchFileResult = await media.getFileAssets(getFileOp);
            fetchFileResult.getFirstObject(async (error, firstObject) => {
                if (firstObject == undefined) {
                    expect(false).assertTrue();
                    done();
                    console.info('MediaLibraryTest : FETCHRESULT getNextObject 004  fail');
                } else {
                    expect(firstObject.id != undefined).assertTrue();
                    if (firstObject.id == undefined) {
                        console.info('MediaLibraryTest :firstObject.id == undefined');
                    }

                    expect(firstObject.uri != undefined).assertTrue();
                    if (firstObject.uri == undefined) {
                        console.info('MediaLibraryTest :firstObject.uri === undefined');
                    }

                    expect(firstObject.mimeType == 'image/*').assertTrue();
                    if (firstObject.mimeType != 'image/*') {
                        console.info('MediaLibraryTest :firstObject.mimeType:' + firstObject.mimeType);
                    }

                    expect(firstObject.mediaType == imageType).assertTrue();
                    if (firstObject.mediaType != imageType) {
                        console.info('MediaLibraryTest :firstObject.mediaType:' + firstObject.mediaType);
                    }

                    expect(firstObject.displayName == '01.jpg').assertTrue();
                    if (firstObject.displayName != '01.jpg') {
                        console.info('MediaLibraryTest :firstObject.mediaType:' + firstObject.mediaType);
                    }

                    expect(firstObject.title == '01').assertTrue();
                    if (firstObject.title != '01') {
                        console.info('MediaLibraryTest :firstObject.title:' + firstObject.title);
                    }

P
panqiangbiao 已提交
490 491
                    expect(firstObject.relativePath == 'Camera/').assertTrue();
                    if (firstObject.relativePath != 'Camera/') {
P
panqiangbiao 已提交
492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
                        console.info('MediaLibraryTest :firstObject.relativePath:' + firstObject.relativePath);
                    }

                    expect(firstObject.parent != undefined).assertTrue();
                    if (firstObject.parent == undefined) {
                        console.info('MediaLibraryTest :firstObject.parent == undefined');
                    }

                    expect(firstObject.size == 348113).assertTrue();
                    if (firstObject.size != 348113) {
                        console.info('MediaLibraryTest :firstObject.size:' + firstObject.size);
                    }

                    expect(firstObject.dateTaken == 0).assertTrue();
                    if (firstObject.dateTaken != 0) {
                        console.info('MediaLibraryTest :firstObject.dateTaken:' + firstObject.dateTaken);
                    }

                    expect(firstObject.artist == '').assertTrue();
                    if (firstObject.artist != '') {
                        console.info('MediaLibraryTest :firstObject.artist:' + firstObject.artist);
                    }

                    expect(firstObject.audioAlbum == '').assertTrue();
                    if (firstObject.audioAlbum != '') {
                        console.info('MediaLibraryTest :firstObject.audioAlbum:' + firstObject.audioAlbum);
                    }

                    expect(firstObject.width == 1279).assertTrue();
                    if (firstObject.width != 1279) {
                        console.info('MediaLibraryTest :firstObject.width:' + firstObject.width);
                    }

                    expect(firstObject.height == 1706).assertTrue();
                    if (firstObject.height != 1706) {
                        console.info('MediaLibraryTest :firstObject.height:' + firstObject.height);
                    }

                    expect(firstObject.orientation == 0).assertTrue();
                    if (firstObject.orientation != 0) {
                        console.info('MediaLibraryTest :firstObject.orientation:' + firstObject.orientation);
                    }

                    expect(firstObject.duration == 0).assertTrue();
                    if (firstObject.duration != 0) {
                        console.info('MediaLibraryTest :firstObject.duration:' + firstObject.duration);
                    }

                    expect(firstObject.albumId != undefined).assertTrue();
                    if (firstObject.albumId == undefined) {
                        console.info('MediaLibraryTest :firstObject.albumId == undefined');
                    }

                    expect(firstObject.albumUri != undefined).assertTrue();
                    if (firstObject.albumUri == undefined) {
                        console.info('MediaLibraryTest :firstObject.albumUri:' + firstObject.albumUri);
                    }

P
panqiangbiao 已提交
550 551
                    expect(firstObject.albumName == 'Camera').assertTrue();
                    if (firstObject.albumName != 'Camera') {
P
panqiangbiao 已提交
552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574
                        console.info('MediaLibraryTest :firstObject.albumName:' + firstObject.albumName);
                    }

                    expect(firstObject.dateAdded != undefined).assertTrue();
                    if (firstObject.dateAdded == undefined) {
                        console.info('MediaLibraryTest :firstObject.dateAdded:' + firstObject.dateAdded);
                    }

                    expect(firstObject.albumName != undefined).assertTrue();
                    if (firstObject.albumName == undefined) {
                        console.info('MediaLibraryTest :firstObject.albumName:' + firstObject.albumName);
                    }
                    console.info('MediaLibraryTest : FETCHRESULT getAllObject 009_01 end');
                    done();
                }
            });
        } catch (error) {
            console.info('MediaLibraryTest : FETCHRESULT getAllObject 009_01 failed, message = ' + error);
            expect(false).assertTrue();
            done();
        }
    });
});