changeset 19663:f43c0e669bd6 v8.2.0388

patch 8.2.0388: printmbcharset option not tested Commit: https://github.com/vim/vim/commit/833805a4867cf5f93b3ef91227d1f1a98f553dff Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 15 18:27:43 2020 +0100 patch 8.2.0388: printmbcharset option not tested Problem: Printmbcharset option not tested. Solution: Add a test. Enable PostScript for AppVeyor build. (Dominique Pelle, closes #5783)
author Bram Moolenaar <Bram@vim.org>
date Sun, 15 Mar 2020 18:30:05 +0100
parents 3687efb39b68
children ffe105b08a03
files appveyor.yml src/testdir/test_hardcopy.vim src/version.c
diffstat 3 files changed, 52 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -25,9 +25,9 @@ test_script:
   - cd src/testdir
     # Testing with MSVC gvim
   - path C:\Python35-x64;%PATH%
-  - nmake -f Make_dos.mak VIMPROG=..\gvim
+  - nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim
   - nmake -f Make_dos.mak clean
     # Testing with MingW console version
-  - nmake -f Make_dos.mak VIMPROG=..\vim
+  - nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
 
 # vim: sw=2 sts=2 et ts=8 sr
--- a/src/testdir/test_hardcopy.vim
+++ b/src/testdir/test_hardcopy.vim
@@ -1,5 +1,7 @@
 " Test :hardcopy
 
+source check.vim
+
 func Test_printoptions()
   edit test_hardcopy.vim
   syn on
@@ -28,7 +30,7 @@ func Test_printoptions()
         \     '']
     exe 'set printoptions=' .. opt
     if has('postscript')
-      hardcopy > Xhardcopy_printoptions
+      1,50hardcopy > Xhardcopy_printoptions
       let lines = readfile('Xhardcopy_printoptions')
       call assert_true(len(lines) > 20, opt)
       call assert_true(lines[0] =~ 'PS-Adobe', opt)
@@ -63,10 +65,34 @@ func Test_printmbfont()
   bwipe
 endfunc
 
+func Test_printmbcharset()
+  CheckFeature postscript
+
+  " digraph.txt has plenty of non-latin1 characters.
+  help digraph.txt
+  set printmbcharset=ISO10646 printencoding=utf-8 printmbfont=r:WadaMin-Regular
+
+  hardcopy > Xhardcopy_printmbcharset
+  let lines = readfile('Xhardcopy_printmbcharset')
+  call assert_true(len(lines) > 20)
+  call assert_true(lines[0] =~ 'PS-Adobe')
+
+  set printmbcharset=does-not-exist printencoding=utf-8 printmbfont=r:WadaMin-Regular
+  call assert_fails('hardcopy > Xhardcopy_printmbcharset', 'E456:')
+
+  set printmbcharset=GB_2312-80 printencoding=utf-8 printmbfont=r:WadaMin-Regular
+  call assert_fails('hardcopy > Xhardcopy_printmbcharset', 'E673:')
+
+  set printmbcharset=ISO10646 printencoding=utf-8 printmbfont=
+  call assert_fails('hardcopy > Xhardcopy_printmbcharset', 'E675:')
+
+  call delete('Xhardcopy_printmbcharset')
+  set printmbcharset& printencoding& printmbfont&
+  bwipe
+endfunc
+
 func Test_printexpr()
-  if !has('unix')
-    return
-  endif
+  CheckFeature postscript
 
   " Not a very useful printexpr value, but enough to test
   " hardcopy with 'printexpr'.
@@ -84,7 +110,7 @@ func Test_printexpr()
   \                 readfile('Xhardcopy_printexpr'))
   call delete('Xhardcopy_printexpr')
 
-  " Function return 1 to test print failure.
+  " Function returns 1 to test print failure.
   function PrintFails(fname)
     call delete(a:fname)
     return 1
@@ -97,12 +123,11 @@ func Test_printexpr()
 endfunc
 
 func Test_errors()
-  " FIXME: Windows fails differently than Unix.
-  if has('unix')
-    edit test_hardcopy.vim
-    call assert_fails('hardcopy >', 'E324:')
-    bwipe
-  endif
+  CheckFeature postscript
+
+  edit test_hardcopy.vim
+  call assert_fails('hardcopy >', 'E324:')
+  bwipe
 endfunc
 
 func Test_dark_background()
@@ -126,12 +151,11 @@ func Test_dark_background()
 endfun
 
 func Test_empty_buffer()
-  " FIXME: Unclear why this fails on Windows.
-  if has('unix')
-    new
-    call assert_equal("\nNo text to be printed", execute('hardcopy'))
-    bwipe
-  endif
+  CheckFeature postscript
+
+  new
+  call assert_equal("\nNo text to be printed", execute('hardcopy'))
+  bwipe
 endfunc
 
 func Test_printheader_parsing()
@@ -145,9 +169,8 @@ func Test_printheader_parsing()
 endfunc
 
 func Test_fname_with_spaces()
-  if !has('postscript')
-    return
-  endif
+  CheckFeature postscript
+
   split t\ e\ s\ t.txt
   call setline(1, ['just', 'some', 'text'])
   hardcopy > %.ps
@@ -157,9 +180,11 @@ func Test_fname_with_spaces()
 endfunc
 
 func Test_illegal_byte()
-  if !has('postscript') || &enc != 'utf-8'
+  CheckFeature postscript
+  if &enc != 'utf-8'
     return
   endif
+
   new
   " conversion of 0xff will fail, this used to cause a crash
   call setline(1, "\xff")
@@ -168,3 +193,5 @@ func Test_illegal_byte()
   bwipe!
   call delete('Xpstest')
 endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    388,
+/**/
     387,
 /**/
     386,