diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index e09bcaa..088ec5c 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
@@ -199,14 +199,69 @@
   call assert_fails('diffget', 'E101:')
 
   windo diffoff
-  bwipe!
-  bwipe!
-  enew!
+  %bwipe!
+endfunc
+
+func Test_dp_do_buffer()
+  e! one
+  let bn1=bufnr('%')
+  let l = range(60)
+  call setline(1, l)
+  diffthis
+
+  new two
+  let l[10] = 'one'
+  let l[20] = 'two'
+  let l[30] = 'three'
+  let l[40] = 'four'
+  let l[50] = 'five'
+  call setline(1, l)
+  diffthis
+
+  " dp and do with invalid buffer number.
+  11
+  call assert_fails('norm 99999dp', 'E102:')
+  call assert_fails('norm 99999do', 'E102:')
+  call assert_fails('diffput non_existing_buffer', 'E94:')
+  call assert_fails('diffget non_existing_buffer', 'E94:')
+
+  " dp and do with valid buffer number.
+  call assert_equal('one', getline('.'))
+  exe 'norm ' . bn1 . 'do'
+  call assert_equal('10', getline('.'))
+  21
+  call assert_equal('two', getline('.'))
+  diffget one
+  call assert_equal('20', getline('.'))
+
+  31
+  exe 'norm ' . bn1 . 'dp'
+  41
+  diffput one
+  wincmd w
+  31
+  call assert_equal('three', getline('.'))
+  41
+  call assert_equal('four', getline('.'))
+
+  " dp and do with buffer number which is not in diff mode.
+  new not_in_diff_mode
+  let bn3=bufnr('%')
+  wincmd w
+  51
+  call assert_fails('exe "norm" . bn3 . "dp"', 'E103:')
+  call assert_fails('exe "norm" . bn3 . "do"', 'E103:')
+  call assert_fails('diffput not_in_diff_mode', 'E94:')
+  call assert_fails('diffget not_in_diff_mode', 'E94:')
+
+  windo diffoff
+  %bwipe!
 endfunc
 
 func Test_diffoff()
   enew!
   call setline(1, ['Two', 'Three'])
+  redraw
   let normattr = screenattr(1, 1)
   diffthis
   botright vert new
@@ -221,10 +276,107 @@
   bwipe!
 endfunc
 
+func Test_diffopt_icase()
+  set diffopt=icase,foldcolumn:0
+
+  e one
+  call setline(1, ['One', 'Two', 'Three', 'Four'])
+  redraw
+  let normattr = screenattr(1, 1)
+  diffthis
+
+  botright vert new two
+  call setline(1, ['one', 'TWO', 'Three ', 'Four'])
+  diffthis
+
+  redraw
+  call assert_equal(normattr, screenattr(1, 1))
+  call assert_equal(normattr, screenattr(2, 1))
+  call assert_notequal(normattr, screenattr(3, 1))
+  call assert_equal(normattr, screenattr(4, 1))
+
+  diffoff!
+  %bwipe!
+  set diffopt&
+endfunc
+
+func Test_diffopt_iwhite()
+  set diffopt=iwhite,foldcolumn:0
+
+  e one
+  " Difference in trailing spaces should be ignored,
+  " but not other space differences.
+  call setline(1, ["One \t", 'Two', 'Three', 'Four'])
+  redraw
+  let normattr = screenattr(1, 1)
+  diffthis
+
+  botright vert new two
+  call setline(1, ["One\t ", "Two\t ", 'Three', ' Four'])
+  diffthis
+
+  redraw
+  call assert_equal(normattr, screenattr(1, 1))
+  call assert_equal(normattr, screenattr(2, 1))
+  call assert_equal(normattr, screenattr(3, 1))
+  call assert_notequal(normattr, screenattr(4, 1))
+
+  diffoff!
+  %bwipe!
+  set diffopt&
+endfunc
+
+func Test_diffopt_context()
+  enew!
+  call setline(1, ['1', '2', '3', '4', '5', '6', '7'])
+  diffthis
+  new
+  call setline(1, ['1', '2', '3', '4', '5x', '6', '7'])
+  diffthis
+
+  set diffopt=context:2
+  call assert_equal('+--  2 lines: 1', foldtextresult(1))
+  set diffopt=context:1
+  call assert_equal('+--  3 lines: 1', foldtextresult(1))
+
+  diffoff!
+  %bwipe!
+  set diffopt&
+endfunc
+
+func Test_diffopt_horizontal()
+  set diffopt=horizontal
+  diffsplit
+
+  call assert_equal(&columns, winwidth(1))
+  call assert_equal(&columns, winwidth(2))
+  call assert_equal(&lines, winheight(1) + winheight(2) + 3)
+  call assert_inrange(0, 1, winheight(1) - winheight(2))
+
+  set diffopt&
+  diffoff!
+  %bwipe
+endfunc
+
+func Test_diffopt_vertical()
+  set diffopt=vertical
+  diffsplit
+
+  call assert_equal(&lines - 2, winheight(1))
+  call assert_equal(&lines - 2, winheight(2))
+  call assert_equal(&columns, winwidth(1) + winwidth(2) + 1)
+  call assert_inrange(0, 1, winwidth(1) - winwidth(2))
+
+  set diffopt&
+  diffoff!
+  %bwipe
+endfunc
+
 func Test_diffoff_hidden()
   set diffopt=filler,foldcolumn:0
   e! one
   call setline(1, ['Two', 'Three'])
+  redraw
   let normattr = screenattr(1, 1)
   diffthis
   botright vert new two
@@ -296,6 +448,37 @@
   %bwipe!
 endfunc
 
+func Test_diffexpr()
+  if !executable('diff')
+    return
+  endif
+
+  func DiffExpr()
+    silent exe '!diff ' . v:fname_in . ' ' . v:fname_new . '>' . v:fname_out
+  endfunc
+  set diffexpr=DiffExpr()
+  set diffopt=foldcolumn:0
+
+  enew!
+  call setline(1, ['one', 'two', 'three'])
+  redraw
+  let normattr = screenattr(1, 1)
+  diffthis
+
+  botright vert new
+  call setline(1, ['one', 'two', 'three.'])
+  diffthis
+
+  redraw
+  call assert_equal(normattr, screenattr(1, 1))
+  call assert_equal(normattr, screenattr(2, 1))
+  call assert_notequal(normattr, screenattr(3, 1))
+
+  diffoff!
+  %bwipe!
+  set diffexpr& diffopt&
+endfunc
+
 func Test_diffpatch()
   " The patch program on MS-Windows may fail or hang.
   if !executable('patch') || !has('unix')
