SensorOnOffTest.test_Magnetic_Field.js 22.5 KB
Newer Older
L
logic42 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
/*
 * Copyright (C) 2021 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import sensor from '@ohos.sensor'

import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'

describe("SensorJsTest", function () {
    beforeAll(function () {

        /*
         * @tc.setup: setup invoked before all testcases
         */
        console.info('beforeAll caled')
    })

    afterAll(function () {

        /*
         * @tc.teardown: teardown invoked after all testcases
         */
        console.info('afterAll caled')
    })

    beforeEach(function () {

        /*
         * @tc.setup: setup invoked before each testcases
         */
        console.info('beforeEach caled')
    })

    afterEach(function () {

        /*
         * @tc.teardown: teardown invoked after each testcases
         */
        console.info('afterEach caled')
    })

    /*
53 54
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0010
     * @tc.name: SensorMagneticFieldJSTest001
L
logic42 已提交
55 56
     * @tc.desc:verify app info is not null
     */
57 58
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0010", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0010---------------------------');
L
logic42 已提交
59 60 61 62
        function offPromise() {
            return new Promise((resolve, reject) => {
                sensor.off(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, (error) => {
                    if (error) {
63
                        console.info('SensorMagneticFieldJSTest001  off error');
L
logic42 已提交
64 65 66 67 68 69
                        expect(false).assertTrue();
                        console.info('setTimeout ..start')
                        setTimeout((err) => {
                            reject(err);
                        }, 500);
                    } else {
70
                        console.info('SensorMagneticFieldJSTest001  off success');
L
logic42 已提交
71 72 73 74 75 76 77 78 79 80 81 82
                        expect(true).assertTrue();
                        setTimeout(() => {
                            resolve();
                        }, 500);
                    }
                }, 1000)
            })
        }

        let promise = new Promise((resolve, reject) => {
            sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, function (error, data) {
                if (error) {
83
                    console.info('SensorMagneticFieldJSTest001  on error');
L
logic42 已提交
84 85 86 87 88
                    expect(false).assertTrue();
                    setTimeout((err) => {
                        reject(err);
                    }, 500);
                } else {
89 90
                    console.info('SensorMagneticFieldJSTest001  on success, x: ' + data.x + "y: " 
                        + data.y + "z: " + data.z);
L
logic42 已提交
91 92 93 94 95 96 97 98 99 100 101 102 103
                    expect(typeof (data.x)).assertEqual("number");
                    expect(typeof (data.y)).assertEqual("number");
                    expect(typeof (data.z)).assertEqual("number");
                    setTimeout(() => {
                        resolve();
                    }, 500);
                }
            });
        })

        await promise.then(() => {
            return offPromise();
        }, () => {
104
            console.info("SensorMagneticFieldJSTest001 reject");
L
logic42 已提交
105 106 107 108 109
        })
        done();
    })

    /*
110 111
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0020
     * @tc.name: SensorMagneticFieldJSTest002
L
logic42 已提交
112 113
     * @tc.desc:verify app info is not null
     */
114 115
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0020", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0020---------------------------');
L
logic42 已提交
116 117
        function onSensorCallback(error, data) {
            if (error) {
118
                console.info('SensorMagneticFieldJSTest002  on success');
L
logic42 已提交
119 120
                expect(true).assertTrue();
            } else {
121
                console.info('SensorMagneticFieldJSTest002  on error');
L
logic42 已提交
122 123 124 125 126 127 128 129 130 131
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.on(-1, onSensorCallback);
    })

    /*
132 133
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0030
     * @tc.name: SensorMagneticFieldJSTest003
L
logic42 已提交
134 135
     * @tc.desc:verify app info is not null
     */
136 137
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0030", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0030---------------------------');
L
logic42 已提交
138 139 140 141
        function offPromise() {
            return new Promise((resolve, reject) => {
                sensor.off(6, (error) => {
                    if (error) {
142
                        console.info('SensorMagneticFieldJSTest003  off error');
L
logic42 已提交
143 144 145 146 147 148
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            done();
                            reject(err);
                        }, 500);
                    } else {
149
                        console.info('SensorMagneticFieldJSTest003  off success');
L
logic42 已提交
150 151 152 153 154 155 156 157 158 159 160 161 162
                        expect(true).assertTrue();
                        setTimeout(() => {
                            done();
                            resolve();
                        }, 500);
                    }
                }, 1000)
            })
        }

        let promise = new Promise((resolve, reject) => {
            sensor.on(6, function (error, data) {
                if (error) {
163
                    console.info('SensorMagneticFieldJSTest003  on error');
L
logic42 已提交
164 165 166 167 168
                    expect(false).assertTrue();
                    setTimeout((err) => {
                        reject(err);
                    }, 500);
                } else {
169 170
                    console.info('SensorMagneticFieldJSTest003  on success x: ' + data.x + "y: " 
                        + data.y + "z: " + data.z);
L
logic42 已提交
171 172 173 174 175 176 177 178 179 180 181 182 183
                    expect(typeof (data.x)).assertEqual("number");
                    expect(typeof (data.y)).assertEqual("number");
                    expect(typeof (data.z)).assertEqual("number");
                    setTimeout(() => {
                        resolve();
                    }, 500);
                }
            }, { 'interval': 200000000 });
        })

        await promise.then(() => {
            return offPromise();
        }, () => {
184
            console.info("SensorMagneticFieldJSTest003 reject");
L
logic42 已提交
185 186 187 188 189
        })
        done();
    })

    /*
190 191
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0040
     * @tc.name: SensorMagneticFieldJSTest004
L
logic42 已提交
192 193
     * @tc.desc:verify app info is not null
     */
194 195
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0040", 0, function () {
        console.info('----------------------SensorMagneticFieldJSTest004---------------------------');
L
logic42 已提交
196 197
        sensor.on(6, function () { }, { 'interval': 100000000 }, 5);
        expect(true).assertTrue();
198
        console.info('----------------------SensorMagneticFieldJSTest004--------------------------- end');
L
logic42 已提交
199 200 201
    })

    /*
202 203
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0050
     * @tc.name: SensorMagneticFieldJSTest005
L
logic42 已提交
204 205
     * @tc.desc:verify app info is not null
     */
206
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0050", 0, async function (done) {
L
logic42 已提交
207 208
        function onceSensorCallback(error, data) {
            if (error) {
209
                console.info('SensorMagneticFieldJSTest005  once error');
L
logic42 已提交
210 211
                expect(false).assertTrue();
            } else {
212 213
                console.info('SensorMagneticFieldJSTest005  once success x: ' + data.x + "y: " 
                    + data.y + "z: " + data.z);
L
logic42 已提交
214 215 216 217 218 219 220 221 222 223 224 225
                expect(typeof (data.x)).assertEqual("number");
                expect(typeof (data.y)).assertEqual("number");
                expect(typeof (data.z)).assertEqual("number");
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, onceSensorCallback);
    })

    /*
226 227
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0060
     * @tc.name: SensorMagneticFieldJSTest006
L
logic42 已提交
228 229
     * @tc.desc:verify app info is not null
     */
230
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0060", 0, async function (done) {
L
logic42 已提交
231 232
        function onceSensorCallback(error, data) {
            if (error) {
233
                console.info('SensorMagneticFieldJSTest006  on success');
L
logic42 已提交
234 235
                expect(true).assertTrue();
            } else {
236
                console.info('SensorMagneticFieldJSTest006  on error');
L
logic42 已提交
237 238 239 240 241 242 243 244 245 246
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.once(-1, onceSensorCallback);
    })

    /*
247 248
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0070
     * @tc.name: SensorMagneticFieldJSTest007
L
logic42 已提交
249 250
     * @tc.desc:verify app info is not null
     */
251
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0070", 0, function () {
L
logic42 已提交
252 253 254 255 256
        sensor.once(6, function () { }, 5);
        expect(true).assertTrue();
    })

    /*
257 258
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0080
     * @tc.name: SensorMagneticFieldJSTest008
L
logic42 已提交
259 260
     * @tc.desc:verify app info is not null
     */
261
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0080", 0, async function (done) {
L
logic42 已提交
262 263
        function offCallback(error) {
            if (error) {
264
                console.info('SensorMagneticFieldJSTest008  off success');
L
logic42 已提交
265 266
                expect(true).assertTrue();
            } else {
267
                console.info('SensorMagneticFieldJSTest008  off error');
L
logic42 已提交
268 269 270 271 272 273 274 275 276 277
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.off(-1, offCallback);
    })

    /*
278 279
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0090
     * @tc.name: SensorMagneticFieldJSTest009
L
logic42 已提交
280 281
     * @tc.desc:verify app info is not null
     */
282
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0090", 0, async function (done) {
L
logic42 已提交
283 284
        function offCallback(error) {
            if (error) {
285
                console.info('SensorMagneticFieldJSTest009  off success');
L
logic42 已提交
286 287
                expect(true).assertTrue();
            } else {
288
                console.info('SensorMagneticFieldJSTest009  off error');
L
logic42 已提交
289 290 291 292 293 294 295 296 297 298
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.off(6, offCallback);
    })

    /*
299 300
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0100
     * @tc.name: SensorMagneticFieldJSTest010
L
logic42 已提交
301 302
     * @tc.desc:verify app info is not null
     */
303
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0100", 0, async function (done) {
L
logic42 已提交
304 305
        function offCallback(error) {
            if (error) {
306
                console.info('SensorMagneticFieldJSTest010  off success');
L
logic42 已提交
307 308
                expect(true).assertTrue();
            } else {
309
                console.info('SensorMagneticFieldJSTest010  off error');
L
logic42 已提交
310 311 312 313 314 315 316 317 318 319
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.off(1000000, offCallback);
    })

    /*
320 321
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0110
     * @tc.name: SensorMagneticFieldJSTest011
L
logic42 已提交
322 323
     * @tc.desc:verify app info is not null
     */
324
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0110", 0, async function (done) {
L
logic42 已提交
325 326
        function onceSensorCallback(error, data) {
            if (error) {
327
                console.info('SensorMagneticFieldJSTest011  once success');
L
logic42 已提交
328 329
                expect(true).assertTrue();
            } else {
330
                console.info('SensorMagneticFieldJSTest011  once error');
L
logic42 已提交
331 332 333 334 335 336 337 338 339 340
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.once(1000000, onceSensorCallback);
    })

    /*
341 342
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0120
     * @tc.name: SensorMagneticFieldJSTest012
L
logic42 已提交
343 344
     * @tc.desc:verify app info is not null
     */
345
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0120", 0, async function (done) {
L
logic42 已提交
346 347
        function onCallback(error) {
            if (error) {
348
                console.info('SensorMagneticFieldJSTest012  on success');
L
logic42 已提交
349 350
                expect(true).assertTrue();
            } else {
351
                console.info('SensorMagneticFieldJSTest012  on error');
L
logic42 已提交
352 353 354 355 356 357 358 359 360 361
                expect(false).assertTrue();
            }
            setTimeout(() => {
                done();
            }, 500);
        }
        sensor.on(1000000, onCallback);
    })

    /*
362 363
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0130
     * @tc.name: SensorMagneticFieldJSTest013
L
logic42 已提交
364 365
     * @tc.desc:verify app info is not null
     */
366
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0130", 0, function () {
L
logic42 已提交
367 368 369 370 371 372
        sensor.off(6, 5);
        expect(true).assertTrue();
    })


    /*
373 374
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0140
     * @tc.name: SensorMagneticFieldJSTest014
L
logic42 已提交
375 376
     * @tc.desc:verify app info is not null
     */
377 378
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0140", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0140---------------------------');
L
logic42 已提交
379 380 381 382
        function offPromise2() {
            return new Promise((resolve, reject) => {
                sensor.off(6, (error) => {
                    if (error) {
383
                        console.info('SensorMagneticFieldJSTest014  off2 success');
L
logic42 已提交
384 385 386 387 388 389
                        expect(true).assertTrue();
                        setTimeout((err) => {
                            done();
                            reject(err)
                        }, 500);
                    } else {
390
                        console.info('SensorMagneticFieldJSTest014  off2 error');
L
logic42 已提交
391 392 393 394 395 396 397 398 399 400 401 402 403 404
                        expect(false).assertTrue();
                        setTimeout(() => {
                            done();
                            resolve()
                        }, 500);
                    }
                });
            })
        }

        function offPromise1() {
            return new Promise((resolve, reject) => {
                sensor.off(6, (error) => {
                    if (error) {
405
                        console.info('SensorMagneticFieldJSTest014  off1  error');
L
logic42 已提交
406 407 408 409 410
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            reject(err);
                        }, 500);
                    } else {
411
                        console.info('SensorMagneticFieldJSTest014  off1  success');
L
logic42 已提交
412 413 414 415 416 417 418 419 420 421 422 423
                        expect(true).assertTrue();
                        setTimeout(() => {
                            resolve();
                        }, 500);
                    }
                });
            })
        }

        let promise = new Promise((resolve, reject) => {
            sensor.on(6, function (error, data) {
                if (error) {
424
                    console.info('SensorMagneticFieldJSTest014  on error');
L
logic42 已提交
425 426 427 428 429
                    expect(false).assertTrue();
                    setTimeout((err) => {
                        reject(err);
                    }, 500);
                } else {
430 431
                    console.info('SensorMagneticFieldJSTest014  on success x: ' + data.x + "y: " 
                        + data.y + "z: " + data.z);
L
logic42 已提交
432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450
                    expect(typeof (data.x)).assertEqual("number");
                    expect(typeof (data.y)).assertEqual("number");
                    expect(typeof (data.z)).assertEqual("number");
                    setTimeout(() => {
                        resolve();
                    }, 500);
                }
            });
        })

        await promise.then(() => {
            return offPromise1();
        }).then(() => {
            return offPromise2();
        });
        done();
    })

    /*
451 452
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0150
     * @tc.name: SensorMagneticFieldJSTest015
L
logic42 已提交
453 454
     * @tc.desc:verify app info is not null
     */
455 456
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0150", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0150---------------------------');
L
logic42 已提交
457 458 459 460
        function offPromise() {
            return new Promise((resolve, reject) => {
                sensor.off(6, (error) => {
                    if (error) {
461
                        console.info('SensorMagneticFieldJSTest015  off error');
L
logic42 已提交
462 463 464 465 466 467
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            done();
                            reject(err);
                        }, 500);
                    } else {
468
                        console.info('SensorMagneticFieldJSTest015  off success');
L
logic42 已提交
469 470 471 472 473 474 475 476 477 478 479 480 481
                        expect(true).assertTrue();
                        setTimeout(() => {
                            done();
                            resolve();
                        }, 500);
                    }
                });
            })
        }
        function onPromise2() {
            return new Promise((resolve, reject) => {
                sensor.on(6, function (error, data) {
                    if (error) {
482
                        console.info('SensorMagneticFieldJSTest015  on2 error');
L
logic42 已提交
483 484 485 486 487
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            reject(err);
                        }, 500);
                    } else {
488 489
                        console.info('SensorMagneticFieldJSTest015  on2 success x: ' + data.x + "y: " 
                            + data.y + "z: " + data.z);
L
logic42 已提交
490 491 492 493 494 495 496 497 498 499 500 501 502 503
                        expect(typeof (data.x)).assertEqual("number");
                        expect(typeof (data.y)).assertEqual("number");
                        expect(typeof (data.z)).assertEqual("number");
                        setTimeout(() => {
                            resolve();
                        }, 500);
                    }
                });
            })
        }

        let onPromise1 = new Promise((resolve, reject) => {
            sensor.on(6, function (error, data) {
                if (error) {
504
                    console.info('SensorMagneticFieldJSTest015  on1 error');
L
logic42 已提交
505 506 507 508 509
                    expect(false).assertTrue();
                    setTimeout((err) => {
                        reject(err);
                    }, 500);
                } else {
510 511
                    console.info('SensorMagneticFieldJSTest015  on1 success x: ' + data.x + "y: " 
                        + data.y + "z: " + data.z);
L
logic42 已提交
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531
                    expect(typeof (data.x)).assertEqual("number");
                    expect(typeof (data.y)).assertEqual("number");
                    expect(typeof (data.z)).assertEqual("number");
                    setTimeout(() => {
                        resolve();
                    }, 500);
                }
            });
        })

        await onPromise1.then(() => {
            return onPromise2();
        }).then(() => {
            return offPromise();
        });
        done();
    })


    /*
532 533
     * @tc.number: SUB_SensorsSystem_Magnetic_Field_JSTest_0160
     * @tc.name: SensorMagneticFieldJSTest016
L
logic42 已提交
534 535
     * @tc.desc:verify app info is not null
     */
536 537
    it("SUB_SensorsSystem_Magnetic_Field_JSTest_0160", 0, async function (done) {
        console.info('----------------------SUB_SensorsSystem_Magnetic_Field_JSTest_0160---------------------------');
L
logic42 已提交
538 539 540 541
        function offPromise() {
            return new Promise((resolve, reject) => {
                sensor.off(6, (error) => {
                    if (error) {
542
                        console.info('SensorMagneticFieldJSTest016  off error');
L
logic42 已提交
543 544 545 546 547 548
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            done();
                            reject(err);
                        }, 500);
                    } else {
549
                        console.info('SensorMagneticFieldJSTest016  off success');
L
logic42 已提交
550 551 552 553 554 555 556 557 558 559 560 561 562
                        expect(true).assertTrue();
                        setTimeout(() => {
                            done();
                            resolve();
                        }, 500);
                    }
                });
            })
        }
        function oncePromise() {
            return new Promise((resolve, reject) => {
                sensor.once(6, function (error, data) {
                    if (error) {
563
                        console.info('SensorMagneticFieldJSTest016  once error');
L
logic42 已提交
564 565 566 567 568
                        expect(false).assertTrue();
                        setTimeout((err) => {
                            reject(err);
                        }, 500);
                    } else {
569 570
                        console.info('SensorMagneticFieldJSTest016  once success x: ' + data.x + "y: " 
                            + data.y + "z: " + data.z);
L
logic42 已提交
571 572 573 574 575 576 577 578 579 580 581 582 583 584
                        expect(typeof (data.x)).assertEqual("number");
                        expect(typeof (data.y)).assertEqual("number");
                        expect(typeof (data.z)).assertEqual("number");
                        setTimeout(() => {
                            resolve();
                        }, 500);
                    }
                });
            })
        }

        let onPromise1 = new Promise((resolve, reject) => {
            sensor.on(6, function (error, data) {
                if (error) {
585
                    console.info('SensorMagneticFieldJSTest016  on1 error');
L
logic42 已提交
586 587 588 589 590
                    expect(false).assertTrue();
                    setTimeout((err) => {
                        reject(err);
                    }, 500);
                } else {
591 592
                    console.info('SensorMagneticFieldJSTest016  on1 success x: ' + data.x + "y: " 
                        + data.y + "z: " + data.z);
L
logic42 已提交
593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610
                    expect(typeof (data.x)).assertEqual("number");
                    expect(typeof (data.y)).assertEqual("number");
                    expect(typeof (data.z)).assertEqual("number");
                    setTimeout(() => {
                        resolve();
                    }, 500);
                }
            });
        })

        await onPromise1.then(() => {
            return oncePromise();
        }).then(() => {
            return offPromise();
        });
        done();
    })
})