1 Smoke test for MzScheme interface and mzeval() function
5 :set nocompatible viminfo+=nviminfo
10 :if strpart(l:mzversion, 1, 1) < "4"
11 :" MzScheme versions < 4.x:
12 :mz (require (prefix vim- vimext))
15 :mz (require (prefix-in vim- 'vimext))
19 :silent call MzRequire()
20 :mz (define l '("item0" "dictionary with list OK" "item2"))
21 :mz (define h (make-hash))
22 :mz (hash-set! h "list" l)
24 :" change buffer contents
25 :mz (vim-set-buff-line (vim-eval "line('.')") "1 changed line 1")
27 :let tmp_string = mzeval('"string"')
28 :let tmp_1000 = mzeval('1000')
29 :if tmp_string . tmp_1000 == "string1000"
30 :let scalar_res = "OK"
32 :let scalar_res = "FAILED"
34 :call append(search("^1"), "scalar test " . scalar_res)
35 :" dictionary containing a list
36 :let tmp = mzeval("h")["list"][1]
38 :" circular list (at the same time test lists containing lists)
39 :mz (set-car! (cddr l) l)
40 :let l2 = mzeval("h")["list"]
46 :call setline(search("^3"), "circular test " . res)