You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2014/03/08 09:41:08 UTC
svn commit: r1575500 -
/poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java
Author: centic
Date: Sat Mar 8 08:41:08 2014
New Revision: 1575500
URL: http://svn.apache.org/r1575500
Log:
Enhance test to print out more information, it seems to fail on Apache Jenkins JDK8 build
Modified:
poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java
Modified: poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java?rev=1575500&r1=1575499&r2=1575500&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/util/TestDateFormatConverter.java Sat Mar 8 08:41:08 2014
@@ -19,18 +19,25 @@
package org.apache.poi.ss.util;
-import junit.framework.TestCase;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.util.TempFile;
-
import java.io.File;
import java.io.FileOutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.Arrays;
import java.util.Date;
import java.util.Locale;
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.DataFormat;
+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.util.TempFile;
+
public final class TestDateFormatConverter extends TestCase {
private void outputLocaleDataFormats( Date date, boolean dates, boolean times, int style, String styleName ) throws Exception {
@@ -57,40 +64,45 @@ public final class TestDateFormatConvert
int rowNum = 1;
for( Locale locale : DateFormat.getAvailableLocales() ) {
- Row row = sheet.createRow(rowNum++);
-
- row.createCell(0).setCellValue(locale.toString());
- row.createCell(1).setCellValue(locale.getDisplayName());
-
- DateFormat dateFormat;
- if( dates ) {
- if( times ) {
- dateFormat = DateFormat.getDateTimeInstance(style, style, locale);
+ try {
+ Row row = sheet.createRow(rowNum++);
+
+ row.createCell(0).setCellValue(locale.toString());
+ row.createCell(1).setCellValue(locale.getDisplayName());
+
+ DateFormat dateFormat;
+ if( dates ) {
+ if( times ) {
+ dateFormat = DateFormat.getDateTimeInstance(style, style, locale);
+ } else {
+ dateFormat = DateFormat.getDateInstance(style, locale);
+ }
} else {
- dateFormat = DateFormat.getDateInstance(style, locale);
+ dateFormat = DateFormat.getTimeInstance(style, locale);
}
- } else {
- dateFormat = DateFormat.getTimeInstance(style, locale);
+
+ Cell cell = row.createCell(2);
+
+ cell.setCellValue(date);
+ CellStyle cellStyle = row.getSheet().getWorkbook().createCellStyle();
+
+ String javaDateFormatPattern = ((SimpleDateFormat)dateFormat).toPattern();
+ String excelFormatPattern = DateFormatConverter.convert(locale, javaDateFormatPattern);
+
+ DataFormat poiFormat = row.getSheet().getWorkbook().createDataFormat();
+ cellStyle.setDataFormat(poiFormat.getFormat(excelFormatPattern));
+ row.createCell(3).setCellValue(dateFormat.format(date));
+
+ cell.setCellStyle(cellStyle);
+
+ // the formula returns TRUE is the formatted date in column C equals to the string in column D
+ row.createCell(4).setCellFormula("TEXT(C"+rowNum+",G"+rowNum+")=D" + rowNum);
+ row.createCell(5).setCellValue(javaDateFormatPattern);
+ row.createCell(6).setCellValue(excelFormatPattern);
+ } catch (Exception e) {
+ throw new RuntimeException("Failed for locale: " + locale + ", having locales: " +
+ Arrays.toString(DateFormat.getAvailableLocales()), e);
}
-
- Cell cell = row.createCell(2);
-
- cell.setCellValue(date);
- CellStyle cellStyle = row.getSheet().getWorkbook().createCellStyle();
-
- String javaDateFormatPattern = ((SimpleDateFormat)dateFormat).toPattern();
- String excelFormatPattern = DateFormatConverter.convert(locale, javaDateFormatPattern);
-
- DataFormat poiFormat = row.getSheet().getWorkbook().createDataFormat();
- cellStyle.setDataFormat(poiFormat.getFormat(excelFormatPattern));
- row.createCell(3).setCellValue(dateFormat.format(date));
-
- cell.setCellStyle(cellStyle);
-
- // the formula returns TRUE is the formatted date in column C equals to the string in column D
- row.createCell(4).setCellFormula("TEXT(C"+rowNum+",G"+rowNum+")=D" + rowNum);
- row.createCell(5).setCellValue(javaDateFormatPattern);
- row.createCell(6).setCellValue(excelFormatPattern);
}
File outputFile = TempFile.createTempFile("Locale" + sheetName + styleName, ".xlsx");
@@ -100,12 +112,11 @@ public final class TestDateFormatConvert
} finally {
outputStream.close();
}
- System.out.println("Open " + outputFile.getAbsolutePath()+" in Excel");
+ System.out.println("Open " + outputFile.getAbsolutePath()+" in Excel");
}
public void testJavaDateFormatsInExcel() throws Exception {
-
Date date = new Date();
outputLocaleDataFormats(date, true, false, DateFormat.DEFAULT, "Default" );
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org