1 package com.gitlab.pdftk_java; 2 3 import org.junit.Test; 4 import java.io.FileInputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 8 public class CatTest extends BlackBox { 9 @Test cat()10 public void cat() throws IOException { 11 byte[] expected = slurpBytes("test/files/cat-refs-refsalt.pdf"); 12 pdftk("test/files/refs.pdf", "test/files/refsalt.pdf", 13 "cat", "output", "-"); 14 assertPdfEqualsAsSVG(expected, systemOut.getLogAsBytes()); 15 } 16 17 @Test cat_rotate_page_no_op()18 public void cat_rotate_page_no_op() { 19 byte[] expected = getPdf("test/files/blank.pdf", "cat", "output", "-"); 20 byte[] actual = getPdf("test/files/blank.pdf", "cat", "1north", "output", "-"); 21 assertPdfEqualsAsSVG(expected, actual); 22 } 23 24 @Test cat_rotate_range_no_op()25 public void cat_rotate_range_no_op() { 26 byte[] expected = getPdf("test/files/blank.pdf", "cat", "output", "-"); 27 byte[] actual = getPdf("test/files/blank.pdf", "cat", "1-1north", "output", "-"); 28 assertPdfEqualsAsSVG(expected, actual); 29 } 30 31 @Test cat_rotate_page()32 public void cat_rotate_page() { 33 pdftk("test/files/blank.pdf", "cat", "1east", "output", "-"); 34 } 35 36 @Test cat_rotate_range()37 public void cat_rotate_range() { 38 byte[] expected = getPdf("test/files/blank.pdf", "cat", "1east", "output", "-"); 39 byte[] actual = getPdf("test/files/blank.pdf", "cat", "1-1east", "output", "-"); 40 assertPdfEqualsAsSVG(expected, actual); 41 } 42 43 @Test cat_exclude_range()44 public void cat_exclude_range() { 45 byte[] expected = getPdf("test/files/refs.pdf", "cat", "1-3", "6-8", "output", "-"); 46 byte[] actual = getPdf("test/files/refs.pdf", "cat", "~4-5", "output", "-"); 47 assertPdfEqualsAsSVG(expected, actual); 48 } 49 50 @Test cat_include_exclude_range()51 public void cat_include_exclude_range() { 52 byte[] expected = getPdf("test/files/refs.pdf", "cat", "2-3", "6-7", "output", "-"); 53 byte[] actual = getPdf("test/files/refs.pdf", "cat", "2-end~4-5~end", "output", "-"); 54 assertPdfEqualsAsSVG(expected, actual); 55 } 56 57 @Test cat_even()58 public void cat_even() { 59 byte[] expected = getPdf("test/files/refs.pdf", "cat", "2", "4", "6", "output", "-"); 60 byte[] actual = getPdf("test/files/refs.pdf", "cat", "2-7even", "output", "-"); 61 assertPdfEqualsAsSVG(expected, actual); 62 } 63 64 @Test cat_odd()65 public void cat_odd() { 66 byte[] expected = getPdf("test/files/refs.pdf", "cat", "3", "5", "7", "output", "-"); 67 byte[] actual = getPdf("test/files/refs.pdf", "cat", "2-7odd", "output", "-"); 68 assertPdfEqualsAsSVG(expected, actual); 69 } 70 71 @Test cat_handles()72 public void cat_handles() { 73 byte[] expected = getPdf("test/files/refs.pdf", "test/files/refsalt.pdf", "cat", "output", "-"); 74 byte[] actual = getPdf("A=test/files/refs.pdf", "B=test/files/refsalt.pdf", "cat", "B", "A", "output", "-"); 75 } 76 77 @Test duplicate_stdin()78 public void duplicate_stdin() throws IOException { 79 InputStream stdinMock = new FileInputStream("test/files/blank.pdf"); 80 InputStream originalIn = System.in; 81 System.setIn(stdinMock); 82 pdftk("A=-", "cat", "A", "A", "A", "output", "-"); 83 System.setIn(originalIn); 84 } 85 }; 86