1" Test the netbeans interface. 2 3source check.vim 4CheckFeature netbeans_intg 5 6source shared.vim 7 8let s:python = PythonProg() 9if s:python == '' 10 throw 'Skipped: python program missing' 11endif 12 13" Run "testfunc" after starting the server and stop the server afterwards. 14func s:run_server(testfunc, ...) 15 call RunServer('test_netbeans.py', a:testfunc, a:000) 16endfunc 17 18func Nb_basic(port) 19 call delete("Xnetbeans") 20 call writefile([], "Xnetbeans") 21 call writefile(repeat(['abcdefghijklmnopqrstuvwxyz'], 5), "XREADME.txt") 22 exe 'nbstart :localhost:' . a:port . ':bunny' 23 call assert_true(has("netbeans_enabled")) 24 25 call WaitFor('len(readfile("Xnetbeans")) > 2') 26 split +$ XREADME.txt 27 28 " Opening XREADME.txt will result in a setDot command 29 call WaitFor('len(readfile("Xnetbeans")) > 4') 30 call WaitFor('getcurpos()[1] == 3') 31 let pos = getcurpos() 32 call assert_equal(3, pos[1]) 33 call assert_equal(20, pos[2]) 34 close 35 nbclose 36 37 call WaitFor('len(readfile("Xnetbeans")) > 6') 38 call assert_false(has("netbeans_enabled")) 39 let lines = readfile("Xnetbeans") 40 call assert_equal('AUTH bunny', lines[0]) 41 call assert_equal('0:version=0 "2.5"', lines[1]) 42 call assert_equal('0:startupDone=0', lines[2]) 43 call assert_equal('0:fileOpened=0 "XREADME.txt" T F', substitute(lines[3], '".*/', '"', '')) 44 45 call assert_equal('0:disconnect=1', lines[6]) 46 47 call delete("Xnetbeans") 48 call delete("XREADME.txt") 49endfunc 50 51func Test_nb_basic() 52 call ch_log('Test_nb_basic') 53 call s:run_server('Nb_basic') 54endfunc 55 56func Nb_file_auth(port) 57 call delete("Xnetbeans") 58 call writefile([], "Xnetbeans") 59 60 call assert_fails('nbstart =notexist', 'E660:') 61 call writefile(['host=localhost', 'port=' . a:port, 'auth=bunny'], 'Xnbauth') 62 if has('unix') 63 call setfperm('Xnbauth', "rw-r--r--") 64 call assert_fails('nbstart =Xnbauth', 'E668:') 65 endif 66 call setfperm('Xnbauth', "rw-------") 67 exe 'nbstart =Xnbauth' 68 call assert_true(has("netbeans_enabled")) 69 70 call WaitFor('len(readfile("Xnetbeans")) > 2') 71 nbclose 72 let lines = readfile("Xnetbeans") 73 call assert_equal('AUTH bunny', lines[0]) 74 call assert_equal('0:version=0 "2.5"', lines[1]) 75 call assert_equal('0:startupDone=0', lines[2]) 76 77 call delete("Xnbauth") 78 call delete("Xnetbeans") 79endfunc 80 81func Test_nb_file_auth() 82 call ch_log('Test_nb_file_auth') 83 call s:run_server('Nb_file_auth') 84endfunc 85