annotate src/testdir/test34.in @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children c16898406ff2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 Test for user functions.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 Also test an <expr> mapping calling a function.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 STARTTEST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 :so small.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 :function Table(title, ...)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 : let ret = a:title
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 : let idx = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 : while idx <= a:0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 : exe "let ret = ret . a:" . idx
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 : let idx = idx + 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 : endwhile
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 : return ret
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 :endfunction
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 :function Compute(n1, n2, divname)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 : if a:n2 == 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 : return "fail"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 : endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 : exe "let g:" . a:divname . " = ". a:n1 / a:n2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 : return "ok"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 :endfunction
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 :func Expr1()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 : normal! v
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 : return "111"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 :endfunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 :func Expr2()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 : call search('XX', 'b')
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 : return "222"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 :endfunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 :func ListItem()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 : let g:counter += 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 : return g:counter . '. '
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 :endfunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 :func ListReset()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 : let g:counter = 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 : return ''
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 :endfunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 :let counter = 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 :inoremap <expr> ( ListItem()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 :inoremap <expr> [ ListReset()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 :imap <expr> + Expr1()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 :imap <expr> * Expr2()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 :let retval = "nop"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 /^here
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 C=Table("xxx", 4, "asdf")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 =Compute(45, 0, "retval")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 =retval
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 =Compute(45, 5, "retval")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 =retval
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 XX+-XX
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 ---*---
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 (one
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 (two
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 [(one again:$-5,$w! test.out
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 :delfunc Table
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 :delfunc Compute
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 :delfunc Expr1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 :delfunc Expr2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 :delfunc ListItem
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 :delfunc ListReset
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 :unlet retval counter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 :q!
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 ENDTEST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 here