@@ -169,4 +169,41 @@ describe("Circom Template Inputs Visitor", () => {
169169 expect ( visitor . templateInputs . out . type ) . to . equal ( "output" ) ;
170170 expect ( visitor . templateInputs . out . dimension ) . to . deep . equal ( [ ] ) ;
171171 } ) ;
172+
173+ it ( "should analyse the BigModNonEqual.circom circuit" , ( ) => {
174+ const data = getData ( "BigModNonEqual.circom" ) ;
175+
176+ const visitor = new CircomTemplateInputsVisitor (
177+ "BigModNonEqual.circom" ,
178+ data . templates [ data . mainComponentInfo . templateName ! ] . context ,
179+ buildVariableContext (
180+ data . templates [ data . mainComponentInfo . templateName ! ] . parameters ,
181+ data . mainComponentInfo . parameters ,
182+ ) ,
183+ ) ;
184+
185+ visitor . startParse ( ) ;
186+
187+ console . log ( visitor . templateInputs ) ;
188+
189+ expect ( visitor . errors . length ) . to . equal ( 0 ) ;
190+
191+ expect ( visitor . templateInputs . base . type ) . to . equal ( "input" ) ;
192+ expect ( visitor . templateInputs . base . dimension ) . to . deep . equal ( [ 6 ] ) ;
193+
194+ expect ( visitor . templateInputs . modulus . type ) . to . equal ( "input" ) ;
195+ expect ( visitor . templateInputs . modulus . dimension ) . to . deep . equal ( [ 4 ] ) ;
196+
197+ expect ( visitor . templateInputs . dummy . type ) . to . equal ( "input" ) ;
198+ expect ( visitor . templateInputs . dummy . dimension ) . to . deep . equal ( [ ] ) ;
199+
200+ expect ( visitor . templateInputs . div . type ) . to . equal ( "output" ) ;
201+ expect ( visitor . templateInputs . div . dimension ) . to . deep . equal ( [ 3 ] ) ;
202+
203+ expect ( visitor . templateInputs . mod . type ) . to . equal ( "output" ) ;
204+ expect ( visitor . templateInputs . mod . dimension ) . to . deep . equal ( [ 4 ] ) ;
205+
206+ expect ( visitor . templateInputs . another . type ) . to . equal ( "output" ) ;
207+ expect ( visitor . templateInputs . another . dimension ) . to . deep . equal ( [ 4 ] ) ;
208+ } ) ;
172209} ) ;
0 commit comments