@@ -400,7 +400,7 @@ def Test_class_def_method()
400400 enddef
401401 endclass
402402 END
403- v9.CheckSourceFailure (lines , ' E1331: Public must be followed by "var" or "static" ' , 3 )
403+ v9.CheckSourceFailure (lines , ' E1388: public keyword not supported for a method ' , 3 )
404404
405405 # Using the " public" keyword when defining a class method
406406 lines = << trim END
@@ -410,7 +410,7 @@ def Test_class_def_method()
410410 enddef
411411 endclass
412412 END
413- v9.CheckSourceFailure (lines , ' E1388: Public keyword not supported for a method' , 3 )
413+ v9.CheckSourceFailure (lines , ' E1388: public keyword not supported for a method' , 3 )
414414
415415 # Using the " public" keyword when defining an object protected method
416416 lines = << trim END
@@ -420,7 +420,7 @@ def Test_class_def_method()
420420 enddef
421421 endclass
422422 END
423- v9.CheckSourceFailure (lines , ' E1331: Public must be followed by "var" or "static" ' , 3 )
423+ v9.CheckSourceFailure (lines , ' E1388: public keyword not supported for a method ' , 3 )
424424
425425 # Using the " public" keyword when defining a class protected method
426426 lines = << trim END
@@ -430,7 +430,7 @@ def Test_class_def_method()
430430 enddef
431431 endclass
432432 END
433- v9.CheckSourceFailure (lines , ' E1388: Public keyword not supported for a method' , 3 )
433+ v9.CheckSourceFailure (lines , ' E1388: public keyword not supported for a method' , 3 )
434434
435435 # Using a " def" keyword without an object method name
436436 lines = << trim END
@@ -1191,7 +1191,7 @@ def Test_instance_variable_access()
11911191 public var _val = 10
11921192 endclass
11931193 END
1194- v9.CheckSourceFailure (lines , ' E1332: Public variable name cannot start with underscore: public var _val = 10' , 3 )
1194+ v9.CheckSourceFailure (lines , ' E1332: public variable name cannot start with underscore: public var _val = 10' , 3 )
11951195
11961196 lines = << trim END
11971197 vim9script
@@ -1287,7 +1287,7 @@ def Test_instance_variable_access()
12871287 public val = 1
12881288 endclass
12891289 END
1290- v9.CheckSourceFailure (lines , ' E1331: Public must be followed by "var" or "static"' , 3 )
1290+ v9.CheckSourceFailure (lines , ' E1331: public must be followed by "var" or "static"' , 3 )
12911291
12921292 # Modify a instance variable using the class name in the script context
12931293 lines = << trim END
@@ -6537,15 +6537,15 @@ def Test_interface_with_unsupported_members()
65376537 public static var num: number
65386538 endinterface
65396539 END
6540- v9.CheckSourceFailure (lines , ' E1387: Public variable not supported in an interface' , 3 )
6540+ v9.CheckSourceFailure (lines , ' E1387: public variable not supported in an interface' , 3 )
65416541
65426542 lines = << trim END
65436543 vim9script
65446544 interface A
65456545 public static var num: number
65466546 endinterface
65476547 END
6548- v9.CheckSourceFailure (lines , ' E1387: Public variable not supported in an interface' , 3 )
6548+ v9.CheckSourceFailure (lines , ' E1387: public variable not supported in an interface' , 3 )
65496549
65506550 lines = << trim END
65516551 vim9script
@@ -10625,4 +10625,17 @@ def Test_abstract_method_defcompile()
1062510625 v9.CheckScriptFailure (lines , ' E476: Invalid command: pass' , 1 )
1062610626enddef
1062710627
10628+ " Test for defining a class in a function
10629+ def Test_class_definition_in_a_function ()
10630+ var lines = << trim END
10631+ vim9script
10632+ def Foo ()
10633+ class A
10634+ endclass
10635+ enddef
10636+ defcompile
10637+ END
10638+ v9.CheckScriptFailure (lines , ' E1429: Class can only be used in a script' , 1 )
10639+ enddef
10640+
1062810641" vim: ts = 8 sw = 2 sts = 2 expandtab tw = 80 fdm = marker
0 commit comments