@@ -95,6 +95,39 @@ public void ParseFile_CompletionError()
95
95
Assert . AreEqual ( FlagType . Variable , infoMember . Flags & FlagType . Variable ) ;
96
96
}
97
97
}
98
+
99
+ [ Test ]
100
+ public void ParseFile_IdentifiersWithUnicodeChars ( )
101
+ {
102
+ using ( var resourceFile = new TestFile ( "ASCompletion.Test_Files.parser.as3.IdentifiersWithUnicodeCharsTest.as" ) )
103
+ {
104
+ var srcModel = new FileModel ( resourceFile . DestinationFile ) ;
105
+ srcModel . Context = new AS3Context . Context ( new AS3Context . AS3Settings ( ) ) ;
106
+ var model = ASFileParser . ParseFile ( srcModel ) ;
107
+ var classModel = model . Classes [ 0 ] ;
108
+ Assert . AreEqual ( "Test" , classModel . Name ) ;
109
+ Assert . AreEqual ( FlagType . Class , classModel . Flags & FlagType . Class ) ;
110
+ Assert . AreEqual ( 2 , classModel . LineFrom ) ;
111
+ Assert . AreEqual ( 9 , classModel . LineTo ) ;
112
+ Assert . AreEqual ( 2 , classModel . Members . Count ) ;
113
+
114
+ var memberModel = classModel . Members [ 0 ] ;
115
+ Assert . AreEqual ( "thísIsVälid" , memberModel . Name ) ;
116
+ Assert . AreEqual ( "String" , memberModel . Type ) ;
117
+ Assert . AreEqual ( FlagType . Function , memberModel . Flags & FlagType . Function ) ;
118
+ Assert . AreEqual ( Visibility . Public , memberModel . Access & Visibility . Public ) ;
119
+ Assert . AreEqual ( 4 , memberModel . LineFrom ) ;
120
+ Assert . AreEqual ( 6 , memberModel . LineTo ) ;
121
+
122
+ memberModel = classModel . Members [ 1 ] ;
123
+ Assert . AreEqual ( "日本語文字ヴァリアブル" , memberModel . Name ) ;
124
+ Assert . AreEqual ( "Dynamic" , memberModel . Type ) ;
125
+ Assert . AreEqual ( FlagType . Variable , memberModel . Flags & FlagType . Variable ) ;
126
+ Assert . AreEqual ( Visibility . Public , memberModel . Access & Visibility . Public ) ;
127
+ Assert . AreEqual ( 8 , memberModel . LineFrom ) ;
128
+ Assert . AreEqual ( 8 , memberModel . LineTo ) ;
129
+ }
130
+ }
98
131
}
99
132
100
133
[ TestFixture ]
@@ -188,30 +221,42 @@ public void ParseFile_Interface()
188
221
Assert . AreEqual ( "Test" , classModel . Name ) ;
189
222
Assert . AreEqual ( Visibility . Public , classModel . Access ) ;
190
223
Assert . AreEqual ( FlagType . Interface , classModel . Flags & FlagType . Interface ) ;
191
- Assert . AreEqual ( 4 , classModel . Members . Count ) ;
224
+ Assert . AreEqual ( 5 , classModel . Members . Count ) ;
192
225
193
226
var member = classModel . Members [ 0 ] ;
194
- Assert . AreEqual ( "test" , member . Name ) ;
195
- Assert . AreEqual ( "Int" , member . Type ) ;
196
- Assert . IsNull ( member . Parameters ) ;
197
- Assert . AreEqual ( Visibility . Public , member . Access ) ;
198
- Assert . AreEqual ( FlagType . Function , member . Flags & FlagType . Function ) ;
199
-
200
- member = classModel . Members [ 1 ] ;
201
227
Assert . AreEqual ( "testVar" , member . Name ) ;
202
228
Assert . AreEqual ( "String" , member . Type ) ;
203
229
Assert . IsNull ( member . Parameters ) ;
204
230
Assert . AreEqual ( Visibility . Public , member . Access ) ;
205
231
Assert . AreEqual ( FlagType . Variable , member . Flags & FlagType . Variable ) ;
206
232
233
+ member = classModel . Members [ 1 ] ;
234
+ Assert . AreEqual ( "test" , member . Name ) ;
235
+ Assert . AreEqual ( "Int" , member . Type ) ;
236
+ Assert . AreEqual ( 1 , member . Parameters . Count ) ;
237
+ Assert . AreEqual ( "?arg" , member . Parameters [ 0 ] . Name ) ;
238
+ Assert . AreEqual ( "Array<Dynamic>" , member . Parameters [ 0 ] . Type ) ;
239
+ Assert . AreEqual ( Visibility . Public , member . Access ) ;
240
+ Assert . AreEqual ( FlagType . Function , member . Flags & FlagType . Function ) ;
241
+
207
242
member = classModel . Members [ 2 ] ;
243
+ Assert . AreEqual ( "test2" , member . Name ) ;
244
+ Assert . AreEqual ( "Void" , member . Type ) ;
245
+ Assert . AreEqual ( 1 , member . Parameters . Count ) ;
246
+ Assert . AreEqual ( "arg" , member . Parameters [ 0 ] . Name ) ;
247
+ Assert . AreEqual ( "Bool" , member . Parameters [ 0 ] . Type ) ;
248
+ Assert . AreEqual ( 1 , member . Parameters . Count ) ;
249
+ Assert . AreEqual ( Visibility . Public , member . Access ) ;
250
+ Assert . AreEqual ( FlagType . Function , member . Flags & FlagType . Function ) ;
251
+
252
+ member = classModel . Members [ 3 ] ;
208
253
Assert . AreEqual ( "testPrivate" , member . Name ) ;
209
254
Assert . AreEqual ( "Int" , member . Type ) ;
210
255
Assert . IsNull ( member . Parameters ) ;
211
256
Assert . AreEqual ( Visibility . Private , member . Access ) ;
212
257
Assert . AreEqual ( FlagType . Function , member . Flags & FlagType . Function ) ;
213
258
214
- member = classModel . Members [ 3 ] ;
259
+ member = classModel . Members [ 4 ] ;
215
260
Assert . AreEqual ( "testProperty" , member . Name ) ;
216
261
Assert . AreEqual ( "Float" , member . Type ) ;
217
262
Assert . AreEqual ( 2 , member . Parameters . Count ) ;
@@ -1479,18 +1524,12 @@ public void ParseFile_IdentifiersWithUnicodeChars()
1479
1524
Assert . AreEqual ( 2 , classModel . Members . Count ) ;
1480
1525
1481
1526
var memberModel = classModel . Members [ 0 ] ;
1482
- Assert . AreEqual ( "thísIsVälid" , memberModel . Name ) ;
1483
- Assert . AreEqual ( "String" , memberModel . Type ) ;
1484
- Assert . AreEqual ( FlagType . Function , memberModel . Flags & FlagType . Function ) ;
1485
- Assert . AreEqual ( Visibility . Public , memberModel . Access & Visibility . Public ) ;
1527
+ Assert . AreNotEqual ( "thísIsVälid" , memberModel . Name ) ;
1486
1528
Assert . AreEqual ( 4 , memberModel . LineFrom ) ;
1487
1529
Assert . AreEqual ( 6 , memberModel . LineTo ) ;
1488
1530
1489
1531
memberModel = classModel . Members [ 1 ] ;
1490
- Assert . AreEqual ( "日本語文字ヴァリアブル" , memberModel . Name ) ;
1491
- Assert . AreEqual ( "Dynamic" , memberModel . Type ) ;
1492
- Assert . AreEqual ( FlagType . Variable , memberModel . Flags & FlagType . Variable ) ;
1493
- Assert . AreEqual ( Visibility . Public , memberModel . Access & Visibility . Public ) ;
1532
+ Assert . AreNotEqual ( "日本語文字ヴァリアブル" , memberModel . Name ) ;
1494
1533
Assert . AreEqual ( 8 , memberModel . LineFrom ) ;
1495
1534
Assert . AreEqual ( 8 , memberModel . LineTo ) ;
1496
1535
}
0 commit comments