blob: 106ccb48c3ed59038aaa58e95b880a52cc947148 [file] [log] [blame]
" 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