diff options
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_vim9_builtin.vim | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_class.vim | 26 | ||||
-rw-r--r-- | src/testdir/test_vim9_script.vim | 28 |
3 files changed, 29 insertions, 27 deletions
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim index 42d09fe9a5..83153ad085 100644 --- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -4783,8 +4783,6 @@ def Test_typename() if has('channel') assert_equal('channel', test_null_channel()->typename()) endif - assert_equal('class<Unknown>', typename(null_class)) - assert_equal('object<Unknown>', typename(null_object)) var l: list<func(list<number>): number> = [function('min')] assert_equal('list<func(list<number>): number>', typename(l)) enddef diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index 0a48b822df..0754af7dec 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -560,7 +560,7 @@ def Test_using_null_class() END v9.CheckSourceSuccess(lines) - # Test for using a null class with string() + # Test for using a null class with type() and typename() lines =<< trim END vim9script assert_equal(12, type(null_class)) @@ -569,30 +569,6 @@ def Test_using_null_class() v9.CheckSourceSuccess(lines) enddef -def Test_using_null_object() - # Test for using a null object as a value - var lines =<< trim END - vim9script - assert_equal(1, empty(null_object)) - END - v9.CheckSourceSuccess(lines) - - # Test for using a null object with string() - lines =<< trim END - vim9script - assert_equal('object of [unknown]', string(null_object)) - END - v9.CheckSourceSuccess(lines) - - # Test for using a null object with string() - lines =<< trim END - vim9script - assert_equal(13, type(null_object)) - assert_equal('object<Unknown>', typename(null_object)) - END - v9.CheckSourceSuccess(lines) -enddef - def Test_class_interface_wrong_end() var lines =<< trim END vim9script diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index a3f21bed02..9ec92b398d 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -5055,6 +5055,34 @@ def Test_eval_lambda_block() v9.CheckSourceSuccess(lines) enddef +" Test for using various null values +def Test_null_values() + var lines =<< trim END + var nullValues = [ + [null, 1, 'null', 7, 'special'], + [null_blob, 1, '0z', 10, 'blob'], + [null_channel, 1, 'channel fail', 9, 'channel'], + [null_dict, 1, '{}', 4, 'dict<any>'], + [null_function, 1, "function('')", 2, 'func(...): unknown'], + [null_job, 1, 'no process', 8, 'job'], + [null_list, 1, '[]', 3, 'list<any>'], + [null_object, 1, 'object of [unknown]', 13, 'object<Unknown>'], + [null_partial, 1, "function('')", 2, 'func(...): unknown'], + [null_string, 1, "''", 1, 'string'] + ] + + for [Val, emptyExp, stringExp, typeExp, typenameExp] in nullValues + assert_equal(emptyExp, empty(Val)) + assert_equal(stringExp, string(Val)) + assert_equal(typeExp, type(Val)) + assert_equal(typenameExp, typename(Val)) + assert_equal(Val, copy(Val)) + assert_equal(-1, test_refcount(Val)) + endfor + END + v9.CheckSourceDefAndScriptSuccess(lines) +enddef + " Keep this last, it messes up highlighting. def Test_substitute_cmd() new |