To: vim_dev@googlegroups.com Subject: Patch 8.0.0301 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.0.0301 Problem: No tests for ":set completion" and various errors of the :set command. Solution: Add more :set tests. (Dominique Pelle, closes #1440) Files: src/testdir/test_options.vim *** ../vim-8.0.0300/src/testdir/test_options.vim 2016-11-26 17:45:50.040909819 +0100 --- src/testdir/test_options.vim 2017-02-04 15:50:22.601111282 +0100 *************** *** 128,131 **** --- 128,222 ---- func Test_thesaurus() call Check_dir_option('thesaurus') + endfun + + func Test_set_completion() + call feedkeys(":set di\\\"\", 'tx') + call assert_equal('"set dictionary diff diffexpr diffopt digraph directory display', @:) + + " Expand boolan options. When doing :set no + " vim displays the options names without "no" but completion uses "no...". + call feedkeys(":set nodi\\\"\", 'tx') + call assert_equal('"set nodiff digraph', @:) + + call feedkeys(":set invdi\\\"\", 'tx') + call assert_equal('"set invdiff digraph', @:) + + " Expand abbreviation of options. + call feedkeys(":set ts\\\"\", 'tx') + call assert_equal('"set tabstop thesaurus ttyscroll', @:) + + " Expand current value + call feedkeys(":set fileencodings=\\\"\", 'tx') + call assert_equal('"set fileencodings=ucs-bom,utf-8,default,latin1', @:) + + call feedkeys(":set fileencodings:\\\"\", 'tx') + call assert_equal('"set fileencodings:ucs-bom,utf-8,default,latin1', @:) + + " Expand key codes. + call feedkeys(":set \\"\", 'tx') + call assert_equal('"set ', @:) + + " Expand terminal options. + call feedkeys(":set t_A\\\"\", 'tx') + call assert_equal('"set t_AB t_AF t_AL', @:) + + " Expand directories. + call feedkeys(":set cdpath=./\\\"\", 'tx') + call assert_match(' ./samples/ ', @:) + call assert_notmatch(' ./small.vim ', @:) + + " Expand files and directories. + call feedkeys(":set tags=./\\\"\", 'tx') + call assert_match(' ./samples/.* ./small.vim', @:) + + call feedkeys(":set tags=./\\\\ dif\\\"\", 'tx') + call assert_equal('"set tags=./\\ diff diffexpr diffopt', @:) + endfunc + + func Test_set_errors() + call assert_fails('set scroll=-1', 'E49:') + call assert_fails('set backupcopy=', 'E474:') + call assert_fails('set regexpengine=3', 'E474:') + call assert_fails('set history=10001', 'E474:') + call assert_fails('set numberwidth=11', 'E474:') + call assert_fails('set colorcolumn=-a') + call assert_fails('set colorcolumn=a') + call assert_fails('set colorcolumn=1,') + call assert_fails('set cmdheight=-1', 'E487:') + call assert_fails('set cmdwinheight=-1', 'E487:') + if has('conceal') + call assert_fails('set conceallevel=-1', 'E487:') + call assert_fails('set conceallevel=4', 'E474:') + endif + call assert_fails('set helpheight=-1', 'E487:') + call assert_fails('set history=-1', 'E487:') + call assert_fails('set report=-1', 'E487:') + call assert_fails('set shiftwidth=-1', 'E487:') + call assert_fails('set sidescroll=-1', 'E487:') + call assert_fails('set tabstop=-1', 'E487:') + call assert_fails('set textwidth=-1', 'E487:') + call assert_fails('set timeoutlen=-1', 'E487:') + call assert_fails('set updatecount=-1', 'E487:') + call assert_fails('set updatetime=-1', 'E487:') + call assert_fails('set winheight=-1', 'E487:') + call assert_fails('set tabstop!', 'E488:') + call assert_fails('set xxx', 'E518:') + call assert_fails('set beautify?', 'E519:') + call assert_fails('set undolevels=x', 'E521:') + call assert_fails('set tabstop=', 'E521:') + call assert_fails('set comments=-', 'E524:') + call assert_fails('set comments=a', 'E525:') + call assert_fails('set foldmarker=x', 'E536:') + call assert_fails('set commentstring=x', 'E537:') + call assert_fails('set complete=x', 'E539:') + call assert_fails('set statusline=%{', 'E540:') + call assert_fails('set statusline=' . repeat("%p", 81), 'E541:') + call assert_fails('set statusline=%(', 'E542:') + call assert_fails('set guicursor=x', 'E545:') + call assert_fails('set backupext=~ patchmode=~', 'E589:') + call assert_fails('set winminheight=10 winheight=9', 'E591:') + call assert_fails('set winminwidth=10 winwidth=9', 'E592:') + call assert_fails("set showbreak=\x01", 'E595:') + call assert_fails('set t_foo=', 'E846:') endfunc *** ../vim-8.0.0300/src/version.c 2017-02-03 23:16:24.349040487 +0100 --- src/version.c 2017-02-04 15:51:53.564452810 +0100 *************** *** 766,767 **** --- 766,769 ---- { /* Add new patch number below this line */ + /**/ + 301, /**/ -- Kisses may last for as much as, but no more than, five minutes. [real standing law in Iowa, United States of America] /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///