@@ -15,7 +15,7 @@ describe("Basepattern class tests", function () {
15
15
jest . restoreAllMocks ( ) ;
16
16
} ) ;
17
17
18
- it ( "1 - Trigger, name and parser are statically available on the class." , async function ( ) {
18
+ it ( "1.1 - Trigger, name and parser are statically available on the class." , async function ( ) {
19
19
class Pat extends BasePattern {
20
20
static name = "example" ;
21
21
static trigger = ".example" ;
@@ -37,6 +37,57 @@ describe("Basepattern class tests", function () {
37
37
expect ( typeof pat . parser . parse ) . toBe ( "function" ) ;
38
38
} ) ;
39
39
40
+ it ( "1.2 - Options are created with grouping per default." , async function ( ) {
41
+ const Parser = ( await import ( "./parser" ) ) . default ;
42
+
43
+ const parser = new Parser ( "example" ) ;
44
+ parser . addArgument ( "a" , 1 ) ;
45
+ parser . addArgument ( "camel-b" , 2 ) ;
46
+ parser . addArgument ( "test-a" , 3 ) ;
47
+ parser . addArgument ( "test-b" , 4 ) ;
48
+
49
+ class Pat extends BasePattern {
50
+ static name = "example" ;
51
+ static trigger = ".example" ;
52
+ static parser = parser ;
53
+ }
54
+
55
+ const el = document . createElement ( "div" ) ;
56
+ const pat = new Pat ( el ) ;
57
+ await utils . timeout ( 1 ) ;
58
+
59
+ expect ( pat . options . a ) . toBe ( 1 ) ;
60
+ expect ( pat . options . camelB ) . toBe ( 2 ) ;
61
+ expect ( pat . options . test . a ) . toBe ( 3 ) ;
62
+ expect ( pat . options . test . b ) . toBe ( 4 ) ;
63
+ } ) ;
64
+
65
+ it ( "1.3 - Option grouping can be turned off." , async function ( ) {
66
+ const Parser = ( await import ( "./parser" ) ) . default ;
67
+
68
+ const parser = new Parser ( "example" ) ;
69
+ parser . addArgument ( "a" , 1 ) ;
70
+ parser . addArgument ( "camel-b" , 2 ) ;
71
+ parser . addArgument ( "test-a" , 3 ) ;
72
+ parser . addArgument ( "test-b" , 4 ) ;
73
+
74
+ class Pat extends BasePattern {
75
+ static name = "example" ;
76
+ static trigger = ".example" ;
77
+ static parser = parser ;
78
+
79
+ parser_group_options = false ;
80
+ }
81
+
82
+ const el = document . createElement ( "div" ) ;
83
+ const pat = new Pat ( el ) ;
84
+ await utils . timeout ( 1 ) ;
85
+
86
+ expect ( pat . options . a ) . toBe ( 1 ) ;
87
+ expect ( pat . options [ "camel-b" ] ) . toBe ( 2 ) ;
88
+ expect ( pat . options [ "test-a" ] ) . toBe ( 3 ) ;
89
+ expect ( pat . options [ "test-b" ] ) . toBe ( 4 ) ;
90
+ } ) ;
40
91
it ( "2 - Base pattern is class based and does inheritance, polymorphism, encapsulation, ... pt1" , async function ( ) {
41
92
class Pat1 extends BasePattern {
42
93
some = "thing" ;
0 commit comments