diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-01-19 15:55:06 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-01-19 15:55:06 +0100 |
commit | 7e506b6a420588b01dbcbed9ad968b0e6d6a8785 (patch) | |
tree | 80a1e4822f8dc3fe008dc8de530966e15fd507b1 /src/testdir/test70.in | |
parent | 6d8027a6c2b80318ca154ca6cde0fd930f149f03 (diff) |
updated for version 7.2.336v7.2.336
Problem: MzScheme interface can't evaluate an expression.
Solution: Add mzeval(). (Sergey Khorev)
Diffstat (limited to 'src/testdir/test70.in')
-rw-r--r-- | src/testdir/test70.in | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/testdir/test70.in b/src/testdir/test70.in new file mode 100644 index 0000000000..01f43eafb7 --- /dev/null +++ b/src/testdir/test70.in @@ -0,0 +1,53 @@ +Smoke test for MzScheme interface and mzeval() function + +STARTTEST +:so mzscheme.vim +:set nocompatible viminfo+=nviminfo +:function! MzRequire() +:redir => l:mzversion +:mz (version) +:redir END +:if strpart(l:mzversion, 1, 1) < "4" +:" MzScheme versions < 4.x: +:mz (require (prefix vim- vimext)) +:else +:" newer versions: +:mz (require (prefix-in vim- 'vimext)) +:mz (require r5rs) +:endif +:endfunction +:silent call MzRequire() +:mz (define l '("item0" "dictionary with list OK" "item2")) +:mz (define h (make-hash)) +:mz (hash-set! h "list" l) +/^1 +:" change buffer contents +:mz (vim-set-buff-line (vim-eval "line('.')") "1 changed line 1") +:" scalar test +:let tmp_string = mzeval('"string"') +:let tmp_1000 = mzeval('1000') +:if tmp_string . tmp_1000 == "string1000" +:let scalar_res = "OK" +:else +:let scalar_res = "FAILED" +:endif +:call append(search("^1"), "scalar test " . scalar_res) +:" dictionary containing a list +:let tmp = mzeval("h")["list"][1] +:/^2/put =tmp +:" circular list (at the same time test lists containing lists) +:mz (set-car! (cddr l) l) +:let l2 = mzeval("h")["list"] +:if l2[2] == l2 +:let res = "OK" +:else +:let res = "FAILED" +:endif +:call setline(search("^3"), "circular test " . res) +:?^1?,$w! test.out +:qa! +ENDTEST + +1 line 1 +2 line 2 +3 line 3 |