mirror of
https://github.com/vim/vim.git
synced 2025-10-08 06:04:08 -04:00
patch 9.0.1031: Vim9 class is not implemented yet
Problem: Vim9 class is not implemented yet. Solution: Add very basic class support.
This commit is contained in:
145
src/testdir/test_vim9_class.vim
Normal file
145
src/testdir/test_vim9_class.vim
Normal file
@@ -0,0 +1,145 @@
|
||||
" Test Vim9 classes
|
||||
|
||||
source check.vim
|
||||
import './vim9.vim' as v9
|
||||
|
||||
def Test_class_basic()
|
||||
var lines =<< trim END
|
||||
class NotWorking
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1316:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class notWorking
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1314:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Not@working
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1315:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
abstract noclass Something
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E475:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
abstract classy Something
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E475:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
endcl
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1065:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
endclass school's out
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E488:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
endclass | echo 'done'
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E488:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1317:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this.
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1317:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this .count
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1317:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this. count
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1317:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this.count: number
|
||||
that.count
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1318: Not a valid command in a class: that.count')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this.count
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1022:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this.count : number
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1059:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
class Something
|
||||
this.count:number
|
||||
endclass
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1069:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
|
||||
class TextPosition
|
||||
this.lnum: number
|
||||
this.col: number
|
||||
endclass
|
||||
|
||||
# # FIXME: this works but leaks memory
|
||||
# # use the automatically generated new() method
|
||||
# var pos = TextPosition.new(2, 12)
|
||||
# assert_equal(2, pos.lnum)
|
||||
# assert_equal(12, pos.col)
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
Reference in New Issue
Block a user