@@ -61,6 +61,64 @@ test.describe("Regression tests", () => {
61
61
] ) ;
62
62
} ) ;
63
63
64
+ test ( "in filter generates correct array-encoded config" , async ( {
65
+ page,
66
+ } ) => {
67
+ await page . evaluate ( async ( ) => {
68
+ const viewer = document . querySelector ( "perspective-viewer" ) ;
69
+ await viewer . restore ( {
70
+ group_by : [ "State" ] ,
71
+ columns : [ "Sales" ] ,
72
+ settings : true ,
73
+ filter : [ [ "State" , "in" , [ ] ] ] ,
74
+ } ) ;
75
+
76
+ const filter = viewer . shadowRoot . querySelector (
77
+ ".pivot-column input[type=text]"
78
+ ) ;
79
+ filter . value = "C" ;
80
+ const event = new Event ( "input" , {
81
+ bubbles : true ,
82
+ cancelable : true ,
83
+ } ) ;
84
+
85
+ filter . dispatchEvent ( event ) ;
86
+ } ) ;
87
+
88
+ const elem = await page . waitForSelector ( "perspective-dropdown" ) ;
89
+ await page . evaluate ( ( elem ) => {
90
+ let node = elem . shadowRoot . querySelector ( "span:first-of-type" ) ;
91
+ var clickEvent = document . createEvent ( "MouseEvents" ) ;
92
+ clickEvent . initEvent ( "mousedown" , true , true ) ;
93
+ node . dispatchEvent ( clickEvent ) ;
94
+ } , elem ) ;
95
+
96
+ const config = await page . evaluate ( async ( ) => {
97
+ const viewer = document . querySelector ( "perspective-viewer" ) ;
98
+ return await viewer . save ( ) ;
99
+ } ) ;
100
+
101
+ expect ( config ) . toEqual ( {
102
+ aggregates : { } ,
103
+ columns : [ "Sales" ] ,
104
+ expressions : [ ] ,
105
+ filter : [ [ "State" , "in" , [ "California" ] ] ] ,
106
+ group_by : [ "State" ] ,
107
+ plugin : "Debug" ,
108
+ plugin_config : { } ,
109
+ settings : true ,
110
+ sort : [ ] ,
111
+ split_by : [ ] ,
112
+ theme : "Pro Light" ,
113
+ title : null ,
114
+ } ) ;
115
+
116
+ const contents = await get_contents ( page ) ;
117
+ await compareContentsToSnapshot ( contents , [
118
+ "regressions-in-filter-generates-correct-config.txt" ,
119
+ ] ) ;
120
+ } ) ;
121
+
64
122
test ( "Numeric filter input does not trigger render on trailing zeroes" , async ( {
65
123
page,
66
124
} ) => {
0 commit comments