Mercurial > vim
view src/testdir/test_netbeans.vim @ 17444:f4ce361bb1e5 v8.1.1720
patch 8.1.1720: crash with very long %[] pattern
commit https://github.com/vim/vim/commit/2a5b52758bb327b89d22660cc28c157ec29782e5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 20 18:56:06 2019 +0200
patch 8.1.1720: crash with very long %[] pattern
Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani)
Solution: Check for reg_toolong. (closes https://github.com/vim/vim/issues/4703)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 20 Jul 2019 19:00:06 +0200 |
parents | 8e9e9124c7a2 |
children | 2ef19eed524a |
line wrap: on
line source
" Test the netbeans interface. source check.vim CheckFeature netbeans_intg source shared.vim let s:python = PythonProg() if s:python == '' throw 'Skipped: python program missing' endif " Run "testfunc" after sarting the server and stop the server afterwards. func s:run_server(testfunc, ...) call RunServer('test_netbeans.py', a:testfunc, a:000) endfunc func Nb_basic(port) call delete("Xnetbeans") call writefile([], "Xnetbeans") call writefile(repeat(['abcdefghijklmnopqrstuvwxyz'], 5), "XREADME.txt") exe 'nbstart :localhost:' . a:port . ':bunny' call assert_true(has("netbeans_enabled")) call WaitFor('len(readfile("Xnetbeans")) > 2') split +$ XREADME.txt " Opening XREADME.txt will result in a setDot command call WaitFor('len(readfile("Xnetbeans")) > 4') call WaitFor('getcurpos()[1] == 3') let pos = getcurpos() call assert_equal(3, pos[1]) call assert_equal(20, pos[2]) close nbclose call WaitFor('len(readfile("Xnetbeans")) > 6') call assert_false(has("netbeans_enabled")) let lines = readfile("Xnetbeans") call assert_equal('AUTH bunny', lines[0]) call assert_equal('0:version=0 "2.5"', lines[1]) call assert_equal('0:startupDone=0', lines[2]) call assert_equal('0:fileOpened=0 "XREADME.txt" T F', substitute(lines[3], '".*/', '"', '')) call assert_equal('0:disconnect=1', lines[6]) call delete("Xnetbeans") call delete("XREADME.txt") endfunc func Test_nb_basic() call ch_log('Test_nb_basic') call s:run_server('Nb_basic') endfunc func Nb_file_auth(port) call delete("Xnetbeans") call writefile([], "Xnetbeans") call assert_fails('nbstart =notexist', 'E660:') call writefile(['host=localhost', 'port=' . a:port, 'auth=bunny'], 'Xnbauth') if has('unix') call setfperm('Xnbauth', "rw-r--r--") call assert_fails('nbstart =Xnbauth', 'E668:') endif call setfperm('Xnbauth', "rw-------") exe 'nbstart =Xnbauth' call assert_true(has("netbeans_enabled")) call WaitFor('len(readfile("Xnetbeans")) > 2') nbclose let lines = readfile("Xnetbeans") call assert_equal('AUTH bunny', lines[0]) call assert_equal('0:version=0 "2.5"', lines[1]) call assert_equal('0:startupDone=0', lines[2]) call delete("Xnbauth") call delete("Xnetbeans") endfunc func Test_nb_file_auth() call ch_log('Test_nb_file_auth') call s:run_server('Nb_file_auth') endfunc