@Test
public void testSimple() throws IOException {
- ExcelExtractor extractor = createExtractor("Simple.xls");
+ try (ExcelExtractor extractor = createExtractor("Simple.xls")) {
+ assertEquals("Sheet1\nreplaceMe\nSheet2\nSheet3\n", extractor.getText());
- try {
- assertEquals("Sheet1\nreplaceMe\nSheet2\nSheet3\n", extractor.getText());
-
- // Now turn off sheet names
- extractor.setIncludeSheetNames(false);
- assertEquals("replaceMe\n", extractor.getText());
- } finally {
- extractor.close();
+ // Now turn off sheet names
+ extractor.setIncludeSheetNames(false);
+ assertEquals("replaceMe\n", extractor.getText());
}
}
@Test
public void testNumericFormula() throws IOException {
-
- ExcelExtractor extractor = createExtractor("sumifformula.xls");
-
- assertEquals(
- "Sheet1\n" +
- "1000\t1\t5\n" +
- "2000\t2\n" +
- "3000\t3\n" +
- "4000\t4\n" +
- "5000\t5\n" +
- "Sheet2\nSheet3\n",
- extractor.getText()
- );
-
- extractor.setFormulasNotResults(true);
-
- assertEquals(
- "Sheet1\n" +
- "1000\t1\tSUMIF(A1:A5,\">4000\",B1:B5)\n" +
- "2000\t2\n" +
- "3000\t3\n" +
- "4000\t4\n" +
- "5000\t5\n" +
- "Sheet2\nSheet3\n",
- extractor.getText()
- );
-
- extractor.close();
+ try (ExcelExtractor extractor = createExtractor("sumifformula.xls")) {
+ assertEquals(
+ "Sheet1\n" +
+ "1000\t1\t5\n" +
+ "2000\t2\n" +
+ "3000\t3\n" +
+ "4000\t4\n" +
+ "5000\t5\n" +
+ "Sheet2\nSheet3\n",
+ extractor.getText()
+ );
+
+ extractor.setFormulasNotResults(true);
+
+ assertEquals(
+ "Sheet1\n" +
+ "1000\t1\tSUMIF(A1:A5,\">4000\",B1:B5)\n" +
+ "2000\t2\n" +
+ "3000\t3\n" +
+ "4000\t4\n" +
+ "5000\t5\n" +
+ "Sheet2\nSheet3\n",
+ extractor.getText()
+ );
+ }
}
@Test
- public void testwithContinueRecords() throws IOException {
-
- ExcelExtractor extractor = createExtractor("StringContinueRecords.xls");
-
- // Has masses of text
- // Until we fixed bug #41064, this would've
- // failed by now
- assertTrue(extractor.getText().length() > 40960);
-
- extractor.close();
+ public void testWithContinueRecords() throws IOException {
+ try (ExcelExtractor extractor = createExtractor("StringContinueRecords.xls")) {
+ // Has masses of text
+ // Until we fixed bug #41064, this would've
+ // failed by now
+ assertTrue(extractor.getText().length() > 40960);
+ }
}
@Test
public void testStringConcat() throws IOException {
+ try (ExcelExtractor extractor = createExtractor("SimpleWithFormula.xls")) {
+ // Comes out as NaN if treated as a number
+ // And as XYZ if treated as a string
+ assertEquals("Sheet1\nreplaceme\nreplaceme\nreplacemereplaceme\nSheet2\nSheet3\n", extractor.getText());
- ExcelExtractor extractor = createExtractor("SimpleWithFormula.xls");
-
- // Comes out as NaN if treated as a number
- // And as XYZ if treated as a string
- assertEquals("Sheet1\nreplaceme\nreplaceme\nreplacemereplaceme\nSheet2\nSheet3\n", extractor.getText());
+ extractor.setFormulasNotResults(true);
- extractor.setFormulasNotResults(true);
-
- assertEquals("Sheet1\nreplaceme\nreplaceme\nCONCATENATE(A1,A2)\nSheet2\nSheet3\n", extractor.getText());
-
- extractor.close();
+ assertEquals("Sheet1\nreplaceme\nreplaceme\nCONCATENATE(A1,A2)\nSheet2\nSheet3\n", extractor.getText());
+ }
}
@Test
public void testStringFormula() throws IOException {
+ try (ExcelExtractor extractor = createExtractor("StringFormulas.xls")) {
+ // Comes out as NaN if treated as a number
+ // And as XYZ if treated as a string
+ assertEquals("Sheet1\nXYZ\nSheet2\nSheet3\n", extractor.getText());
- ExcelExtractor extractor = createExtractor("StringFormulas.xls");
+ extractor.setFormulasNotResults(true);
- // Comes out as NaN if treated as a number
- // And as XYZ if treated as a string
- assertEquals("Sheet1\nXYZ\nSheet2\nSheet3\n", extractor.getText());
-
- extractor.setFormulasNotResults(true);
-
- assertEquals("Sheet1\nUPPER(\"xyz\")\nSheet2\nSheet3\n", extractor.getText());
-
- extractor.close();
+ assertEquals("Sheet1\nUPPER(\"xyz\")\nSheet2\nSheet3\n", extractor.getText());
+ }
}
@Test
public void testWithComments() throws IOException {
- ExcelExtractor extractor = createExtractor("SimpleWithComments.xls");
- extractor.setIncludeSheetNames(false);
-
- // Check without comments
- assertEquals(
- "1\tone\n" +
- "2\ttwo\n" +
- "3\tthree\n",
- extractor.getText()
- );
-
- // Now with
- extractor.setIncludeCellComments(true);
- assertEquals(
- "1\tone Comment by Yegor Kozlov: Yegor Kozlov: first cell\n" +
- "2\ttwo Comment by Yegor Kozlov: Yegor Kozlov: second cell\n" +
- "3\tthree Comment by Yegor Kozlov: Yegor Kozlov: third cell\n",
- extractor.getText()
- );
-
- extractor.close();
+ try (ExcelExtractor extractor = createExtractor("SimpleWithComments.xls")) {
+ extractor.setIncludeSheetNames(false);
+
+ // Check without comments
+ assertEquals(
+ "1\tone\n" +
+ "2\ttwo\n" +
+ "3\tthree\n",
+ extractor.getText()
+ );
+
+ // Now with
+ extractor.setIncludeCellComments(true);
+ assertEquals(
+ "1\tone Comment by Yegor Kozlov: Yegor Kozlov: first cell\n" +
+ "2\ttwo Comment by Yegor Kozlov: Yegor Kozlov: second cell\n" +
+ "3\tthree Comment by Yegor Kozlov: Yegor Kozlov: third cell\n",
+ extractor.getText()
+ );
+ }
}
@Test
public void testWithBlank() throws IOException {
- ExcelExtractor extractor = createExtractor("MissingBits.xls");
- String def = extractor.getText();
- extractor.setIncludeBlankCells(true);
- String padded = extractor.getText();
-
- assertStartsWith(def,
- "Sheet1\n" +
- "&[TAB]\t\n" +
- "Hello\n" +
- "11\t23\n"
- );
-
- assertStartsWith(padded,
- "Sheet1\n" +
- "&[TAB]\t\n" +
- "Hello\n" +
- "11\t\t\t23\n"
- );
-
- extractor.close();
+ try (ExcelExtractor extractor = createExtractor("MissingBits.xls")) {
+ String def = extractor.getText();
+ extractor.setIncludeBlankCells(true);
+ String padded = extractor.getText();
+
+ assertStartsWith(def,
+ "Sheet1\n" +
+ "&[TAB]\t\n" +
+ "Hello\n" +
+ "11\t23\n"
+ );
+
+ assertStartsWith(padded,
+ "Sheet1\n" +
+ "&[TAB]\t\n" +
+ "Hello\n" +
+ "11\t\t\t23\n"
+ );
+ }
}
@Test
public void testFormatting() throws Exception {
Locale userLocale = LocaleUtil.getUserLocale();
LocaleUtil.setUserLocale(Locale.ROOT);
- try {
- ExcelExtractor extractor = createExtractor("Formatting.xls");
+ try (ExcelExtractor extractor = createExtractor("Formatting.xls")) {
extractor.setIncludeBlankCells(false);
extractor.setIncludeSheetNames(false);
String text = extractor.getText();
assertContains(text, "nn.nn\t10.52\n");
assertContains(text, "nn.nnn\t10.520\n");
assertContains(text, "\u00a3nn.nn\t\u00a310.52\n");
- extractor.close();
} finally {
LocaleUtil.setUserLocale(userLocale);
}
"45538_classic_Header.xls", "45538_form_Header.xls"
};
for (String file : files) {
- ExcelExtractor extractor = createExtractor(file);
- String text = extractor.getText();
- assertContains(file, text, "testdoc");
- assertContains(file, text, "test phrase");
- extractor.close();
+ try (ExcelExtractor extractor = createExtractor(file)) {
+ String text = extractor.getText();
+ assertContains(file, text, "testdoc");
+ assertContains(file, text, "test phrase");
+ }
}
}
@Test
public void testPassword() throws IOException {
Biff8EncryptionKey.setCurrentUserPassword("password");
- ExcelExtractor extractor = createExtractor("password.xls");
- String text = extractor.getText();
- Biff8EncryptionKey.setCurrentUserPassword(null);
+ try (ExcelExtractor extractor = createExtractor("password.xls")) {
+ String text = extractor.getText();
+ Biff8EncryptionKey.setCurrentUserPassword(null);
- assertContains(text, "ZIP");
- extractor.close();
+ assertContains(text, "ZIP");
+ }
}
@Test
public void testNullPointerException() throws IOException {
- ExcelExtractor extractor = createExtractor("ar.org.apsme.www_Form%20Inscripcion%20Curso%20NO%20Socios.xls");
- assertNotNull(extractor);
- assertNotNull(extractor.getText());
- extractor.close();
+ try (ExcelExtractor extractor = createExtractor("ar.org.apsme.www_Form%20Inscripcion%20Curso%20NO%20Socios.xls")) {
+ assertNotNull(extractor);
+ assertNotNull(extractor.getText());
+ }
}
@Test
public void test61045() throws IOException {
//bug 61045. File is govdocs1 626534
- ExcelExtractor extractor = createExtractor("61045_govdocs1_626534.xls");
- String txt = extractor.getText();
- assertContains(txt, "NONBUSINESS");
+ try (ExcelExtractor extractor = createExtractor("61045_govdocs1_626534.xls")) {
+ String txt = extractor.getText();
+ assertContains(txt, "NONBUSINESS");
+ }
}
-
}
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@AfterClass
public static void tearDown() throws IOException {
- //noinspection ResultOfMethodCallIgnored
- TMP.delete();
+ assertTrue(TMP.delete());
}
@Test
@Test
public void testSkipFully() throws IOException {
- InputStream is = new FileInputStream(TMP);
- long skipped = IOUtils.skipFully(is, 20000L);
- assertEquals("length: "+LENGTH, LENGTH, skipped);
+ try (InputStream is = new FileInputStream(TMP)) {
+ long skipped = IOUtils.skipFully(is, 20000L);
+ assertEquals("length: " + LENGTH, LENGTH, skipped);
+ }
}
@Test
public void testSkipFullyGtIntMax() throws IOException {
- InputStream is = new FileInputStream(TMP);
- long skipped = IOUtils.skipFully(is, Integer.MAX_VALUE + 20000L);
- assertEquals("length: "+LENGTH, LENGTH, skipped);
+ try (InputStream is = new FileInputStream(TMP)) {
+ long skipped = IOUtils.skipFully(is, Integer.MAX_VALUE + 20000L);
+ assertEquals("length: " + LENGTH, LENGTH, skipped);
+ }
}
@Test
public void testSkipFullyByteArray() throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- InputStream is = new FileInputStream(TMP);
- IOUtils.copy(is, bos);
- long skipped = IOUtils.skipFully(new ByteArrayInputStream(bos.toByteArray()), 20000L);
- assertEquals("length: "+LENGTH, LENGTH, skipped);
+ try (InputStream is = new FileInputStream(TMP)) {
+ IOUtils.copy(is, bos);
+ long skipped = IOUtils.skipFully(new ByteArrayInputStream(bos.toByteArray()), 20000L);
+ assertEquals("length: " + LENGTH, LENGTH, skipped);
+ }
}
@Test
public void testSkipFullyByteArrayGtIntMax() throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- InputStream is = new FileInputStream(TMP);
- IOUtils.copy(is, bos);
- long skipped = IOUtils.skipFully(new ByteArrayInputStream(bos.toByteArray()), Integer.MAX_VALUE+ 20000L);
- assertEquals("length: "+LENGTH, LENGTH, skipped);
+ try (InputStream is = new FileInputStream(TMP)) {
+ IOUtils.copy(is, bos);
+ long skipped = IOUtils.skipFully(new ByteArrayInputStream(bos.toByteArray()), Integer.MAX_VALUE + 20000L);
+ assertEquals("length: " + LENGTH, LENGTH, skipped);
+ }
}
@Test
@Test
public void testSkipZero() throws IOException {
- InputStream is = new FileInputStream(TMP);
- long skipped = IOUtils.skipFully(is, 0);
- assertEquals("zero length", 0, skipped);
+ try (InputStream is = new FileInputStream(TMP)) {
+ long skipped = IOUtils.skipFully(is, 0);
+ assertEquals("zero length", 0, skipped);
+ }
}
+
@Test(expected = IllegalArgumentException.class)
public void testSkipNegative() throws IOException {
- InputStream is = new FileInputStream(TMP);
- IOUtils.skipFully(is, -1);
+ try (InputStream is = new FileInputStream(TMP)) {
+ IOUtils.skipFully(is, -1);
+ }
}
@Test