diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 613b868..c3db6fe 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -84,7 +84,6 @@
 	test_listchars.out \
 	test_listlbr.out \
 	test_search_mbyte.out \
-	test_utf8.out \
 	test_wordcount.out
 
 
diff --git a/src/testdir/test_alot_utf8.vim b/src/testdir/test_alot_utf8.vim
index 539e0e1..90b2aab 100644
--- a/src/testdir/test_alot_utf8.vim
+++ b/src/testdir/test_alot_utf8.vim
@@ -9,3 +9,4 @@
 source test_matchadd_conceal_utf8.vim
 source test_regexp_utf8.vim
 source test_source_utf8.vim
+source test_utf8.vim
diff --git a/src/testdir/test_utf8.in b/src/testdir/test_utf8.in
deleted file mode 100644
index 1d6a7a4..0000000
--- a/src/testdir/test_utf8.in
+++ /dev/null
@@ -1,46 +0,0 @@
-Tests for Unicode manipulations                vim: set ft=vim :
- 
-STARTTEST
-:so small.vim
-:set encoding=utf-8
-:"
-:" Visual block Insert adjusts for multi-byte char
-:new
-:call setline(1, ["aaa", "あああ", "bbb"])
-:exe ":norm! gg0l\<C-V>jjIx\<Esc>"
-:let r = getline(1, '$')
-:"
-:bwipeout!
-:$put=r
-:"
-:" Test for built-in function strchars()
-:for str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
-:	$put=strchars(str)
-:	$put=strchars(str, 0)
-:	$put=strchars(str, 1)
-:endfor
-:"
-:" Test for customlist completion
-:function! CustomComplete1(lead, line, pos)
-:	return ['あ', 'い']
-:endfunction
-:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
-:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
-:"
-:function! CustomComplete2(lead, line, pos)
-:	return ['あたし', 'あたま', 'あたりめ']
-:endfunction
-:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
-:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
-:"
-:function! CustomComplete3(lead, line, pos)
-:	return ['Nこ', 'Nん', 'Nぶ']
-:endfunction
-:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
-:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
-:"
-:call garbagecollect(1)
-:/^start:/,$wq! test.out
-ENDTEST
- 
-start:
diff --git a/src/testdir/test_utf8.ok b/src/testdir/test_utf8.ok
deleted file mode 100644
index c655922..0000000
--- a/src/testdir/test_utf8.ok
+++ /dev/null
@@ -1,22 +0,0 @@
-start:
-axaa
-xあああ
-bxbb
-1
-1
-1
-3
-3
-3
-2
-2
-1
-3
-3
-1
-1
-1
-1
-Test1 
-Test2 あた
-Test3 N
diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim
new file mode 100644
index 0000000..24e3db8
--- /dev/null
+++ b/src/testdir/test_utf8.vim
@@ -0,0 +1,65 @@
+" Tests for Unicode manipulations
+if !has('multi_byte')
+  finish
+endif
+ 
+
+" Visual block Insert adjusts for multi-byte char
+func Test_visual_block_insert()
+  new
+  call setline(1, ["aaa", "あああ", "bbb"])
+  exe ":norm! gg0l\<C-V>jjIx\<Esc>"
+  call assert_equal(['axaa', 'xあああ', 'bxbb'], getline(1, '$'))
+  bwipeout!
+endfunc
+
+" Test for built-in function strchars()
+func Test_strchars()
+  let inp = ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
+  let exp = [[1, 1, 1], [3, 3, 3], [2, 2, 1], [3, 3, 1], [1, 1, 1]]
+  for i in range(len(inp))
+    call assert_equal(exp[i][0], strchars(inp[i]))
+    call assert_equal(exp[i][1], strchars(inp[i], 0))
+    call assert_equal(exp[i][2], strchars(inp[i], 1))
+  endfor
+endfunc
+
+" Test for customlist completion
+function! CustomComplete1(lead, line, pos)
+	return ['あ', 'い']
+endfunction
+
+function! CustomComplete2(lead, line, pos)
+	return ['あたし', 'あたま', 'あたりめ']
+endfunction
+
+function! CustomComplete3(lead, line, pos)
+	return ['Nこ', 'Nん', 'Nぶ']
+endfunction
+
+func Test_customlist_completion()
+  command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
+  call feedkeys(":Test1 \<C-L>\<C-B>\"\<CR>", 'itx')
+  call assert_equal('"Test1 ', getreg(':'))
+
+  command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
+  call feedkeys(":Test2 \<C-L>\<C-B>\"\<CR>", 'itx')
+  call assert_equal('"Test2 あた', getreg(':'))
+
+  command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
+  call feedkeys(":Test3 \<C-L>\<C-B>\"\<CR>", 'itx')
+  call assert_equal('"Test3 N', getreg(':'))
+
+  call garbagecollect(1)
+endfunc
+
+" Yank one 3 byte character and check the mark columns.
+func Test_getvcol()
+  new
+  call setline(1, "x\u2500x")
+  normal 0lvy
+  call assert_equal(2, col("'["))
+  call assert_equal(4, col("']"))
+  call assert_equal(2, virtcol("'["))
+  call assert_equal(2, virtcol("']"))
+endfunc
