diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-03-08 19:43:55 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-08 19:43:55 +0000 |
commit | ed0c62e7b16b62655824df28cdd6bd75aadbb8fc (patch) | |
tree | 2d912c33146a6ddd65d7877ac8cc9339c9fb953f /src/testdir/test_vim9_expr.vim | |
parent | 673bcb10ebe87ccf6954dd342d0143eb88cdfbcb (diff) |
patch 8.2.4529: Vim9: comparing partial with function failsv8.2.4529
Problem: Vim9: comparing partial with function fails.
Solution: Support this comparison. Avoid a crash. (closes #9909)
Add more test cases.
Diffstat (limited to 'src/testdir/test_vim9_expr.vim')
-rw-r--r-- | src/testdir/test_vim9_expr.vim | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index a38254f7dc..4a3803a8f1 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -717,21 +717,33 @@ def Test_expr4_compare_null() g:not_null_list = [] var lines =<< trim END assert_true(test_null_blob() == v:null) + assert_true(null_blob == null) assert_true(v:null == test_null_blob()) + assert_true(null == null_blob) assert_false(test_null_blob() != v:null) + assert_false(null_blob != null) assert_false(v:null != test_null_blob()) + assert_false(null != null_blob) if has('channel') assert_true(test_null_channel() == v:null) + assert_true(null_channel == null) assert_true(v:null == test_null_channel()) + assert_true(null == null_channel) assert_false(test_null_channel() != v:null) + assert_false(null_channel != null) assert_false(v:null != test_null_channel()) + assert_false(null != null_channel) endif assert_true(test_null_dict() == v:null) + assert_true(null_dict == null) assert_true(v:null == test_null_dict()) + assert_true(null == null_dict) assert_false(test_null_dict() != v:null) + assert_false(null_dict != null) assert_false(v:null != test_null_dict()) + assert_false(null != null_dict) assert_true(g:null_dict == v:null) assert_true(v:null == g:null_dict) @@ -739,21 +751,33 @@ def Test_expr4_compare_null() assert_false(v:null != g:null_dict) assert_true(test_null_function() == v:null) + assert_true(null_function == null) assert_true(v:null == test_null_function()) + assert_true(null == null_function) assert_false(test_null_function() != v:null) + assert_false(null_function != null) assert_false(v:null != test_null_function()) + assert_false(null != null_function) if has('job') assert_true(test_null_job() == v:null) + assert_true(null_job == null) assert_true(v:null == test_null_job()) + assert_true(null == null_job) assert_false(test_null_job() != v:null) + assert_false(null_job != null) assert_false(v:null != test_null_job()) + assert_false(null != null_job) endif assert_true(test_null_list() == v:null) + assert_true(null_list == null) assert_true(v:null == test_null_list()) + assert_true(null == null_list) assert_false(test_null_list() != v:null) + assert_false(null_list != null) assert_false(v:null != test_null_list()) + assert_false(null != null_list) assert_false(g:not_null_list == v:null) assert_false(v:null == g:not_null_list) @@ -761,19 +785,33 @@ def Test_expr4_compare_null() assert_true(v:null != g:not_null_list) assert_true(test_null_partial() == v:null) + assert_true(null_partial == null) assert_true(v:null == test_null_partial()) + assert_true(null == null_partial) assert_false(test_null_partial() != v:null) + assert_false(null_partial != null) assert_false(v:null != test_null_partial()) + assert_false(null != null_partial) assert_true(test_null_string() == v:null) + assert_true(null_string == null) assert_true(v:null == test_null_string()) + assert_true(null == null_string) assert_false(test_null_string() != v:null) + assert_false(null_string != null) assert_false(v:null != test_null_string()) + assert_false(null != null_string) END v9.CheckDefAndScriptSuccess(lines) unlet g:null_dict unlet g:not_null_list + lines =<< trim END + var d: dict<func> = {f: null_function} + assert_equal(null_function, d.f) + END + v9.CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptFailure(['echo 123 == v:null'], 'E1072: Cannot compare number with special') v9.CheckDefAndScriptFailure(['echo v:null == 123'], 'E1072: Cannot compare special with number') v9.CheckDefAndScriptFailure(['echo 123 != v:null'], 'E1072: Cannot compare number with special') |