summaryrefslogtreecommitdiff
path: root/src/testdir/test_textprop.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-04-26 15:59:55 +0200
committerBram Moolenaar <Bram@vim.org>2020-04-26 15:59:55 +0200
commit99fa721944dda9d07c53c907c33466728df5c271 (patch)
tree7ead4c06b56e21eb208ea1b9673cd463ba13f3c0 /src/testdir/test_textprop.vim
parente297802d6ddbebbf36f9a2d01127c034fab88b3b (diff)
downloadvim-git-99fa721944dda9d07c53c907c33466728df5c271.tar.gz
patch 8.2.0644: insufficient testing for invalid function argumentsv8.2.0644
Problem: Insufficient testing for invalid function arguments. Solution: Add more tests. (Yegappan Lakshmanan, closes #5988)
Diffstat (limited to 'src/testdir/test_textprop.vim')
-rw-r--r--src/testdir/test_textprop.vim25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 692b0c4bd..f91597ff5 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -1204,3 +1204,28 @@ func Test_find_zerowidth_prop_sol()
bwipe!
call prop_type_delete('test')
endfunc
+
+" Test for passing invalid arguments to prop_xxx() functions
+func Test_prop_func_invalid_args()
+ call assert_fails('call prop_clear(1, 2, [])', 'E715:')
+ call assert_fails('call prop_clear(-1, 2)', 'E16:')
+ call assert_fails('call prop_find(test_null_dict())', 'E474:')
+ call assert_fails('call prop_find({"bufnr" : []})', 'E158:')
+ call assert_fails('call prop_find({})', 'E968:')
+ call assert_fails('call prop_find({}, "x")', 'E474:')
+ call assert_fails('call prop_find({"lnum" : -2})', 'E16:')
+ call assert_fails('call prop_list(1, [])', 'E715:')
+ call assert_fails('call prop_list(-1 , {})', 'E16:')
+ call assert_fails('call prop_remove([])', 'E474:')
+ call assert_fails('call prop_remove({}, -2)', 'E16:')
+ call assert_fails('call prop_remove({})', 'E968:')
+ call assert_fails('call prop_type_add([], {})', 'E474:')
+ call assert_fails("call prop_type_change('long', {'xyz' : 10})", 'E971:')
+ call assert_fails("call prop_type_delete([])", 'E474:')
+ call assert_fails("call prop_type_delete('xyz', [])", 'E715:')
+ call assert_fails("call prop_type_get([])", 'E474:')
+ call assert_fails("call prop_type_get('', [])", 'E474:')
+ call assert_fails("call prop_type_list([])", 'E715:')
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab