1fabaf753SBram Moolenaar" Tests for various eval things. 2fabaf753SBram Moolenaar 32b6ef856SBram Moolenaarsource view_util.vim 42b6ef856SBram Moolenaar 5fabaf753SBram Moolenaarfunction s:foo() abort 6fabaf753SBram Moolenaar try 7fabaf753SBram Moolenaar return [] == 0 8fabaf753SBram Moolenaar catch 9fabaf753SBram Moolenaar return 1 10fabaf753SBram Moolenaar endtry 11fabaf753SBram Moolenaarendfunction 12fabaf753SBram Moolenaar 13fabaf753SBram Moolenaarfunc Test_catch_return_with_error() 14fabaf753SBram Moolenaar call assert_equal(1, s:foo()) 15fabaf753SBram Moolenaarendfunc 162be57331SBram Moolenaar 172be57331SBram Moolenaarfunc Test_nocatch_restore_silent_emsg() 182be57331SBram Moolenaar silent! try 192be57331SBram Moolenaar throw 1 202be57331SBram Moolenaar catch 212be57331SBram Moolenaar endtry 222b6ef856SBram Moolenaar echoerr 'wrong again' 232b6ef856SBram Moolenaar call assert_equal('wrong again', ScreenLine(&lines)) 242be57331SBram Moolenaarendfunc 2578a16b0fSBram Moolenaar 2678a16b0fSBram Moolenaarfunc Test_mkdir_p() 2778a16b0fSBram Moolenaar call mkdir('Xmkdir/nested', 'p') 2878a16b0fSBram Moolenaar call assert_true(isdirectory('Xmkdir/nested')) 2978a16b0fSBram Moolenaar try 3078a16b0fSBram Moolenaar " Trying to make existing directories doesn't error 3178a16b0fSBram Moolenaar call mkdir('Xmkdir', 'p') 3278a16b0fSBram Moolenaar call mkdir('Xmkdir/nested', 'p') 3378a16b0fSBram Moolenaar catch /E739:/ 3478a16b0fSBram Moolenaar call assert_report('mkdir(..., "p") failed for an existing directory') 3578a16b0fSBram Moolenaar endtry 3678a16b0fSBram Moolenaar " 'p' doesn't suppress real errors 3778a16b0fSBram Moolenaar call writefile([], 'Xfile') 38e2e4075fSBram Moolenaar call assert_fails('call mkdir("Xfile", "p")', 'E739:') 3978a16b0fSBram Moolenaar call delete('Xfile') 4078a16b0fSBram Moolenaar call delete('Xmkdir', 'rf') 4192b83ccfSBram Moolenaar call assert_equal(0, mkdir(test_null_string())) 42e2e4075fSBram Moolenaar call assert_fails('call mkdir([])', 'E730:') 43e2e4075fSBram Moolenaar call assert_fails('call mkdir("abc", [], [])', 'E745:') 4478a16b0fSBram Moolenaarendfunc 4567f8ab82SBram Moolenaar 4667f8ab82SBram Moolenaarfunc Test_line_continuation() 4767f8ab82SBram Moolenaar let array = [5, 4867f8ab82SBram Moolenaar "\ ignore this 4967f8ab82SBram Moolenaar \ 6, 5067f8ab82SBram Moolenaar "\ more to ignore 5167f8ab82SBram Moolenaar "\ more moreto ignore 5267f8ab82SBram Moolenaar \ ] 5367f8ab82SBram Moolenaar "\ and some more 5467f8ab82SBram Moolenaar call assert_equal([5, 6], array) 5567f8ab82SBram Moolenaarendfunc 5688b53fd0SBram Moolenaar 5788b53fd0SBram Moolenaarfunc Test_E963() 5888b53fd0SBram Moolenaar " These commands used to cause an internal error prior to vim 8.1.0563 5988b53fd0SBram Moolenaar let v_e = v:errors 6088b53fd0SBram Moolenaar let v_o = v:oldfiles 6188b53fd0SBram Moolenaar call assert_fails("let v:errors=''", 'E963:') 6288b53fd0SBram Moolenaar call assert_equal(v_e, v:errors) 6388b53fd0SBram Moolenaar call assert_fails("let v:oldfiles=''", 'E963:') 6488b53fd0SBram Moolenaar call assert_equal(v_o, v:oldfiles) 6588b53fd0SBram Moolenaarendfunc 66c0f5a78cSBram Moolenaar 67c0f5a78cSBram Moolenaarfunc Test_for_invalid() 68*80d7395dSSean Dewar call assert_fails("for x in 99", 'E1098:') 69*80d7395dSSean Dewar call assert_fails("for x in function('winnr')", 'E1098:') 70*80d7395dSSean Dewar call assert_fails("for x in {'a': 9}", 'E1098:') 71df2c2988SBram Moolenaar 72df2c2988SBram Moolenaar if 0 73df2c2988SBram Moolenaar /1/5/2/s/\n 74df2c2988SBram Moolenaar endif 75df2c2988SBram Moolenaar redraw 76c0f5a78cSBram Moolenaarendfunc 7705500eceSBram Moolenaar 7805500eceSBram Moolenaarfunc Test_readfile_binary() 7905500eceSBram Moolenaar new 8005500eceSBram Moolenaar call setline(1, ['one', 'two', 'three']) 8105500eceSBram Moolenaar setlocal ff=dos 821b04ce2dSBram Moolenaar silent write XReadfile_bin 831b04ce2dSBram Moolenaar let lines = 'XReadfile_bin'->readfile() 8405500eceSBram Moolenaar call assert_equal(['one', 'two', 'three'], lines) 851b04ce2dSBram Moolenaar let lines = readfile('XReadfile_bin', '', 2) 8605500eceSBram Moolenaar call assert_equal(['one', 'two'], lines) 871b04ce2dSBram Moolenaar let lines = readfile('XReadfile_bin', 'b') 8805500eceSBram Moolenaar call assert_equal(["one\r", "two\r", "three\r", ""], lines) 891b04ce2dSBram Moolenaar let lines = readfile('XReadfile_bin', 'b', 2) 9005500eceSBram Moolenaar call assert_equal(["one\r", "two\r"], lines) 9105500eceSBram Moolenaar 9205500eceSBram Moolenaar bwipe! 931b04ce2dSBram Moolenaar call delete('XReadfile_bin') 941b04ce2dSBram Moolenaarendfunc 951b04ce2dSBram Moolenaar 961b04ce2dSBram Moolenaarfunc Test_readfile_bom() 971b04ce2dSBram Moolenaar call writefile(["\ufeffFOO", "FOO\ufeffBAR"], 'XReadfile_bom') 981b04ce2dSBram Moolenaar call assert_equal(['FOO', 'FOOBAR'], readfile('XReadfile_bom')) 991b04ce2dSBram Moolenaar call delete('XReadfile_bom') 1001b04ce2dSBram Moolenaarendfunc 1011b04ce2dSBram Moolenaar 1021b04ce2dSBram Moolenaarfunc Test_readfile_max() 1031b04ce2dSBram Moolenaar call writefile(range(1, 4), 'XReadfile_max') 1041b04ce2dSBram Moolenaar call assert_equal(['1', '2'], readfile('XReadfile_max', '', 2)) 1051b04ce2dSBram Moolenaar call assert_equal(['3', '4'], readfile('XReadfile_max', '', -2)) 1061b04ce2dSBram Moolenaar call delete('XReadfile_max') 10705500eceSBram Moolenaarendfunc 1084b9e91f0SBram Moolenaar 1094b9e91f0SBram Moolenaarfunc Test_let_errmsg() 1104b9e91f0SBram Moolenaar call assert_fails('let v:errmsg = []', 'E730:') 1114b9e91f0SBram Moolenaar let v:errmsg = '' 1124b9e91f0SBram Moolenaar call assert_fails('let v:errmsg = []', 'E730:') 1134b9e91f0SBram Moolenaar let v:errmsg = '' 1144b9e91f0SBram Moolenaarendfunc 1150f248b00SBram Moolenaar 1160f248b00SBram Moolenaarfunc Test_string_concatenation() 1170f248b00SBram Moolenaar call assert_equal('ab', 'a'.'b') 1180f248b00SBram Moolenaar call assert_equal('ab', 'a' .'b') 1190f248b00SBram Moolenaar call assert_equal('ab', 'a'. 'b') 1200f248b00SBram Moolenaar call assert_equal('ab', 'a' . 'b') 1210f248b00SBram Moolenaar 1220f248b00SBram Moolenaar call assert_equal('ab', 'a'..'b') 1230f248b00SBram Moolenaar call assert_equal('ab', 'a' ..'b') 1240f248b00SBram Moolenaar call assert_equal('ab', 'a'.. 'b') 1250f248b00SBram Moolenaar call assert_equal('ab', 'a' .. 'b') 1260f248b00SBram Moolenaar 1270f248b00SBram Moolenaar let a = 'a' 1280f248b00SBram Moolenaar let b = 'b' 1290f248b00SBram Moolenaar let a .= b 1300f248b00SBram Moolenaar call assert_equal('ab', a) 1310f248b00SBram Moolenaar 1320f248b00SBram Moolenaar let a = 'a' 1330f248b00SBram Moolenaar let a.=b 1340f248b00SBram Moolenaar call assert_equal('ab', a) 1350f248b00SBram Moolenaar 1360f248b00SBram Moolenaar let a = 'a' 1370f248b00SBram Moolenaar let a ..= b 1380f248b00SBram Moolenaar call assert_equal('ab', a) 1390f248b00SBram Moolenaar 1400f248b00SBram Moolenaar let a = 'a' 1410f248b00SBram Moolenaar let a..=b 1420f248b00SBram Moolenaar call assert_equal('ab', a) 1432e086612SBram Moolenaar 1442e086612SBram Moolenaar if has('float') 1452e086612SBram Moolenaar let a = 'A' 1462e086612SBram Moolenaar let b = 1.234 1473cfa5b16SBram Moolenaar call assert_equal('A1.234', a .. b) 1482e086612SBram Moolenaar endif 1490f248b00SBram Moolenaarendfunc 150558ca4aeSBram Moolenaar 15160a8de28SBram Moolenaar" Test fix for issue #4507 15260a8de28SBram Moolenaarfunc Test_skip_after_throw() 15360a8de28SBram Moolenaar try 15460a8de28SBram Moolenaar throw 'something' 15560a8de28SBram Moolenaar let x = wincol() || &ts 15660a8de28SBram Moolenaar catch /something/ 15760a8de28SBram Moolenaar endtry 15860a8de28SBram Moolenaarendfunc 15960a8de28SBram Moolenaar 160558ca4aeSBram Moolenaarscriptversion 2 161558ca4aeSBram Moolenaarfunc Test_string_concat_scriptversion2() 16293a4879cSBram Moolenaar call assert_true(has('vimscript-2')) 163558ca4aeSBram Moolenaar let a = 'a' 164558ca4aeSBram Moolenaar let b = 'b' 165558ca4aeSBram Moolenaar 166558ca4aeSBram Moolenaar call assert_fails('echo a . b', 'E15:') 167558ca4aeSBram Moolenaar call assert_fails('let a .= b', 'E985:') 168fae55a9cSBram Moolenaar call assert_fails('let vers = 1.2.3', 'E488:') 169558ca4aeSBram Moolenaar 170558ca4aeSBram Moolenaar if has('float') 171558ca4aeSBram Moolenaar let f = .5 172558ca4aeSBram Moolenaar call assert_equal(0.5, f) 173558ca4aeSBram Moolenaar endif 174558ca4aeSBram Moolenaarendfunc 175558ca4aeSBram Moolenaar 176558ca4aeSBram Moolenaarscriptversion 1 177558ca4aeSBram Moolenaarfunc Test_string_concat_scriptversion1() 17893a4879cSBram Moolenaar call assert_true(has('vimscript-1')) 179558ca4aeSBram Moolenaar let a = 'a' 180558ca4aeSBram Moolenaar let b = 'b' 181558ca4aeSBram Moolenaar 182558ca4aeSBram Moolenaar echo a . b 183558ca4aeSBram Moolenaar let a .= b 184558ca4aeSBram Moolenaar let vers = 1.2.3 185558ca4aeSBram Moolenaar call assert_equal('123', vers) 186558ca4aeSBram Moolenaar 187558ca4aeSBram Moolenaar if has('float') 188558ca4aeSBram Moolenaar call assert_fails('let f = .5', 'E15:') 189558ca4aeSBram Moolenaar endif 190558ca4aeSBram Moolenaarendfunc 191558ca4aeSBram Moolenaar 192d2e716e6SBram Moolenaarscriptversion 3 193d2e716e6SBram Moolenaarfunc Test_vvar_scriptversion3() 19493a4879cSBram Moolenaar call assert_true(has('vimscript-3')) 195d2e716e6SBram Moolenaar call assert_fails('echo version', 'E121:') 196d2e716e6SBram Moolenaar call assert_false(exists('version')) 197d2e716e6SBram Moolenaar let version = 1 198d2e716e6SBram Moolenaar call assert_equal(1, version) 199d2e716e6SBram Moolenaarendfunc 200d2e716e6SBram Moolenaar 201d2e716e6SBram Moolenaarscriptversion 2 202d2e716e6SBram Moolenaarfunc Test_vvar_scriptversion2() 203d2e716e6SBram Moolenaar call assert_true(exists('version')) 204d2e716e6SBram Moolenaar echo version 205d2e716e6SBram Moolenaar call assert_fails('let version = 1', 'E46:') 206d2e716e6SBram Moolenaar call assert_equal(v:version, version) 20737df9a44SBram Moolenaar 20837df9a44SBram Moolenaar call assert_equal(v:version, v:versionlong / 10000) 20937df9a44SBram Moolenaar call assert_true(v:versionlong > 8011525) 210d2e716e6SBram Moolenaarendfunc 211d2e716e6SBram Moolenaar 21261343f0cSBram Moolenaarfunc Test_dict_access_scriptversion2() 21361343f0cSBram Moolenaar let l:x = {'foo': 1} 21461343f0cSBram Moolenaar 21561343f0cSBram Moolenaar call assert_false(0 && l:x.foo) 21661343f0cSBram Moolenaar call assert_true(1 && l:x.foo) 21761343f0cSBram Moolenaarendfunc 21861343f0cSBram Moolenaar 21960a8de28SBram Moolenaarscriptversion 4 22060a8de28SBram Moolenaarfunc Test_vvar_scriptversion4() 221af914383SBram Moolenaar call assert_true(has('vimscript-4')) 22260a8de28SBram Moolenaar call assert_equal(17, 017) 223c17e66c5SBram Moolenaar call assert_equal(15, 0o17) 224c17e66c5SBram Moolenaar call assert_equal(15, 0O17) 22560a8de28SBram Moolenaar call assert_equal(18, 018) 226c37b6554SBram Moolenaar call assert_equal(511, 0o777) 22760a8de28SBram Moolenaar call assert_equal(64, 0b1'00'00'00) 22860a8de28SBram Moolenaar call assert_equal(1048576, 0x10'00'00) 229c17e66c5SBram Moolenaar call assert_equal(32768, 0o10'00'00) 23060a8de28SBram Moolenaar call assert_equal(1000000, 1'000'000) 231ea8dcf83SBram Moolenaar call assert_equal("1234", execute("echo 1'234")->trim()) 232ea8dcf83SBram Moolenaar call assert_equal('1 234', execute("echo 1''234")->trim()) 233ea8dcf83SBram Moolenaar call assert_fails("echo 1'''234", 'E115:') 23460a8de28SBram Moolenaarendfunc 23560a8de28SBram Moolenaar 23660a8de28SBram Moolenaarscriptversion 1 23760a8de28SBram Moolenaarfunc Test_vvar_scriptversion1() 23860a8de28SBram Moolenaar call assert_equal(15, 017) 239c17e66c5SBram Moolenaar call assert_equal(15, 0o17) 240c17e66c5SBram Moolenaar call assert_equal(15, 0O17) 24160a8de28SBram Moolenaar call assert_equal(18, 018) 242c37b6554SBram Moolenaar call assert_equal(511, 0o777) 24360a8de28SBram Moolenaarendfunc 24460a8de28SBram Moolenaar 24560a8de28SBram Moolenaarfunc Test_scriptversion_fail() 246558ca4aeSBram Moolenaar call writefile(['scriptversion 9'], 'Xversionscript') 247558ca4aeSBram Moolenaar call assert_fails('source Xversionscript', 'E999:') 248558ca4aeSBram Moolenaar call delete('Xversionscript') 249558ca4aeSBram Moolenaarendfunc 250b662591eSBram Moolenaar 2519d8d0b5cSBram Moolenaarfunc Test_execute_cmd_with_null() 252b662591eSBram Moolenaar call assert_fails('execute test_null_list()', 'E730:') 253b662591eSBram Moolenaar call assert_fails('execute test_null_dict()', 'E731:') 254b662591eSBram Moolenaar call assert_fails('execute test_null_blob()', 'E976:') 255b662591eSBram Moolenaar execute test_null_string() 256b662591eSBram Moolenaar call assert_fails('execute test_null_partial()', 'E729:') 25792b83ccfSBram Moolenaar call assert_fails('execute test_unknown()', 'E908:') 258b662591eSBram Moolenaar if has('job') 259b662591eSBram Moolenaar call assert_fails('execute test_null_job()', 'E908:') 260b662591eSBram Moolenaar call assert_fails('execute test_null_channel()', 'E908:') 261b662591eSBram Moolenaar endif 262b662591eSBram Moolenaarendfunc 263f9706e9dSBram Moolenaar 26457d5a01cSBram Moolenaarfunc Test_number_max_min_size() 26557d5a01cSBram Moolenaar " This will fail on systems without 64 bit number support or when not 26657d5a01cSBram Moolenaar " configured correctly. 267f9706e9dSBram Moolenaar call assert_equal(64, v:numbersize) 26857d5a01cSBram Moolenaar 26957d5a01cSBram Moolenaar call assert_true(v:numbermin < -9999999) 27057d5a01cSBram Moolenaar call assert_true(v:numbermax > 9999999) 271f9706e9dSBram Moolenaarendfunc 2728b633135SBram Moolenaar 27390455cfaSBram Moolenaarfunc Assert_reg(name, type, value, valuestr, expr, exprstr) 27490455cfaSBram Moolenaar call assert_equal(a:type, getregtype(a:name)) 27590455cfaSBram Moolenaar call assert_equal(a:value, getreg(a:name)) 27690455cfaSBram Moolenaar call assert_equal(a:valuestr, string(getreg(a:name, 0, 1))) 27790455cfaSBram Moolenaar call assert_equal(a:expr, getreg(a:name, 1)) 27890455cfaSBram Moolenaar call assert_equal(a:exprstr, string(getreg(a:name, 1, 1))) 27990455cfaSBram Moolenaarendfunc 28090455cfaSBram Moolenaar 28190455cfaSBram Moolenaarfunc Test_let_register() 28290455cfaSBram Moolenaar let @" = 'abc' 28390455cfaSBram Moolenaar call Assert_reg('"', 'v', "abc", "['abc']", "abc", "['abc']") 28490455cfaSBram Moolenaar let @" = "abc\n" 28590455cfaSBram Moolenaar call Assert_reg('"', 'V', "abc\n", "['abc']", "abc\n", "['abc']") 28690455cfaSBram Moolenaar let @" = "abc\<C-m>" 28790455cfaSBram Moolenaar call Assert_reg('"', 'V', "abc\r\n", "['abc\r']", "abc\r\n", "['abc\r']") 28890455cfaSBram Moolenaar let @= = '"abc"' 28990455cfaSBram Moolenaar call Assert_reg('=', 'v', "abc", "['abc']", '"abc"', "['\"abc\"']") 29090455cfaSBram Moolenaarendfunc 29190455cfaSBram Moolenaar 29290455cfaSBram Moolenaarfunc Assert_regput(name, result) 29390455cfaSBram Moolenaar new 29490455cfaSBram Moolenaar execute "silent normal! o==\n==\e\"" . a:name . "P" 29590455cfaSBram Moolenaar call assert_equal(a:result, getline(2, line('$'))) 29661fbb337SBram Moolenaar bwipe! 29790455cfaSBram Moolenaarendfunc 29890455cfaSBram Moolenaar 29990455cfaSBram Moolenaarfunc Test_setreg_basic() 30090455cfaSBram Moolenaar call setreg('a', 'abcA', 'c') 30190455cfaSBram Moolenaar call Assert_reg('a', 'v', "abcA", "['abcA']", "abcA", "['abcA']") 30290455cfaSBram Moolenaar call Assert_regput('a', ['==', '=abcA=']) 30390455cfaSBram Moolenaar 30490455cfaSBram Moolenaar call setreg('A', 'abcAc', 'c') 30590455cfaSBram Moolenaar call Assert_reg('A', 'v', "abcAabcAc", "['abcAabcAc']", "abcAabcAc", "['abcAabcAc']") 30690455cfaSBram Moolenaar call Assert_regput('a', ['==', '=abcAabcAc=']) 30790455cfaSBram Moolenaar 30890455cfaSBram Moolenaar call setreg('A', 'abcAl', 'l') 30990455cfaSBram Moolenaar call Assert_reg('A', 'V', "abcAabcAcabcAl\n", "['abcAabcAcabcAl']", "abcAabcAcabcAl\n", "['abcAabcAcabcAl']") 31090455cfaSBram Moolenaar call Assert_regput('a', ['==', 'abcAabcAcabcAl', '==']) 31190455cfaSBram Moolenaar 31290455cfaSBram Moolenaar call setreg('A', 'abcAc2','c') 31390455cfaSBram Moolenaar call Assert_reg('A', 'v', "abcAabcAcabcAl\nabcAc2", "['abcAabcAcabcAl', 'abcAc2']", "abcAabcAcabcAl\nabcAc2", "['abcAabcAcabcAl', 'abcAc2']") 31490455cfaSBram Moolenaar call Assert_regput('a', ['==', '=abcAabcAcabcAl', 'abcAc2=']) 31590455cfaSBram Moolenaar 31690455cfaSBram Moolenaar call setreg('b', 'abcB', 'v') 31790455cfaSBram Moolenaar call Assert_reg('b', 'v', "abcB", "['abcB']", "abcB", "['abcB']") 31890455cfaSBram Moolenaar call Assert_regput('b', ['==', '=abcB=']) 31990455cfaSBram Moolenaar 32090455cfaSBram Moolenaar call setreg('b', 'abcBc', 'ca') 32190455cfaSBram Moolenaar call Assert_reg('b', 'v', "abcBabcBc", "['abcBabcBc']", "abcBabcBc", "['abcBabcBc']") 32290455cfaSBram Moolenaar call Assert_regput('b', ['==', '=abcBabcBc=']) 32390455cfaSBram Moolenaar 32490455cfaSBram Moolenaar call setreg('b', 'abcBb', 'ba') 32590455cfaSBram Moolenaar call Assert_reg('b', "\<C-V>5", "abcBabcBcabcBb", "['abcBabcBcabcBb']", "abcBabcBcabcBb", "['abcBabcBcabcBb']") 32690455cfaSBram Moolenaar call Assert_regput('b', ['==', '=abcBabcBcabcBb=']) 32790455cfaSBram Moolenaar 32890455cfaSBram Moolenaar call setreg('b', 'abcBc2','ca') 32990455cfaSBram Moolenaar call Assert_reg('b', "v", "abcBabcBcabcBb\nabcBc2", "['abcBabcBcabcBb', 'abcBc2']", "abcBabcBcabcBb\nabcBc2", "['abcBabcBcabcBb', 'abcBc2']") 33090455cfaSBram Moolenaar call Assert_regput('b', ['==', '=abcBabcBcabcBb', 'abcBc2=']) 33190455cfaSBram Moolenaar 33290455cfaSBram Moolenaar call setreg('b', 'abcBb2','b50a') 33390455cfaSBram Moolenaar call Assert_reg('b', "\<C-V>50", "abcBabcBcabcBb\nabcBc2abcBb2", "['abcBabcBcabcBb', 'abcBc2abcBb2']", "abcBabcBcabcBb\nabcBc2abcBb2", "['abcBabcBcabcBb', 'abcBc2abcBb2']") 33490455cfaSBram Moolenaar call Assert_regput('b', ['==', '=abcBabcBcabcBb =', ' abcBc2abcBb2']) 33590455cfaSBram Moolenaar 33690455cfaSBram Moolenaar call setreg('c', 'abcC', 'l') 33790455cfaSBram Moolenaar call Assert_reg('c', 'V', "abcC\n", "['abcC']", "abcC\n", "['abcC']") 33890455cfaSBram Moolenaar call Assert_regput('c', ['==', 'abcC', '==']) 33990455cfaSBram Moolenaar 34090455cfaSBram Moolenaar call setreg('C', 'abcCl', 'l') 34190455cfaSBram Moolenaar call Assert_reg('C', 'V', "abcC\nabcCl\n", "['abcC', 'abcCl']", "abcC\nabcCl\n", "['abcC', 'abcCl']") 34290455cfaSBram Moolenaar call Assert_regput('c', ['==', 'abcC', 'abcCl', '==']) 34390455cfaSBram Moolenaar 34490455cfaSBram Moolenaar call setreg('C', 'abcCc', 'c') 34590455cfaSBram Moolenaar call Assert_reg('C', 'v', "abcC\nabcCl\nabcCc", "['abcC', 'abcCl', 'abcCc']", "abcC\nabcCl\nabcCc", "['abcC', 'abcCl', 'abcCc']") 34690455cfaSBram Moolenaar call Assert_regput('c', ['==', '=abcC', 'abcCl', 'abcCc=']) 34790455cfaSBram Moolenaar 34890455cfaSBram Moolenaar call setreg('d', 'abcD', 'V') 34990455cfaSBram Moolenaar call Assert_reg('d', 'V', "abcD\n", "['abcD']", "abcD\n", "['abcD']") 35090455cfaSBram Moolenaar call Assert_regput('d', ['==', 'abcD', '==']) 35190455cfaSBram Moolenaar 35290455cfaSBram Moolenaar call setreg('D', 'abcDb', 'b') 35390455cfaSBram Moolenaar call Assert_reg('d', "\<C-V>5", "abcD\nabcDb", "['abcD', 'abcDb']", "abcD\nabcDb", "['abcD', 'abcDb']") 35490455cfaSBram Moolenaar call Assert_regput('d', ['==', '=abcD =', ' abcDb']) 35590455cfaSBram Moolenaar 35690455cfaSBram Moolenaar call setreg('e', 'abcE', 'b') 35790455cfaSBram Moolenaar call Assert_reg('e', "\<C-V>4", "abcE", "['abcE']", "abcE", "['abcE']") 35890455cfaSBram Moolenaar call Assert_regput('e', ['==', '=abcE=']) 35990455cfaSBram Moolenaar 36090455cfaSBram Moolenaar call setreg('E', 'abcEb', 'b') 36190455cfaSBram Moolenaar call Assert_reg('E', "\<C-V>5", "abcE\nabcEb", "['abcE', 'abcEb']", "abcE\nabcEb", "['abcE', 'abcEb']") 36290455cfaSBram Moolenaar call Assert_regput('e', ['==', '=abcE =', ' abcEb']) 36390455cfaSBram Moolenaar 36490455cfaSBram Moolenaar call setreg('E', 'abcEl', 'l') 36590455cfaSBram Moolenaar call Assert_reg('E', "V", "abcE\nabcEb\nabcEl\n", "['abcE', 'abcEb', 'abcEl']", "abcE\nabcEb\nabcEl\n", "['abcE', 'abcEb', 'abcEl']") 36690455cfaSBram Moolenaar call Assert_regput('e', ['==', 'abcE', 'abcEb', 'abcEl', '==']) 36790455cfaSBram Moolenaar 36890455cfaSBram Moolenaar call setreg('f', 'abcF', "\<C-v>") 36990455cfaSBram Moolenaar call Assert_reg('f', "\<C-V>4", "abcF", "['abcF']", "abcF", "['abcF']") 37090455cfaSBram Moolenaar call Assert_regput('f', ['==', '=abcF=']) 37190455cfaSBram Moolenaar 37290455cfaSBram Moolenaar call setreg('F', 'abcFc', 'c') 37390455cfaSBram Moolenaar call Assert_reg('F', "v", "abcF\nabcFc", "['abcF', 'abcFc']", "abcF\nabcFc", "['abcF', 'abcFc']") 37490455cfaSBram Moolenaar call Assert_regput('f', ['==', '=abcF', 'abcFc=']) 37590455cfaSBram Moolenaar 37690455cfaSBram Moolenaar call setreg('g', 'abcG', 'b10') 37790455cfaSBram Moolenaar call Assert_reg('g', "\<C-V>10", "abcG", "['abcG']", "abcG", "['abcG']") 37890455cfaSBram Moolenaar call Assert_regput('g', ['==', '=abcG =']) 37990455cfaSBram Moolenaar 38090455cfaSBram Moolenaar call setreg('h', 'abcH', "\<C-v>10") 38190455cfaSBram Moolenaar call Assert_reg('h', "\<C-V>10", "abcH", "['abcH']", "abcH", "['abcH']") 38290455cfaSBram Moolenaar call Assert_regput('h', ['==', '=abcH =']) 38390455cfaSBram Moolenaar 38490455cfaSBram Moolenaar call setreg('I', 'abcI') 38590455cfaSBram Moolenaar call Assert_reg('I', "v", "abcI", "['abcI']", "abcI", "['abcI']") 38690455cfaSBram Moolenaar call Assert_regput('I', ['==', '=abcI=']) 38790455cfaSBram Moolenaar 388339d60c8SBram Moolenaar " Appending NL with setreg() 389339d60c8SBram Moolenaar call setreg('a', 'abcA2', 'c') 390339d60c8SBram Moolenaar call setreg('b', 'abcB2', 'v') 391339d60c8SBram Moolenaar call setreg('c', 'abcC2', 'l') 392339d60c8SBram Moolenaar call setreg('d', 'abcD2', 'V') 393339d60c8SBram Moolenaar call setreg('e', 'abcE2', 'b') 394339d60c8SBram Moolenaar call setreg('f', 'abcF2', "\<C-v>") 395339d60c8SBram Moolenaar call setreg('g', 'abcG2', 'b10') 396339d60c8SBram Moolenaar call setreg('h', 'abcH2', "\<C-v>10") 397339d60c8SBram Moolenaar call setreg('I', 'abcI2') 398339d60c8SBram Moolenaar 399339d60c8SBram Moolenaar call setreg('A', "\n") 400339d60c8SBram Moolenaar call Assert_reg('A', 'V', "abcA2\n", "['abcA2']", "abcA2\n", "['abcA2']") 401339d60c8SBram Moolenaar call Assert_regput('A', ['==', 'abcA2', '==']) 402339d60c8SBram Moolenaar 403339d60c8SBram Moolenaar call setreg('B', "\n", 'c') 404339d60c8SBram Moolenaar call Assert_reg('B', 'v', "abcB2\n", "['abcB2', '']", "abcB2\n", "['abcB2', '']") 405339d60c8SBram Moolenaar call Assert_regput('B', ['==', '=abcB2', '=']) 406339d60c8SBram Moolenaar 407339d60c8SBram Moolenaar call setreg('C', "\n") 408339d60c8SBram Moolenaar call Assert_reg('C', 'V', "abcC2\n\n", "['abcC2', '']", "abcC2\n\n", "['abcC2', '']") 409339d60c8SBram Moolenaar call Assert_regput('C', ['==', 'abcC2', '', '==']) 410339d60c8SBram Moolenaar 411339d60c8SBram Moolenaar call setreg('D', "\n", 'l') 412339d60c8SBram Moolenaar call Assert_reg('D', 'V', "abcD2\n\n", "['abcD2', '']", "abcD2\n\n", "['abcD2', '']") 413339d60c8SBram Moolenaar call Assert_regput('D', ['==', 'abcD2', '', '==']) 414339d60c8SBram Moolenaar 415339d60c8SBram Moolenaar call setreg('E', "\n") 416339d60c8SBram Moolenaar call Assert_reg('E', 'V', "abcE2\n\n", "['abcE2', '']", "abcE2\n\n", "['abcE2', '']") 417339d60c8SBram Moolenaar call Assert_regput('E', ['==', 'abcE2', '', '==']) 418339d60c8SBram Moolenaar 419339d60c8SBram Moolenaar call setreg('F', "\n", 'b') 420339d60c8SBram Moolenaar call Assert_reg('F', "\<C-V>0", "abcF2\n", "['abcF2', '']", "abcF2\n", "['abcF2', '']") 421339d60c8SBram Moolenaar call Assert_regput('F', ['==', '=abcF2=', ' ']) 422339d60c8SBram Moolenaar 423339d60c8SBram Moolenaar " Setting lists with setreg() 424339d60c8SBram Moolenaar call setreg('a', ['abcA3'], 'c') 425339d60c8SBram Moolenaar call Assert_reg('a', 'v', "abcA3", "['abcA3']", "abcA3", "['abcA3']") 426339d60c8SBram Moolenaar call Assert_regput('a', ['==', '=abcA3=']) 427339d60c8SBram Moolenaar 428339d60c8SBram Moolenaar call setreg('b', ['abcB3'], 'l') 429339d60c8SBram Moolenaar call Assert_reg('b', 'V', "abcB3\n", "['abcB3']", "abcB3\n", "['abcB3']") 430339d60c8SBram Moolenaar call Assert_regput('b', ['==', 'abcB3', '==']) 431339d60c8SBram Moolenaar 432339d60c8SBram Moolenaar call setreg('c', ['abcC3'], 'b') 433339d60c8SBram Moolenaar call Assert_reg('c', "\<C-V>5", "abcC3", "['abcC3']", "abcC3", "['abcC3']") 434339d60c8SBram Moolenaar call Assert_regput('c', ['==', '=abcC3=']) 435339d60c8SBram Moolenaar 436339d60c8SBram Moolenaar call setreg('d', ['abcD3']) 437339d60c8SBram Moolenaar call Assert_reg('d', 'V', "abcD3\n", "['abcD3']", "abcD3\n", "['abcD3']") 438339d60c8SBram Moolenaar call Assert_regput('d', ['==', 'abcD3', '==']) 439339d60c8SBram Moolenaar 440339d60c8SBram Moolenaar call setreg('e', [1, 2, 'abc', 3]) 441339d60c8SBram Moolenaar call Assert_reg('e', 'V', "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']", "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']") 442339d60c8SBram Moolenaar call Assert_regput('e', ['==', '1', '2', 'abc', '3', '==']) 443339d60c8SBram Moolenaar 444339d60c8SBram Moolenaar call setreg('f', [1, 2, 3]) 445339d60c8SBram Moolenaar call Assert_reg('f', 'V', "1\n2\n3\n", "['1', '2', '3']", "1\n2\n3\n", "['1', '2', '3']") 446339d60c8SBram Moolenaar call Assert_regput('f', ['==', '1', '2', '3', '==']) 447339d60c8SBram Moolenaar 448339d60c8SBram Moolenaar " Appending lists with setreg() 449339d60c8SBram Moolenaar call setreg('A', ['abcA3c'], 'c') 450339d60c8SBram Moolenaar call Assert_reg('A', 'v', "abcA3\nabcA3c", "['abcA3', 'abcA3c']", "abcA3\nabcA3c", "['abcA3', 'abcA3c']") 451339d60c8SBram Moolenaar call Assert_regput('A', ['==', '=abcA3', 'abcA3c=']) 452339d60c8SBram Moolenaar 453339d60c8SBram Moolenaar call setreg('b', ['abcB3l'], 'la') 454339d60c8SBram Moolenaar call Assert_reg('b', 'V', "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']", "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']") 455339d60c8SBram Moolenaar call Assert_regput('b', ['==', 'abcB3', 'abcB3l', '==']) 456339d60c8SBram Moolenaar 457339d60c8SBram Moolenaar call setreg('C', ['abcC3b'], 'lb') 458339d60c8SBram Moolenaar call Assert_reg('C', "\<C-V>6", "abcC3\nabcC3b", "['abcC3', 'abcC3b']", "abcC3\nabcC3b", "['abcC3', 'abcC3b']") 459339d60c8SBram Moolenaar call Assert_regput('C', ['==', '=abcC3 =', ' abcC3b']) 460339d60c8SBram Moolenaar 461339d60c8SBram Moolenaar call setreg('D', ['abcD32']) 462339d60c8SBram Moolenaar call Assert_reg('D', 'V', "abcD3\nabcD32\n", "['abcD3', 'abcD32']", "abcD3\nabcD32\n", "['abcD3', 'abcD32']") 463339d60c8SBram Moolenaar call Assert_regput('D', ['==', 'abcD3', 'abcD32', '==']) 464339d60c8SBram Moolenaar 465339d60c8SBram Moolenaar call setreg('A', ['abcA32']) 466339d60c8SBram Moolenaar call Assert_reg('A', 'V', "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']", "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']") 467339d60c8SBram Moolenaar call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', '==']) 468339d60c8SBram Moolenaar 469339d60c8SBram Moolenaar call setreg('B', ['abcB3c'], 'c') 470339d60c8SBram Moolenaar call Assert_reg('B', 'v', "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']", "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']") 471339d60c8SBram Moolenaar call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c=']) 472339d60c8SBram Moolenaar 473339d60c8SBram Moolenaar call setreg('C', ['abcC3l'], 'l') 474339d60c8SBram Moolenaar call Assert_reg('C', 'V', "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']", "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']") 475339d60c8SBram Moolenaar call Assert_regput('C', ['==', 'abcC3', 'abcC3b', 'abcC3l', '==']) 476339d60c8SBram Moolenaar 477339d60c8SBram Moolenaar call setreg('D', ['abcD3b'], 'b') 478339d60c8SBram Moolenaar call Assert_reg('D', "\<C-V>6", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']") 479339d60c8SBram Moolenaar call Assert_regput('D', ['==', '=abcD3 =', ' abcD32', ' abcD3b']) 480339d60c8SBram Moolenaar 481339d60c8SBram Moolenaar " Appending lists with NL with setreg() 482339d60c8SBram Moolenaar call setreg('A', ["\n", 'abcA3l2'], 'l') 483339d60c8SBram Moolenaar call Assert_reg('A', "V", "abcA3\nabcA3c\nabcA32\n\n\nabcA3l2\n", "['abcA3', 'abcA3c', 'abcA32', '\n', 'abcA3l2']", "abcA3\nabcA3c\nabcA32\n\n\nabcA3l2\n", "['abcA3', 'abcA3c', 'abcA32', '\n', 'abcA3l2']") 484339d60c8SBram Moolenaar call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', "\n", 'abcA3l2', '==']) 485339d60c8SBram Moolenaar 486339d60c8SBram Moolenaar call setreg('B', ["\n", 'abcB3c2'], 'c') 487339d60c8SBram Moolenaar call Assert_reg('B', "v", "abcB3\nabcB3l\nabcB3c\n\n\nabcB3c2", "['abcB3', 'abcB3l', 'abcB3c', '\n', 'abcB3c2']", "abcB3\nabcB3l\nabcB3c\n\n\nabcB3c2", "['abcB3', 'abcB3l', 'abcB3c', '\n', 'abcB3c2']") 488339d60c8SBram Moolenaar call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c', "\n", 'abcB3c2=']) 489339d60c8SBram Moolenaar 490339d60c8SBram Moolenaar call setreg('C', ["\n", 'abcC3b2'], 'b') 491339d60c8SBram Moolenaar call Assert_reg('C', "7", "abcC3\nabcC3b\nabcC3l\n\n\nabcC3b2", "['abcC3', 'abcC3b', 'abcC3l', '\n', 'abcC3b2']", "abcC3\nabcC3b\nabcC3l\n\n\nabcC3b2", "['abcC3', 'abcC3b', 'abcC3l', '\n', 'abcC3b2']") 492339d60c8SBram Moolenaar call Assert_regput('C', ['==', '=abcC3 =', ' abcC3b', ' abcC3l', " \n", ' abcC3b2']) 493339d60c8SBram Moolenaar 494339d60c8SBram Moolenaar call setreg('D', ["\n", 'abcD3b50'],'b50') 495339d60c8SBram Moolenaar call Assert_reg('D', "50", "abcD3\nabcD32\nabcD3b\n\n\nabcD3b50", "['abcD3', 'abcD32', 'abcD3b', '\n', 'abcD3b50']", "abcD3\nabcD32\nabcD3b\n\n\nabcD3b50", "['abcD3', 'abcD32', 'abcD3b', '\n', 'abcD3b50']") 496339d60c8SBram Moolenaar call Assert_regput('D', ['==', '=abcD3 =', ' abcD32', ' abcD3b', " \n", ' abcD3b50']) 497339d60c8SBram Moolenaar 498339d60c8SBram Moolenaar " Setting lists with NLs with setreg() 499339d60c8SBram Moolenaar call setreg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"]) 500339d60c8SBram Moolenaar call Assert_reg('a', "V", "abcA4-0\n\n\nabcA4-2\n\n\nabcA4-3\nabcA4-4\nabcA4-4-2\n", "['abcA4-0', '\n', 'abcA4-2\n', '\nabcA4-3', 'abcA4-4\nabcA4-4-2']", "abcA4-0\n\n\nabcA4-2\n\n\nabcA4-3\nabcA4-4\nabcA4-4-2\n", "['abcA4-0', '\n', 'abcA4-2\n', '\nabcA4-3', 'abcA4-4\nabcA4-4-2']") 501339d60c8SBram Moolenaar call Assert_regput('a', ['==', 'abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2", '==']) 502339d60c8SBram Moolenaar 503339d60c8SBram Moolenaar call setreg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c') 504339d60c8SBram Moolenaar call Assert_reg('b', "v", "abcB4c-0\n\n\nabcB4c-2\n\n\nabcB4c-3\nabcB4c-4\nabcB4c-4-2", "['abcB4c-0', '\n', 'abcB4c-2\n', '\nabcB4c-3', 'abcB4c-4\nabcB4c-4-2']", "abcB4c-0\n\n\nabcB4c-2\n\n\nabcB4c-3\nabcB4c-4\nabcB4c-4-2", "['abcB4c-0', '\n', 'abcB4c-2\n', '\nabcB4c-3', 'abcB4c-4\nabcB4c-4-2']") 505339d60c8SBram Moolenaar call Assert_regput('b', ['==', '=abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2="]) 506339d60c8SBram Moolenaar 507339d60c8SBram Moolenaar call setreg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l') 508339d60c8SBram Moolenaar call Assert_reg('c', "V", "abcC4l-0\n\n\nabcC4l-2\n\n\nabcC4l-3\nabcC4l-4\nabcC4l-4-2\n", "['abcC4l-0', '\n', 'abcC4l-2\n', '\nabcC4l-3', 'abcC4l-4\nabcC4l-4-2']", "abcC4l-0\n\n\nabcC4l-2\n\n\nabcC4l-3\nabcC4l-4\nabcC4l-4-2\n", "['abcC4l-0', '\n', 'abcC4l-2\n', '\nabcC4l-3', 'abcC4l-4\nabcC4l-4-2']") 509339d60c8SBram Moolenaar call Assert_regput('c', ['==', 'abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2", '==']) 510339d60c8SBram Moolenaar 511339d60c8SBram Moolenaar call setreg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b') 512339d60c8SBram Moolenaar call Assert_reg('d', "19", "abcD4b-0\n\n\nabcD4b-2\n\n\nabcD4b-3\nabcD4b-4\nabcD4b-4-2", "['abcD4b-0', '\n', 'abcD4b-2\n', '\nabcD4b-3', 'abcD4b-4\nabcD4b-4-2']", "abcD4b-0\n\n\nabcD4b-2\n\n\nabcD4b-3\nabcD4b-4\nabcD4b-4-2", "['abcD4b-0', '\n', 'abcD4b-2\n', '\nabcD4b-3', 'abcD4b-4\nabcD4b-4-2']") 513339d60c8SBram Moolenaar call Assert_regput('d', ['==', '=abcD4b-0 =', " \n", " abcD4b-2\n", " \nabcD4b-3", " abcD4b-4\nabcD4b-4-2"]) 514339d60c8SBram Moolenaar 515339d60c8SBram Moolenaar call setreg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10') 516339d60c8SBram Moolenaar call Assert_reg('e', "10", "abcE4b10-0\n\n\nabcE4b10-2\n\n\nabcE4b10-3\nabcE4b10-4\nabcE4b10-4-2", "['abcE4b10-0', '\n', 'abcE4b10-2\n', '\nabcE4b10-3', 'abcE4b10-4\nabcE4b10-4-2']", "abcE4b10-0\n\n\nabcE4b10-2\n\n\nabcE4b10-3\nabcE4b10-4\nabcE4b10-4-2", "['abcE4b10-0', '\n', 'abcE4b10-2\n', '\nabcE4b10-3', 'abcE4b10-4\nabcE4b10-4-2']") 517339d60c8SBram Moolenaar call Assert_regput('e', ['==', '=abcE4b10-0=', " \n", " abcE4b10-2\n", " \nabcE4b10-3", " abcE4b10-4\nabcE4b10-4-2"]) 518339d60c8SBram Moolenaar 519339d60c8SBram Moolenaar " Search and expressions 520339d60c8SBram Moolenaar call setreg('/', ['abc/']) 521339d60c8SBram Moolenaar call Assert_reg('/', 'v', "abc/", "['abc/']", "abc/", "['abc/']") 522339d60c8SBram Moolenaar call Assert_regput('/', ['==', '=abc/=']) 523339d60c8SBram Moolenaar 524339d60c8SBram Moolenaar call setreg('/', ["abc/\n"]) 525339d60c8SBram Moolenaar call Assert_reg('/', 'v', "abc/\n", "['abc/\n']", "abc/\n", "['abc/\n']") 526339d60c8SBram Moolenaar call Assert_regput('/', ['==', "=abc/\n="]) 527339d60c8SBram Moolenaar 528339d60c8SBram Moolenaar call setreg('=', ['"abc/"']) 529339d60c8SBram Moolenaar call Assert_reg('=', 'v', "abc/", "['abc/']", '"abc/"', "['\"abc/\"']") 530339d60c8SBram Moolenaar 531339d60c8SBram Moolenaar call setreg('=', ["\"abc/\n\""]) 532339d60c8SBram Moolenaar call Assert_reg('=', 'v', "abc/\n", "['abc/\n']", "\"abc/\n\"", "['\"abc/\n\"']") 533339d60c8SBram Moolenaar 534339d60c8SBram Moolenaar " System clipboard 535339d60c8SBram Moolenaar if has('clipboard') 536339d60c8SBram Moolenaar new | only! 537339d60c8SBram Moolenaar call setline(1, ['clipboard contents', 'something else']) 538339d60c8SBram Moolenaar " Save and restore system clipboard. 539339d60c8SBram Moolenaar " If no connection to X-Server is possible, test should succeed. 540339d60c8SBram Moolenaar let _clipreg = ['*', getreg('*'), getregtype('*')] 541339d60c8SBram Moolenaar let _clipopt = &cb 542339d60c8SBram Moolenaar let &cb='unnamed' 543339d60c8SBram Moolenaar 1y 544339d60c8SBram Moolenaar call Assert_reg('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']") 545339d60c8SBram Moolenaar tabdo :windo :echo "hi" 546339d60c8SBram Moolenaar 2y 547339d60c8SBram Moolenaar call Assert_reg('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']") 548339d60c8SBram Moolenaar let &cb=_clipopt 549339d60c8SBram Moolenaar call call('setreg', _clipreg) 550339d60c8SBram Moolenaar enew! 551339d60c8SBram Moolenaar endif 552339d60c8SBram Moolenaar 55308f4157cSBram Moolenaar " Error cases 55408f4157cSBram Moolenaar call assert_fails('call setreg()', 'E119:') 55508f4157cSBram Moolenaar call assert_fails('call setreg(1)', 'E119:') 55608f4157cSBram Moolenaar call assert_fails('call setreg(1, 2, 3, 4)', 'E118:') 55708f4157cSBram Moolenaar call assert_fails('call setreg([], 2)', 'E730:') 55808f4157cSBram Moolenaar call assert_fails('call setreg(1, 2, [])', 'E730:') 55908f4157cSBram Moolenaar call assert_fails('call setreg("/", ["1", "2"])', 'E883:') 56008f4157cSBram Moolenaar call assert_fails('call setreg("=", ["1", "2"])', 'E883:') 56108f4157cSBram Moolenaar call assert_fails('call setreg(1, ["", "", [], ""])', 'E730:') 56208f4157cSBram Moolenaarendfunc 56390455cfaSBram Moolenaar 564ae95a394SBram Moolenaarfunc Test_curly_assignment() 565ae95a394SBram Moolenaar let s:svar = 'svar' 566ae95a394SBram Moolenaar let g:gvar = 'gvar' 567ae95a394SBram Moolenaar let lname = 'gvar' 568ae95a394SBram Moolenaar let gname = 'gvar' 569ae95a394SBram Moolenaar let {'s:'.lname} = {'g:'.gname} 570ae95a394SBram Moolenaar call assert_equal('gvar', s:gvar) 571ae95a394SBram Moolenaar let s:gvar = '' 572ae95a394SBram Moolenaar let { 's:'.lname } = { 'g:'.gname } 573ae95a394SBram Moolenaar call assert_equal('gvar', s:gvar) 574ae95a394SBram Moolenaar let s:gvar = '' 575ae95a394SBram Moolenaar let { 's:' . lname } = { 'g:' . gname } 576ae95a394SBram Moolenaar call assert_equal('gvar', s:gvar) 577ae95a394SBram Moolenaar let s:gvar = '' 578ae95a394SBram Moolenaar let { 's:' .. lname } = { 'g:' .. gname } 579ae95a394SBram Moolenaar call assert_equal('gvar', s:gvar) 580ae95a394SBram Moolenaar 581ae95a394SBram Moolenaar unlet s:svar 582ae95a394SBram Moolenaar unlet s:gvar 583ae95a394SBram Moolenaar unlet g:gvar 584ae95a394SBram Moolenaarendfunc 585ae95a394SBram Moolenaar 5868b633135SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 587