blob: 2a316d4f0f689830eeb17695e4312c97d47cc803 [file] [log] [blame]
Bram Moolenaarb5690792016-01-14 22:10:41 +01001" Test :hardcopy
2
3func Test_printoptions_parsing()
4 " Only test that this doesn't throw an error.
5 set printoptions=left:5in,right:10pt,top:8mm,bottom:2pc
6 set printoptions=left:2in,top:30pt,right:16mm,bottom:3pc
7 set printoptions=header:3,syntax:y,number:7,wrap:n
8 set printoptions=duplex:short,collate:n,jobsplit:y,portrait:n
9 set printoptions=paper:10x14
10 set printoptions=paper:A3
11 set printoptions=paper:A4
12 set printoptions=paper:A5
13 set printoptions=paper:B4
14 set printoptions=paper:B5
15 set printoptions=paper:executive
16 set printoptions=paper:folio
17 set printoptions=paper:ledger
18 set printoptions=paper:legal
19 set printoptions=paper:letter
20 set printoptions=paper:quarto
21 set printoptions=paper:statement
22 set printoptions=paper:tabloid
23 set printoptions=formfeed:y
24 set printoptions=
25 set printoptions&
Bram Moolenaar4afc7c52016-04-03 14:56:52 +020026
27 call assert_fails('set printoptions=paper', 'E550:')
28 call assert_fails('set printoptions=shredder:on', 'E551:')
29 call assert_fails('set printoptions=left:no', 'E552:')
Bram Moolenaarb5690792016-01-14 22:10:41 +010030endfunc
31
32func Test_printmbfont_parsing()
33 " Only test that this doesn't throw an error.
34 set printmbfont=r:WadaMin-Regular,b:WadaMin-Bold,i:WadaMin-Italic,o:WadaMin-Bold-Italic,c:yes,a:no
35 set printmbfont=
36 set printmbfont&
37endfunc
38
39func Test_printheader_parsing()
40 " Only test that this doesn't throw an error.
41 set printheader=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
42 set printheader=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
43 set printheader=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
44 set printheader=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...
45 set printheader=
46 set printheader&
47endfunc
48
49" Test that :hardcopy produces a non-empty file.
50" We don't check much of the contents.
51func Test_with_syntax()
Bram Moolenaarccb80982016-01-15 15:56:35 +010052 if has('postscript')
53 set printoptions=syntax:y
54 syn on
55 hardcopy > Xhardcopy
56 let lines = readfile('Xhardcopy')
57 call assert_true(len(lines) > 20)
58 call assert_true(lines[0] =~ 'PS-Adobe')
59 call delete('Xhardcopy')
60 set printoptions&
61 endif
Bram Moolenaarb5690792016-01-14 22:10:41 +010062endfunc
Bram Moolenaarbf15b8d2017-06-04 20:43:48 +020063
64func Test_fname_with_spaces()
65 split t\ e\ s\ t.txt
66 call setline(1, ['just', 'some', 'text'])
67 hardcopy > %.ps
68 call assert_true(filereadable('t e s t.txt.ps'))
69 call delete('t e s t.txt.ps')
70 bwipe!
71endfunc