summaryrefslogtreecommitdiff
path: root/src/testdir/test70.in
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-01-19 15:55:06 +0100
committerBram Moolenaar <Bram@vim.org>2010-01-19 15:55:06 +0100
commit7e506b6a420588b01dbcbed9ad968b0e6d6a8785 (patch)
tree80a1e4822f8dc3fe008dc8de530966e15fd507b1 /src/testdir/test70.in
parent6d8027a6c2b80318ca154ca6cde0fd930f149f03 (diff)
downloadvim-git-7e506b6a420588b01dbcbed9ad968b0e6d6a8785.tar.gz
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.in53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/testdir/test70.in b/src/testdir/test70.in
new file mode 100644
index 000000000..01f43eafb
--- /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