patch 7.4.1951
Problem: Ruby test is old style.
Solution: Convert to a new style test. (Ken Takata)
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 2dbdc32..a22a76f 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -106,7 +106,6 @@
test_marks.out \
test_nested_function.out \
test_options.out \
- test_ruby.out \
test_search_mbyte.out \
test_signs.out \
test_tagcase.out \
@@ -180,6 +179,7 @@
test_packadd.res \
test_perl.res \
test_quickfix.res \
+ test_ruby.res \
test_syntax.res \
test_usercommands.res \
test_viminfo.res \
diff --git a/src/testdir/test_ruby.in b/src/testdir/test_ruby.in
deleted file mode 100644
index 71d21eb..0000000
--- a/src/testdir/test_ruby.in
+++ /dev/null
@@ -1,25 +0,0 @@
-Tests for ruby interface. vim: set ft=vim :
-
-STARTTEST
-:so small.vim
-:set nocompatible viminfo+=nviminfo
-:if !has('ruby') | e! test.ok | wq! test.out | endif
-:" change buffer contents
-:ruby VIM.command("normal /^1\n")
-:ruby $curbuf.line = "1 changed line 1"
-:" evaluate a List
-:ruby VIM.command("normal /^2\n")
-:let l = ["abc", "def"]
-:ruby << EOF
-curline = $curbuf.line_number
-l = VIM.evaluate("l");
-$curbuf.append(curline, l.join("\n"))
-EOF
-:normal j
-:.rubydo $_ = $_.gsub(/\n/, '/')
-:?^1?,$w! test.out
-:qa!
-ENDTEST
-
-1 line 1
-2 line 2
diff --git a/src/testdir/test_ruby.ok b/src/testdir/test_ruby.ok
deleted file mode 100644
index a217efd..0000000
--- a/src/testdir/test_ruby.ok
+++ /dev/null
@@ -1,3 +0,0 @@
-1 changed line 1
-2 line 2
-abc/def
diff --git a/src/testdir/test_ruby.vim b/src/testdir/test_ruby.vim
new file mode 100644
index 0000000..106ccb4
--- /dev/null
+++ b/src/testdir/test_ruby.vim
@@ -0,0 +1,34 @@
+" Tests for ruby interface
+
+if !has('ruby')
+ finish
+end
+
+func Test_ruby_change_buffer()
+ call setline(line('$'), ['1 line 1'])
+ ruby Vim.command("normal /^1\n")
+ ruby $curbuf.line = "1 changed line 1"
+ call assert_equal('1 changed line 1', getline('$'))
+endfunc
+
+func Test_ruby_evaluate_list()
+ call setline(line('$'), ['2 line 2'])
+ ruby Vim.command("normal /^2\n")
+ let l = ["abc", "def"]
+ ruby << EOF
+ curline = $curbuf.line_number
+ l = Vim.evaluate("l");
+ $curbuf.append(curline, l.join("\n"))
+EOF
+ normal j
+ .rubydo $_ = $_.gsub(/\n/, '/')
+ call assert_equal('abc/def', getline('$'))
+endfunc
+
+func Test_ruby_evaluate_dict()
+ let d = {'a': 'foo', 'b': 123}
+ redir => l:out
+ ruby d = Vim.evaluate("d"); print d
+ redir END
+ call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n"))
+endfunc