@@ -1174,6 +1174,64 @@ public void ParseFile_FunctionTypesWithSubTypes()
1174
1174
}
1175
1175
}
1176
1176
1177
+ [ Test ]
1178
+ public void ParseFile_MultipleVarsAtOnce ( )
1179
+ {
1180
+ using ( var resourceFile = new TestFile ( "ASCompletion.Test_Files.parser.haxe.MultipleVarsAtOnceTest.hx" ) )
1181
+ {
1182
+ var plugin = Substitute . For < PluginMain > ( ) ;
1183
+ plugin . MenuItems . Returns ( new List < ToolStripItem > ( ) ) ;
1184
+ var context = new HaXeContext . Context ( new HaXeContext . HaXeSettings ( ) ) ;
1185
+ Context . ASContext . GlobalInit ( plugin ) ;
1186
+ Context . ASContext . Context = context ;
1187
+ var model = context . GetCodeModel ( File . ReadAllText ( resourceFile . DestinationFile ) ) ;
1188
+
1189
+ Assert . AreEqual ( 7 , model . Members . Count ) ;
1190
+
1191
+ var member = model . Members [ 1 ] ;
1192
+ Assert . AreEqual ( "var1" , member . Name ) ;
1193
+ Assert . AreEqual ( 2 , member . LineFrom ) ;
1194
+ Assert . AreEqual ( 2 , member . LineTo ) ;
1195
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1196
+ Assert . AreEqual ( "Int" , member . Type ) ;
1197
+
1198
+ member = model . Members [ 2 ] ;
1199
+ Assert . AreEqual ( "var2" , member . Name ) ;
1200
+ Assert . AreEqual ( 2 , member . LineFrom ) ;
1201
+ Assert . AreEqual ( 2 , member . LineTo ) ;
1202
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1203
+ Assert . AreEqual ( "(Dynamic->Dynamic)->(Int->Int)" , member . Type ) ;
1204
+
1205
+ member = model . Members [ 3 ] ;
1206
+ Assert . AreEqual ( "var3" , member . Name ) ;
1207
+ Assert . AreEqual ( 3 , member . LineFrom ) ;
1208
+ Assert . AreEqual ( 3 , member . LineTo ) ;
1209
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1210
+ Assert . AreEqual ( "Float" , member . Type ) ;
1211
+
1212
+ member = model . Members [ 4 ] ;
1213
+ Assert . AreEqual ( "var4" , member . Name ) ;
1214
+ Assert . AreEqual ( 3 , member . LineFrom ) ;
1215
+ Assert . AreEqual ( 3 , member . LineTo ) ;
1216
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1217
+ Assert . AreEqual ( "String" , member . Type ) ;
1218
+
1219
+ member = model . Members [ 5 ] ;
1220
+ Assert . AreEqual ( "var5" , member . Name ) ;
1221
+ Assert . AreEqual ( 4 , member . LineFrom ) ;
1222
+ Assert . AreEqual ( 4 , member . LineTo ) ;
1223
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1224
+ Assert . AreEqual ( "Bool" , member . Type ) ;
1225
+
1226
+ member = model . Members [ 6 ] ;
1227
+ Assert . AreEqual ( "var6" , member . Name ) ;
1228
+ Assert . AreEqual ( 5 , member . LineFrom ) ;
1229
+ Assert . AreEqual ( 5 , member . LineTo ) ;
1230
+ Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
1231
+ Assert . AreEqual ( "Dynamic" , member . Type ) ;
1232
+ }
1233
+ }
1234
+
1177
1235
[ Test ]
1178
1236
public void ParseFile_ComplexClass ( )
1179
1237
{
0 commit comments