1/*
2 * Copyright (C) 2024 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 vibrator from '@ohos.vibrator'
17import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
18
19describe("VibratorJsTest", function () {
20    beforeAll(function() {
21        /*
22         * @tc.setup: setup invoked before all testcases
23         */
24        console.info('beforeAll called')
25    })
26
27    afterAll(function() {
28        /*
29         * @tc.teardown: teardown invoked after all testcases
30         */
31        console.info('afterAll called')
32    })
33
34    beforeEach(function() {
35        /*
36         * @tc.setup: setup invoked before each testcases
37         */
38        console.info('beforeEach called')
39    })
40
41    afterEach(function() {
42        /*
43         * @tc.teardown: teardown invoked after each testcases
44         */
45        console.info('afterEach called')
46    })
47
48    const OPERATION_FAIL_CODE = 14600101;
49    const PERMISSION_ERROR_CODE = 201;
50    const PARAMETER_ERROR_CODE = 401;
51
52    const OPERATION_FAIL_MSG = 'Device operation failed.'
53    const PERMISSION_ERROR_MSG = 'Permission denied.'
54    const PARAMETER_ERROR_MSG = 'The parameter invalid.'
55
56    /*
57     * @tc.name:VibratorPatternJsTest001
58     * @tc.desc:verify app info is not null
59     * @tc.type: FUNC
60     * @tc.require: Issue Number
61     * @tc.number: VibratorPatternJsTest001
62     */
63    it("VibratorPatternJsTest001", 0, function (done) {
64        try {
65            let builder = new vibrator.VibratorPatternBuilder();
66            builder.addContinuousEvent(
67                0,
68                400,
69                {
70                    intensity: 40,
71                    frequency: 70,
72                    points: [
73                        {
74                            time: 100,
75                            intensity: 0.11,
76                            frequency: 40
77                        },
78                        {
79                            time: 150,
80                            intensity: 0.22,
81                            frequency: 60
82                        },
83                        {
84                            time: 201,
85                            intensity: 0.33,
86                            frequency: 80
87                        },
88                        {
89                            time: 256,
90                            intensity: 0.44,
91                            frequency: 70
92                        },
93                        {
94                            time: 322,
95                            intensity: 0.55,
96                            frequency: 80
97                        }
98                    ],
99                    index: 0
100                }
101            );
102            console.log(builder);
103            expect(builder != null).assertEqual(true);
104            done();
105        } catch (error) {
106            console.info("addContinuousEvent error: " + JSON.stringify(error));
107            expect(false).assertTrue();
108        }
109    })
110
111    /*
112     * @tc.name:VibratorPatternJsTest002
113     * @tc.desc:verify app info is not null
114     * @tc.type: FUNC
115     * @tc.require: Issue Number
116     * @tc.number: VibratorPatternJsTest002
117     */
118    it("VibratorPatternJsTest002", 0, function (done) {
119        try {
120            let builder = new vibrator.VibratorPatternBuilder();
121            builder.addContinuousEvent(
122                0,
123                400,
124                {
125                    frequency: 70,
126                    points: [
127                        {
128                            time: 100,
129                            intensity: 0.11,
130                            frequency: 40
131                        },
132                        {
133                            time: 150,
134                            intensity: 0.22,
135                            frequency: 60
136                        },
137                        {
138                            time: 201,
139                            intensity: 0.33,
140                            frequency: 80
141                        },
142                        {
143                            time: 256,
144                            intensity: 0.44,
145                            frequency: 70
146                        },
147                        {
148                            time: 322,
149                            intensity: 0.55,
150                            frequency: 80
151                        }
152                    ],
153                    index: 0
154                }
155            );
156            console.log(builder);
157            expect(builder != null).assertEqual(true);
158            done();
159        } catch (error) {
160            console.info("addContinuousEvent error: " + JSON.stringify(error));
161            expect(false).assertTrue();
162        }
163    })
164
165    /*
166     * @tc.name:VibratorPatternJsTest003
167     * @tc.desc:verify app info is not null
168     * @tc.type: FUNC
169     * @tc.require: Issue Number
170     * @tc.number: VibratorPatternJsTest003
171     */
172    it("VibratorPatternJsTest003", 0, async function (done) {
173        try {
174            let builder = new vibrator.VibratorPatternBuilder();
175            builder.addContinuousEvent(
176                0,
177                400,
178                {
179                    intensity: 40,
180                    points: [
181                        {
182                            time: 100,
183                            intensity: 0.11,
184                            frequency: 40
185                        },
186                        {
187                            time: 150,
188                            intensity: 0.22,
189                            frequency: 60
190                        },
191                        {
192                            time: 201,
193                            intensity: 0.33,
194                            frequency: 80
195                        },
196                        {
197                            time: 256,
198                            intensity: 0.44,
199                            frequency: 70
200                        },
201                        {
202                            time: 322,
203                            intensity: 0.55,
204                            frequency: 80
205                        }
206                    ],
207                    index: 0
208                }
209            )
210            console.log(builder);
211            expect(builder != null).assertEqual(true);
212            done();
213        } catch (error) {
214            console.info("addContinuousEvent error: " + JSON.stringify(error));
215            expect(false).assertTrue();
216        }
217    })
218
219    /*
220     * @tc.name:VibratorPatternJsTest004
221     * @tc.desc:verify app info is not null
222     * @tc.type: FUNC
223     * @tc.require: Issue Number
224     * @tc.number: VibratorPatternJsTest004
225     */
226    it("VibratorPatternJsTest004", 0, async function (done) {
227        try {
228            let builder = new vibrator.VibratorPatternBuilder();
229            builder.addContinuousEvent(
230                0,
231                400,
232                {
233                    points: [
234                        {
235                            time: 100,
236                            intensity: 0.11,
237                            frequency: 40
238                        },
239                        {
240                            time: 150,
241                            intensity: 0.22,
242                            frequency: 60
243                        },
244                        {
245                            time: 201,
246                            intensity: 0.33,
247                            frequency: 80
248                        },
249                        {
250                            time: 256,
251                            intensity: 0.44,
252                            frequency: 70
253                        },
254                        {
255                            time: 322,
256                            intensity: 0.55,
257                            frequency: 80
258                        }
259                    ],
260                    index: 0
261                }
262            );
263            console.log(builder);
264            expect(builder != null).assertEqual(true);
265            done();
266        } catch (error) {
267            console.info("addContinuousEvent error: " + JSON.stringify(error));
268            expect(false).assertTrue();
269        }
270    })
271
272    /*
273     * @tc.name:VibratorPatternJsTest005
274     * @tc.desc:verify app info is not null
275     * @tc.type: FUNC
276     * @tc.require: Issue Number
277     * @tc.number: VibratorPatternJsTest005
278     */
279    it("VibratorPatternJsTest005", 0, async function (done) {
280        try {
281            let builder = new vibrator.VibratorPatternBuilder();
282            builder.addContinuousEvent(
283                0,
284                400,
285                {
286                    intensity: 40,
287                    frequency: 70,
288                    index: 0
289                }
290            )
291            console.log(builder);
292            expect(builder != null).assertEqual(true);
293            done();
294        } catch (error) {
295            console.info("addContinuousEvent error: " + JSON.stringify(error));
296            expect(false).assertTrue();
297        }
298    })
299
300    /*
301     * @tc.name:VibratorPatternJsTest006
302     * @tc.desc:verify app info is not null
303     * @tc.type: FUNC
304     * @tc.require: Issue Number
305     * @tc.number: VibratorPatternJsTest006
306     */
307    it("VibratorPatternJsTest006", 0, async function (done) {
308        try {
309            let builder = new vibrator.VibratorPatternBuilder();
310            builder.addContinuousEvent(
311                0,
312                400
313            )
314            console.log(builder);
315            expect(builder != null).assertEqual(true);
316            done();
317        } catch (error) {
318            console.info("addContinuousEvent error: " + JSON.stringify(error));
319            expect(false).assertTrue();
320        }
321    })
322
323    /*
324     * @tc.name:VibratorPatternJsTest007
325     * @tc.desc:verify app info is not null
326     * @tc.type: FUNC
327     * @tc.require: Issue Number
328     * @tc.number: VibratorPatternJsTest007
329     */
330    it("VibratorPatternJsTest007", 0, function (done) {
331        try {
332            let builder = new vibrator.VibratorPatternBuilder();
333            builder.addContinuousEvent(
334                0,
335                400,
336                {
337                    intensity: 40,
338                    frequency: 70,
339                    points: [
340                        {
341                            time: 100,
342                            intensity: 0.11,
343                            frequency: 40
344                        },
345                        {
346                            time: 150,
347                            intensity: 0.22,
348                            frequency: 60
349                        },
350                        {
351                            time: 201,
352                            intensity: 0.33,
353                            frequency: 80
354                        },
355                        {
356                            time: 256,
357                            intensity: 0.44,
358                            frequency: 70
359                        },
360                        {
361                            time: 322,
362                            intensity: 0.55,
363                            frequency: 80
364                        }
365                    ]
366                }
367            );
368            console.log(builder);
369            expect(builder != null).assertEqual(true);
370            done();
371        } catch (error) {
372            console.info("addContinuousEvent error: " + JSON.stringify(error));
373            expect(false).assertTrue();
374        }
375    })
376
377    /*
378     * @tc.name:VibratorPatternJsTest008
379     * @tc.desc:verify app info is not null
380     * @tc.type: FUNC
381     * @tc.require: Issue Number
382     * @tc.number: VibratorPatternJsTest008
383     */
384    it("VibratorPatternJsTest008", 0, function (done) {
385        try {
386            let builder = new vibrator.VibratorPatternBuilder();
387            builder.addContinuousEvent(
388                0,
389                400,
390                {
391                    intensity: 40,
392                    frequency: 70,
393                    points: [
394                        {
395                            time: 100,
396                            intensity: 0.11,
397                            frequency: 40
398                        },
399                        {
400                            time: 150,
401                            intensity: 0.22,
402                            frequency: 60
403                        },
404                        {
405                            time: 201,
406                            intensity: 0.33,
407                            frequency: 80
408                        },
409                        {
410                            time: 256,
411                            intensity: 0.44,
412                            frequency: 70
413                        },
414                        {
415                            time: 322,
416                            intensity: 0.55,
417                            frequency: 80
418                        }
419                    ],
420                    index: -1
421                }
422            );
423            expect(false).assertTrue();
424        } catch (error) {
425            console.info(error);
426            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
427            done();
428        }
429    })
430
431    /*
432     * @tc.name:VibratorPatternJsTest009
433     * @tc.desc:verify app info is not null
434     * @tc.type: FUNC
435     * @tc.require: Issue Number
436     * @tc.number: VibratorPatternJsTest009
437     */
438    it("VibratorPatternJsTest009", 0, function (done) {
439        try {
440            let builder = new vibrator.VibratorPatternBuilder();
441            builder.addContinuousEvent(
442                0,
443                400,
444                {
445                    intensity: 40,
446                    frequency: 70,
447                    points: [
448                        {
449                            time: 100,
450                            intensity: 0.11,
451                            frequency: 40
452                        },
453                        {
454                            time: 150,
455                            intensity: 0.22,
456                            frequency: 60
457                        },
458                        {
459                            time: 201,
460                            intensity: 0.33,
461                            frequency: 80
462                        },
463                        {
464                            time: 256,
465                            intensity: 0.44,
466                            frequency: 70
467                        },
468                        {
469                            time: 322,
470                            intensity: 0.55,
471                            frequency: 80
472                        }
473                    ],
474                    index: "123"
475                }
476            );
477            expect(false).assertTrue();
478        } catch (error) {
479            console.info(error);
480            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
481            done();
482        }
483    })
484
485    /*
486     * @tc.name:VibratorPatternJsTest010
487     * @tc.desc:verify app info is not null
488     * @tc.type: FUNC
489     * @tc.require: Issue Number
490     * @tc.number: VibratorPatternJsTest010
491     */
492    it("VibratorPatternJsTest010", 0, async function (done) {
493        try {
494            let builder = new vibrator.VibratorPatternBuilder();
495            builder.addContinuousEvent(
496                -1,
497                400,
498                {
499                    intensity: 40,
500                    frequency: 70,
501                    points: [
502                        {
503                            time: 100,
504                            intensity: 0.11,
505                            frequency: 40
506                        },
507                        {
508                            time: 150,
509                            intensity: 0.22,
510                            frequency: 60
511                        },
512                        {
513                            time: 201,
514                            intensity: 0.33,
515                            frequency: 80
516                        },
517                        {
518                            time: 256,
519                            intensity: 0.44,
520                            frequency: 70
521                        },
522                        {
523                            time: 322,
524                            intensity: 0.55,
525                            frequency: 80
526                        }
527                    ],
528                    index: 0
529                }
530            )
531            expect(false).assertTrue();
532        } catch (error) {
533            console.info(error);
534            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
535            done();
536        }
537    })
538
539    /*
540     * @tc.name:VibratorPatternJsTest011
541     * @tc.desc:verify app info is not null
542     * @tc.type: FUNC
543     * @tc.require: Issue Number
544     * @tc.number: VibratorPatternJsTest011
545     */
546    it("VibratorPatternJsTest011", 0, async function (done) {
547        try {
548            let builder = new vibrator.VibratorPatternBuilder();
549            builder.addContinuousEvent(
550                "123",
551                400,
552                {
553                    intensity: 40,
554                    frequency: 70,
555                    points: [
556                        {
557                            time: 100,
558                            intensity: 0.11,
559                            frequency: 40
560                        },
561                        {
562                            time: 150,
563                            intensity: 0.22,
564                            frequency: 60
565                        },
566                        {
567                            time: 201,
568                            intensity: 0.33,
569                            frequency: 80
570                        },
571                        {
572                            time: 256,
573                            intensity: 0.44,
574                            frequency: 70
575                        },
576                        {
577                            time: 322,
578                            intensity: 0.55,
579                            frequency: 80
580                        }
581                    ],
582                    index: 0
583                }
584            )
585            expect(false).assertTrue();
586        } catch (error) {
587            console.info(error);
588            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
589            done();
590        }
591    })
592
593    /*
594     * @tc.name:VibratorPatternJsTest012
595     * @tc.desc:verify app info is not null
596     * @tc.type: FUNC
597     * @tc.require: Issue Number
598     * @tc.number: VibratorPatternJsTest012
599     */
600    it("VibratorPatternJsTest012", 0, async function (done) {
601        try {
602            let builder = new vibrator.VibratorPatternBuilder();
603            builder.addContinuousEvent(
604                0,
605                400,
606                {
607                    intensity: -1,
608                    frequency: 70,
609                    points: [
610                        {
611                            time: 100,
612                            intensity: 0.11,
613                            frequency: 40
614                        },
615                        {
616                            time: 150,
617                            intensity: 0.22,
618                            frequency: 60
619                        },
620                        {
621                            time: 201,
622                            intensity: 0.33,
623                            frequency: 80
624                        },
625                        {
626                            time: 256,
627                            intensity: 0.44,
628                            frequency: 70
629                        },
630                        {
631                            time: 322,
632                            intensity: 0.55,
633                            frequency: 80
634                        }
635                    ],
636                    index: 0
637                }
638            )
639            expect(false).assertTrue();
640        } catch (error) {
641            console.info(error);
642            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
643            done();
644        }
645    })
646
647    /*
648     * @tc.name:VibratorPatternJsTest013
649     * @tc.desc:verify app info is not null
650     * @tc.type: FUNC
651     * @tc.require: Issue Number
652     * @tc.number: VibratorPatternJsTest013
653     */
654    it("VibratorPatternJsTest013", 0, async function (done) {
655        try {
656            let builder = new vibrator.VibratorPatternBuilder();
657            builder.addContinuousEvent(
658                0,
659                400,
660                {
661                    intensity: "123",
662                    frequency: 70,
663                    points: [
664                        {
665                            time: 100,
666                            intensity: 0.11,
667                            frequency: 40
668                        },
669                        {
670                            time: 150,
671                            intensity: 0.22,
672                            frequency: 60
673                        },
674                        {
675                            time: 201,
676                            intensity: 0.33,
677                            frequency: 80
678                        },
679                        {
680                            time: 256,
681                            intensity: 0.44,
682                            frequency: 70
683                        },
684                        {
685                            time: 322,
686                            intensity: 0.55,
687                            frequency: 80
688                        }
689                    ],
690                    index: 0
691                }
692            )
693            expect(false).assertTrue();
694        } catch (error) {
695            console.info(error);
696            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
697            done();
698        }
699    })
700
701    /*
702     * @tc.name:VibratorPatternJsTest014
703     * @tc.desc:verify app info is not null
704     * @tc.type: FUNC
705     * @tc.require: Issue Number
706     * @tc.number: VibratorPatternJsTest014
707     */
708    it("VibratorPatternJsTest014", 0, async function (done) {
709        try {
710            let builder = new vibrator.VibratorPatternBuilder();
711            builder.addContinuousEvent(
712                0,
713                400,
714                {
715                    intensity: 40,
716                    frequency: -1,
717                    points: [
718                        {
719                            time: 100,
720                            intensity: 0.11,
721                            frequency: 40
722                        },
723                        {
724                            time: 150,
725                            intensity: 0.22,
726                            frequency: 60
727                        },
728                        {
729                            time: 201,
730                            intensity: 0.33,
731                            frequency: 80
732                        },
733                        {
734                            time: 256,
735                            intensity: 0.44,
736                            frequency: 70
737                        },
738                        {
739                            time: 322,
740                            intensity: 0.55,
741                            frequency: 80
742                        }
743                    ],
744                    index: 0
745                }
746            )
747            expect(false).assertTrue();
748        } catch (error) {
749            console.info(error);
750            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
751            done();
752        }
753    })
754
755    /*
756     * @tc.name:VibratorPatternJsTest015
757     * @tc.desc:verify app info is not null
758     * @tc.type: FUNC
759     * @tc.require: Issue Number
760     * @tc.number: VibratorPatternJsTest015
761     */
762    it("VibratorPatternJsTest015", 0, async function (done) {
763        try {
764            let builder = new vibrator.VibratorPatternBuilder();
765            builder.addContinuousEvent(
766                0,
767                400,
768                {
769                    intensity: 40,
770                    frequency: "123",
771                    points: [
772                        {
773                            time: 100,
774                            intensity: 0.11,
775                            frequency: 40
776                        },
777                        {
778                            time: 150,
779                            intensity: 0.22,
780                            frequency: 60
781                        },
782                        {
783                            time: 201,
784                            intensity: 0.33,
785                            frequency: 80
786                        },
787                        {
788                            time: 256,
789                            intensity: 0.44,
790                            frequency: 70
791                        },
792                        {
793                            time: 322,
794                            intensity: 0.55,
795                            frequency: 80
796                        }
797                    ],
798                    index: 0
799                }
800            )
801            expect(false).assertTrue();
802        } catch (error) {
803            console.info(error);
804            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
805            done();
806        }
807    })
808
809    /*
810     * @tc.name:VibratorPatternJsTest016
811     * @tc.desc:verify app info is not null
812     * @tc.type: FUNC
813     * @tc.require: Issue Number
814     * @tc.number: VibratorPatternJsTest016
815     */
816    it("VibratorPatternJsTest016", 0, async function (done) {
817        try {
818            let builder = new vibrator.VibratorPatternBuilder();
819            builder.addContinuousEvent(
820                0,
821                400,
822                {
823                    intensity: 40,
824                    frequency: 70,
825                    points: [
826                        {
827                            time: 100,
828                            intensity: 0.11,
829                            frequency: 70
830                        },
831                        {
832                            time: 201,
833                            intensity: 0.33,
834                            frequency: 60
835                        },
836                        {
837                            time: 322,
838                            intensity: 0.55,
839                            frequency: 80
840                        }
841                    ],
842                    index: 0
843                }
844            )
845            expect(false).assertTrue();
846        } catch (error) {
847            console.info(error);
848            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
849            done();
850        }
851    })
852
853    /*
854     * @tc.name:VibratorPatternJsTest017
855     * @tc.desc:verify app info is not null
856     * @tc.type: FUNC
857     * @tc.require: Issue Number
858     * @tc.number: VibratorPatternJsTest017
859     */
860    it("VibratorPatternJsTest017", 0, async function (done) {
861        try {
862            let builder = new vibrator.VibratorPatternBuilder();
863            builder.addContinuousEvent(
864                0,
865                -1,
866                {
867                    intensity: 40,
868                    frequency: 70,
869                    points: [
870                        {
871                            time: 100,
872                            intensity: 0.11,
873                            frequency: 40
874                        },
875                        {
876                            time: 150,
877                            intensity: 0.22,
878                            frequency: 60
879                        },
880                        {
881                            time: 201,
882                            intensity: 0.33,
883                            frequency: 80
884                        },
885                        {
886                            time: 256,
887                            intensity: 0.44,
888                            frequency: 70
889                        },
890                        {
891                            time: 322,
892                            intensity: 0.55,
893                            frequency: 80
894                        }
895                    ],
896                    index: 0
897                }
898            )
899            expect(false).assertTrue();
900        } catch (error) {
901            console.info(error);
902            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
903            done();
904        }
905    })
906
907    /*
908     * @tc.name:VibratorPatternJsTest018
909     * @tc.desc:verify app info is not null
910     * @tc.type: FUNC
911     * @tc.require: Issue Number
912     * @tc.number: VibratorPatternJsTest018
913     */
914    it("VibratorPatternJsTest018", 0, async function (done) {
915        try {
916            let builder = new vibrator.VibratorPatternBuilder();
917            builder.addContinuousEvent(
918                0,
919                "123",
920                {
921                    intensity: 40,
922                    frequency: 70,
923                    points: [
924                        {
925                            time: 100,
926                            intensity: 0.11,
927                            frequency: 40
928                        },
929                        {
930                            time: 150,
931                            intensity: 0.22,
932                            frequency: 60
933                        },
934                        {
935                            time: 201,
936                            intensity: 0.33,
937                            frequency: 80
938                        },
939                        {
940                            time: 256,
941                            intensity: 0.44,
942                            frequency: 70
943                        },
944                        {
945                            time: 322,
946                            intensity: 0.55,
947                            frequency: 80
948                        }
949                    ],
950                    index: 0
951                }
952            )
953            expect(false).assertTrue();
954        } catch (error) {
955            console.info(error);
956            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
957            done();
958        }
959    })
960
961    /*
962     * @tc.name:VibratorPatternJsTest019
963     * @tc.desc:verify app info is not null
964     * @tc.type: FUNC
965     * @tc.require: Issue Number
966     * @tc.number: VibratorPatternJsTest019
967     */
968    it("VibratorPatternJsTest019", 0, async function (done) {
969        try {
970            let builder = new vibrator.VibratorPatternBuilder();
971            builder.addContinuousEvent(
972                0,
973                400,
974                "123"
975            )
976            expect(false).assertTrue();
977        } catch (error) {
978            console.info(error);
979            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
980            done();
981        }
982    })
983
984    /*
985     * @tc.name:VibratorPatternJsTest020
986     * @tc.desc:verify app info is not null
987     * @tc.type: FUNC
988     * @tc.require: Issue Number
989     * @tc.number: VibratorPatternJsTest020
990     */
991    it("VibratorPatternJsTest020", 0, function (done) {
992        try {
993            let builder = new vibrator.VibratorPatternBuilder();
994            builder.addTransientEvent(
995                0,
996                {
997                    intensity: 80,
998                    frequency: 70,
999                    index: 0
1000                }
1001            );
1002            expect(builder != null).assertEqual(true);
1003            done();
1004        } catch (error) {
1005            console.info("addTransientEvent error: " + JSON.stringify(error));
1006            expect(false).assertTrue();
1007        }
1008    })
1009
1010    /*
1011     * @tc.name:VibratorPatternJsTest021
1012     * @tc.desc:verify app info is not null
1013     * @tc.type: FUNC
1014     * @tc.require: Issue Number
1015     * @tc.number: VibratorPatternJsTest021
1016     */
1017    it("VibratorPatternJsTest021", 0, function (done) {
1018        try {
1019            let builder = new vibrator.VibratorPatternBuilder();
1020            builder.addTransientEvent(
1021                0,
1022                {
1023                    frequency: 70,
1024                    index: 0
1025                }
1026            );
1027            console.log(builder);
1028            expect(builder != null).assertEqual(true);
1029            done();
1030        } catch (error) {
1031            console.info("addTransientEvent error: " + JSON.stringify(error));
1032            expect(false).assertTrue();
1033        }
1034    })
1035
1036    /*
1037     * @tc.name:VibratorPatternJsTest022
1038     * @tc.desc:verify app info is not null
1039     * @tc.type: FUNC
1040     * @tc.require: Issue Number
1041     * @tc.number: VibratorPatternJsTest022
1042     */
1043    it("VibratorPatternJsTest022", 0, function (done) {
1044        try {
1045            let builder = new vibrator.VibratorPatternBuilder();
1046            builder.addTransientEvent(
1047                0,
1048                {
1049                    intensity: 80,
1050                    index: 0
1051                }
1052            );
1053            expect(builder != null).assertEqual(true);
1054            done();
1055        } catch (error) {
1056            console.info("addTransientEvent error: " + JSON.stringify(error));
1057            expect(false).assertTrue();
1058        }
1059    })
1060
1061        /*
1062     * @tc.name:VibratorPatternJsTest023
1063     * @tc.desc:verify app info is not null
1064     * @tc.type: FUNC
1065     * @tc.require: Issue Number
1066     * @tc.number: VibratorPatternJsTest023
1067     */
1068    it("VibratorPatternJsTest023", 0, function (done) {
1069        try {
1070            let builder = new vibrator.VibratorPatternBuilder();
1071            builder.addTransientEvent(60);
1072            expect(builder != null).assertEqual(true);
1073            done();
1074        } catch (error) {
1075            console.info("addTransientEvent error: " + JSON.stringify(error));
1076            expect(false).assertTrue();
1077        }
1078    })
1079
1080        /*
1081     * @tc.name:VibratorPatternJsTest024
1082     * @tc.desc:verify app info is not null
1083     * @tc.type: FUNC
1084     * @tc.require: Issue Number
1085     * @tc.number: VibratorPatternJsTest024
1086     */
1087    it("VibratorPatternJsTest024", 0, function (done) {
1088        try {
1089            let builder = new vibrator.VibratorPatternBuilder();
1090            builder.addTransientEvent(
1091                0,
1092                {
1093                    intensity: 80,
1094                    frequency: 70
1095                }
1096            );
1097            expect(builder != null).assertEqual(true);
1098            done();
1099        } catch (error) {
1100            console.info("addTransientEvent error: " + JSON.stringify(error));
1101            expect(false).assertTrue();
1102        }
1103    })
1104
1105        /*
1106     * @tc.name:VibratorPatternJsTest025
1107     * @tc.desc:verify app info is not null
1108     * @tc.type: FUNC
1109     * @tc.require: Issue Number
1110     * @tc.number: VibratorPatternJsTest025
1111     */
1112    it("VibratorPatternJsTest025", 0, function (done) {
1113        try {
1114            let builder = new vibrator.VibratorPatternBuilder();
1115            builder.addTransientEvent(
1116                0,
1117                "123"
1118            );
1119            expect(false).assertTrue();
1120        } catch (error) {
1121            console.info(error);
1122            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1123            done();
1124        }
1125    })
1126
1127        /*
1128     * @tc.name:VibratorPatternJsTest026
1129     * @tc.desc:verify app info is not null
1130     * @tc.type: FUNC
1131     * @tc.require: Issue Number
1132     * @tc.number: VibratorPatternJsTest026
1133     */
1134    it("VibratorPatternJsTest026", 0, function (done) {
1135        try {
1136            let builder = new vibrator.VibratorPatternBuilder();
1137            builder.addTransientEvent(
1138                0,
1139                {
1140                    intensity: 60,
1141                    frequency: 70,
1142                    index: -1
1143                }
1144            );
1145            expect(false).assertTrue();
1146        } catch (error) {
1147            console.info(error);
1148            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1149            done();
1150        }
1151    })
1152
1153    /*
1154     * @tc.name:VibratorPatternJsTest027
1155     * @tc.desc:verify app info is not null
1156     * @tc.type: FUNC
1157     * @tc.require: Issue Number
1158     * @tc.number: VibratorPatternJsTest027
1159     */
1160    it("VibratorPatternJsTest027", 0, function (done) {
1161        try {
1162            let builder = new vibrator.VibratorPatternBuilder();
1163            builder.addTransientEvent(
1164                0,
1165                {
1166                    intensity: -1,
1167                    frequency: 70,
1168                    index: 0
1169                }
1170            );
1171            expect(false).assertTrue();
1172        } catch (error) {
1173            console.info(error);
1174            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1175            done();
1176        }
1177    })
1178
1179    /*
1180     * @tc.name:VibratorPatternJsTest028
1181     * @tc.desc:verify app info is not null
1182     * @tc.type: FUNC
1183     * @tc.require: Issue Number
1184     * @tc.number: VibratorPatternJsTest028
1185     */
1186    it("VibratorPatternJsTest028", 0, function (done) {
1187        try {
1188            let builder = new vibrator.VibratorPatternBuilder();
1189            builder.addTransientEvent(
1190                0,
1191                {
1192                    intensity: "123",
1193                    frequency: 70,
1194                    index: 0
1195                }
1196            );
1197            expect(false).assertTrue();
1198        } catch (error) {
1199            console.info(error);
1200            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1201            done();
1202        }
1203    })
1204
1205    /*
1206     * @tc.name:VibratorPatternJsTest029
1207     * @tc.desc:verify app info is not null
1208     * @tc.type: FUNC
1209     * @tc.require: Issue Number
1210     * @tc.number: VibratorPatternJsTest029
1211     */
1212    it("VibratorPatternJsTest029", 0, function (done) {
1213        try {
1214            let builder = new vibrator.VibratorPatternBuilder();
1215            builder.addTransientEvent(
1216                365,
1217                {
1218                    intensity: 80,
1219                    frequency: -1,
1220                    index: 0
1221                }
1222            );
1223            expect(false).assertTrue();
1224        } catch (error) {
1225            console.info(error);
1226            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1227            done();
1228        }
1229    })
1230
1231    /*
1232     * @tc.name:VibratorPatternJsTest030
1233     * @tc.desc:verify app info is not null
1234     * @tc.type: FUNC
1235     * @tc.require: Issue Number
1236     * @tc.number: VibratorPatternJsTest030
1237     */
1238    it("VibratorPatternJsTest030", 0, function (done) {
1239        try {
1240            let builder = new vibrator.VibratorPatternBuilder();
1241            builder.addTransientEvent(2100, "123", 60);
1242            builder.addTransientEvent(
1243                2100,
1244                {
1245                    intensity: 80,
1246                    frequency: "123",
1247                    index: 0
1248                }
1249            );
1250            expect(false).assertTrue();
1251        } catch (error) {
1252            console.info(error);
1253            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1254            done();
1255        }
1256    })
1257
1258    /*
1259     * @tc.name:VibratorPatternJsTest031
1260     * @tc.desc:verify app info is not null
1261     * @tc.type: FUNC
1262     * @tc.require: Issue Number
1263     * @tc.number: VibratorPatternJsTest031
1264     */
1265    it("VibratorPatternJsTest031", 0, function (done) {
1266        try {
1267            let builder = new vibrator.VibratorPatternBuilder();
1268            builder.addTransientEvent(
1269                -1,
1270                {
1271                    intensity: 40,
1272                    frequency: 60,
1273                    index: 0
1274                }
1275            );
1276            expect(false).assertTrue();
1277        } catch (error) {
1278            console.info(error);
1279            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1280            done();
1281        }
1282    })
1283
1284    /*
1285     * @tc.name:VibratorPatternJsTest032
1286     * @tc.desc:verify app info is not null
1287     * @tc.type: FUNC
1288     * @tc.require: Issue Number
1289     * @tc.number: VibratorPatternJsTest032
1290     */
1291    it("VibratorPatternJsTest032", 0, function (done) {
1292        try {
1293            let builder = new vibrator.VibratorPatternBuilder();
1294            builder.addTransientEvent(
1295                "123",
1296                {
1297                    intensity: 80,
1298                    frequency: 70,
1299                    index: 0
1300                }
1301            );
1302            expect(false).assertTrue();
1303        } catch (error) {
1304            console.info(error);
1305            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1306            done();
1307        }
1308    })
1309
1310    /*
1311     * @tc.name:VibratorPatternJsTest033
1312     * @tc.desc:verify app info is not null
1313     * @tc.type: FUNC
1314     * @tc.require: Issue Number
1315     * @tc.number: VibratorPatternJsTest033
1316     */
1317    it("VibratorPatternJsTest033", 0, function (done) {
1318        try {
1319            let builder = new vibrator.VibratorPatternBuilder();
1320            let pattern = builder.addContinuousEvent(
1321                0,
1322                400,
1323                {
1324                    intensity: 40,
1325                    frequency: 70,
1326                    points: [
1327                        {
1328                            time: 100,
1329                            intensity: 0.11,
1330                            frequency: 40
1331                        },
1332                        {
1333                            time: 150,
1334                            intensity: 0.22,
1335                            frequency: 60
1336                        },
1337                        {
1338                            time: 201,
1339                            intensity: 0.33,
1340                            frequency: 80
1341                        },
1342                        {
1343                            time: 256,
1344                            intensity: 0.44,
1345                            frequency: 70
1346                        },
1347                        {
1348                            time: 322,
1349                            intensity: 0.55,
1350                            frequency: 80
1351                        }
1352                    ],
1353                    index: 0
1354                }
1355            )
1356            .addTransientEvent(
1357                2100,
1358                {
1359                    intensity: 40,
1360                    frequency: 90,
1361                    index: 0
1362                }
1363            )
1364            .build();
1365            console.log(JSON.stringify(pattern));
1366            expect(pattern != null).assertEqual(true);
1367            done();
1368        } catch (error) {
1369            console.info("build error: " + JSON.stringify(error));
1370            expect(false).assertTrue();
1371        }
1372    })
1373
1374    /*
1375     * @tc.name:VibratorPatternJsTest034
1376     * @tc.desc:verify app info is not null
1377     * @tc.type: FUNC
1378     * @tc.require: Issue Number
1379     * @tc.number: VibratorPatternJsTest034
1380     */
1381    it("VibratorPatternJsTest034", 0, function (done) {
1382        try {
1383            let builder = new vibrator.VibratorPatternBuilder();
1384            builder.build();
1385            expect(false).assertTrue();
1386        } catch (error) {
1387            console.info(error);
1388            expect(error.code).assertEqual(PARAMETER_ERROR_CODE);
1389            done();
1390        }
1391    })
1392})