mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.0790: Vim9: list index not well tested
Problem: Vim9: list index not well tested. Solution: Add a few more tests.
This commit is contained in:
@@ -23,21 +23,6 @@ def Test_assignment()
|
||||
let bool2: bool = false
|
||||
assert_equal(v:false, bool2)
|
||||
|
||||
let list1: list<bool> = [false, true, false]
|
||||
let list2: list<number> = [1, 2, 3]
|
||||
let list3: list<string> = ['sdf', 'asdf']
|
||||
let list4: list<any> = ['yes', true, 1234]
|
||||
let list5: list<blob> = [0z01, 0z02]
|
||||
|
||||
let listS: list<string> = []
|
||||
let listN: list<number> = []
|
||||
|
||||
let dict1: dict<bool> = #{one: false, two: true}
|
||||
let dict2: dict<number> = #{one: 1, two: 2}
|
||||
let dict3: dict<string> = #{key: 'value'}
|
||||
let dict4: dict<any> = #{one: 1, two: '2'}
|
||||
let dict5: dict<blob> = #{one: 0z01, tw: 0z02}
|
||||
|
||||
call CheckDefFailure(['let x:string'], 'E1069:')
|
||||
call CheckDefFailure(['let x:string = "x"'], 'E1069:')
|
||||
call CheckDefFailure(['let a:string = "x"'], 'E1069:')
|
||||
@@ -57,11 +42,6 @@ def Test_assignment()
|
||||
let Funky2: func = function('len')
|
||||
let Party2: func = funcref('g:Test_syntax')
|
||||
|
||||
# type becomes list<any>
|
||||
let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
|
||||
# type becomes dict<any>
|
||||
let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'}
|
||||
|
||||
g:newvar = 'new'
|
||||
assert_equal('new', g:newvar)
|
||||
|
||||
@@ -128,6 +108,42 @@ def Test_assignment()
|
||||
call CheckDefFailure(['v:errmsg += 123'], 'E1013:')
|
||||
enddef
|
||||
|
||||
def Test_assignment_list()
|
||||
let list1: list<bool> = [false, true, false]
|
||||
let list2: list<number> = [1, 2, 3]
|
||||
let list3: list<string> = ['sdf', 'asdf']
|
||||
let list4: list<any> = ['yes', true, 1234]
|
||||
let list5: list<blob> = [0z01, 0z02]
|
||||
|
||||
let listS: list<string> = []
|
||||
let listN: list<number> = []
|
||||
|
||||
assert_equal([1, 2, 3], list2)
|
||||
list2[-1] = 99
|
||||
assert_equal([1, 2, 99], list2)
|
||||
list2[-2] = 88
|
||||
assert_equal([1, 88, 99], list2)
|
||||
list2[-3] = 77
|
||||
assert_equal([77, 88, 99], list2)
|
||||
call CheckDefExecFailure(['let ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:')
|
||||
|
||||
# type becomes list<any>
|
||||
let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
|
||||
enddef
|
||||
|
||||
def Test_assignment_dict()
|
||||
let dict1: dict<bool> = #{one: false, two: true}
|
||||
let dict2: dict<number> = #{one: 1, two: 2}
|
||||
let dict3: dict<string> = #{key: 'value'}
|
||||
let dict4: dict<any> = #{one: 1, two: '2'}
|
||||
let dict5: dict<blob> = #{one: 0z01, tw: 0z02}
|
||||
|
||||
call CheckDefExecFailure(['let dd = {}', 'dd[""] = 6'], 'E713:')
|
||||
|
||||
# type becomes dict<any>
|
||||
let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'}
|
||||
enddef
|
||||
|
||||
def Test_assignment_local()
|
||||
" Test in a separated file in order not to the current buffer/window/tab is
|
||||
" changed.
|
||||
|
Reference in New Issue
Block a user