changeset 9338:f23feeba7549 v7.4.1951

commit https://github.com/vim/vim/commit/85babd6db65afb0eb06a7a9a0778d692248c5c2b Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 21 22:59:28 2016 +0200 patch 7.4.1951 Problem: Ruby test is old style. Solution: Convert to a new style test. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Tue, 21 Jun 2016 23:00:07 +0200
parents 96aa780cc79c
children e6d1685a78bd
files src/Makefile src/testdir/Make_all.mak src/testdir/test_ruby.in src/testdir/test_ruby.ok src/testdir/test_ruby.vim src/version.c
diffstat 6 files changed, 41 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/src/Makefile
+++ b/src/Makefile
@@ -1986,7 +1986,6 @@ test1 \
 	test_marks \
 	test_nested_function \
 	test_options \
-	test_ruby \
 	test_search_mbyte \
 	test_signs \
 	test_tagcase \
@@ -2015,6 +2014,7 @@ test_arglist \
 	test_backspace_opt \
 	test_cdo \
 	test_channel \
+	test_cmdline \
 	test_cursor_func \
 	test_delete \
 	test_ex_undo \
@@ -2035,6 +2035,7 @@ test_arglist \
 	test_json \
 	test_langmap \
 	test_lispwords \
+	test_man \
 	test_matchadd_conceal \
 	test_matchadd_conceal_utf8 \
 	test_matchstrpos \
@@ -2047,12 +2048,14 @@ test_arglist \
 	test_regexp_latin \
 	test_regexp_utf8 \
 	test_reltime \
+	test_ruby \
 	test_searchpos \
 	test_set \
 	test_sort \
 	test_statusline \
 	test_syn_attr \
 	test_syntax \
+	test_usercommands \
 	test_tabline \
 	test_tagjump \
 	test_timers \
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -106,7 +106,6 @@ SCRIPTS_ALL = \
 	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 @@ NEW_TESTS = test_arglist.res \
 	    test_packadd.res \
 	    test_perl.res \
 	    test_quickfix.res \
+	    test_ruby.res \
 	    test_syntax.res \
 	    test_usercommands.res \
 	    test_viminfo.res \
deleted file mode 100644
--- 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
deleted file mode 100644
--- a/src/testdir/test_ruby.ok
+++ /dev/null
@@ -1,3 +0,0 @@
-1 changed line 1
-2 line 2
-abc/def
new file mode 100644
--- /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
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1951,
+/**/
     1950,
 /**/
     1949,