1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
" 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
|