From 6d772a851e4f527f777fb551a95f630ef24043aa Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Mon, 1 Jul 2013 08:03:40 +0000 Subject: [PATCH] Fix build broken by previous checkin by creating a TestUnfixedBugs for ooxml as well and excluding the new test-class in test-ooxml similar to the main tests. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1498280 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 1 + .../poi/xssf/usermodel/TestUnfixedBugs.java | 81 +++++++++++++++++++ .../poi/hssf/usermodel/TestUnfixedBugs.java | 45 ----------- 3 files changed, 82 insertions(+), 45 deletions(-) create mode 100644 src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java diff --git a/build.xml b/build.xml index 8fdc452dab..1fc0d4cf4f 100644 --- a/build.xml +++ b/build.xml @@ -722,6 +722,7 @@ under the License. + diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java new file mode 100644 index 0000000000..ce3fc2d045 --- /dev/null +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java @@ -0,0 +1,81 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.xssf.usermodel; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; + +import junit.framework.AssertionFailedError; +import junit.framework.TestCase; + +import org.apache.poi.hssf.HSSFTestDataSamples; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.SXSSFITestDataProvider; +import org.apache.poi.xssf.XSSFTestDataSamples; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * @author centic + * + * This testcase contains tests for bugs that are yet to be fixed. Therefore, + * the standard ant test target does not run these tests. Run this testcase with + * the single-test target. The names of the tests usually correspond to the + * Bugzilla id's PLEASE MOVE tests from this class to TestBugs once the bugs are + * fixed, so that they are then run automatically. + */ +public final class TestUnfixedBugs extends TestCase { + public void testBug54084Unicode() throws IOException { + // sample XLSX with the same text-contents as the text-file above + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("54084 - Greek - beyond BMP.xlsx"); + + verifyBug54084Unicode(wb); + +// OutputStream baos = new FileOutputStream("/tmp/test.xlsx"); +// try { +// wb.write(baos); +// } finally { +// baos.close(); +// } + + // now write the file and read it back in + XSSFWorkbook wbWritten = XSSFTestDataSamples.writeOutAndReadBack(wb); + verifyBug54084Unicode(wbWritten); + + // finally also write it out via the streaming interface and verify that we still can read it back in + Workbook wbStreamingWritten = SXSSFITestDataProvider.instance.writeOutAndReadBack(new SXSSFWorkbook(wb)); + verifyBug54084Unicode(wbStreamingWritten); + } + + private void verifyBug54084Unicode(Workbook wb) throws UnsupportedEncodingException { + // expected data is stored in UTF-8 in a text-file + String testData = new String(HSSFTestDataSamples.getTestDataFileContent("54084 - Greek - beyond BMP.txt"), "UTF-8").trim(); + + Sheet sheet = wb.getSheetAt(0); + Row row = sheet.getRow(0); + Cell cell = row.getCell(0); + + String value = cell.getStringCellValue(); + //System.out.println(value); + + assertEquals("The data in the text-file should exactly match the data that we read from the workbook", testData, value); + } +} diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java index 0ebb78e37f..e62909eddf 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java @@ -25,14 +25,6 @@ import junit.framework.TestCase; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.record.RecordFormatException; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.SXSSFITestDataProvider; -import org.apache.poi.xssf.XSSFTestDataSamples; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; /** * @author aviks @@ -85,41 +77,4 @@ public final class TestUnfixedBugs extends TestCase { assertEquals("evaluating e1", 30., eval.evaluate(e1).getNumberValue()); } - - - public void testBug54084Unicode() throws IOException { - // sample XLSX with the same text-contents as the text-file above - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("54084 - Greek - beyond BMP.xlsx"); - - verifyBug54084Unicode(wb); - -// OutputStream baos = new FileOutputStream("/tmp/test.xlsx"); -// try { -// wb.write(baos); -// } finally { -// baos.close(); -// } - - // now write the file and read it back in - XSSFWorkbook wbWritten = XSSFTestDataSamples.writeOutAndReadBack(wb); - verifyBug54084Unicode(wbWritten); - - // finally also write it out via the streaming interface and verify that we still can read it back in - Workbook wbStreamingWritten = SXSSFITestDataProvider.instance.writeOutAndReadBack(new SXSSFWorkbook(wb)); - verifyBug54084Unicode(wbStreamingWritten); - } - - private void verifyBug54084Unicode(Workbook wb) throws UnsupportedEncodingException { - // expected data is stored in UTF-8 in a text-file - String testData = new String(HSSFTestDataSamples.getTestDataFileContent("54084 - Greek - beyond BMP.txt"), "UTF-8").trim(); - - Sheet sheet = wb.getSheetAt(0); - Row row = sheet.getRow(0); - Cell cell = row.getCell(0); - - String value = cell.getStringCellValue(); - //System.out.println(value); - - assertEquals("The data in the text-file should exactly match the data that we read from the workbook", testData, value); - } }