bug 58775: add unit test to test for non-built-in data formats
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1721900 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8a7cd6308e
commit
9bdfcc4be6
@ -19,6 +19,8 @@ package org.apache.poi.ss.usermodel;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.poi.ss.ITestDataProvider;
|
||||
|
||||
/**
|
||||
@ -32,6 +34,11 @@ public abstract class BaseTestDataFormat extends TestCase {
|
||||
protected BaseTestDataFormat(ITestDataProvider testDataProvider) {
|
||||
_testDataProvider = testDataProvider;
|
||||
}
|
||||
|
||||
public void assertNotBuiltInFormat(String customFmt) {
|
||||
//check it is not in built-in formats
|
||||
assertEquals(-1, BuiltinFormats.getBuiltinFormat(customFmt));
|
||||
}
|
||||
|
||||
public final void testBuiltinFormats() {
|
||||
Workbook wb = _testDataProvider.createWorkbook();
|
||||
@ -53,7 +60,7 @@ public abstract class BaseTestDataFormat extends TestCase {
|
||||
//create a custom data format
|
||||
String customFmt = "#0.00 AM/PM";
|
||||
//check it is not in built-in formats
|
||||
assertEquals(-1, BuiltinFormats.getBuiltinFormat(customFmt));
|
||||
assertNotBuiltInFormat(customFmt);
|
||||
int customIdx = df.getFormat(customFmt);
|
||||
//The first user-defined format starts at 164.
|
||||
assertTrue(customIdx >= BuiltinFormats.FIRST_USER_DEFINED_FORMAT_INDEX);
|
||||
@ -88,6 +95,27 @@ public abstract class BaseTestDataFormat extends TestCase {
|
||||
assertEquals(poundFmt, dataFormat.getFormat(poundFmtIdx));
|
||||
}
|
||||
|
||||
public void testReadbackFormat() throws IOException {
|
||||
readbackFormat("built-in format", "0.00");
|
||||
readbackFormat("overridden built-in format", poundFmt);
|
||||
|
||||
String customFormat = "#0.00 AM/PM";
|
||||
assertNotBuiltInFormat(customFormat);
|
||||
readbackFormat("custom format", customFormat);
|
||||
}
|
||||
|
||||
private void readbackFormat(String msg, String fmt) throws IOException {
|
||||
Workbook wb = _testDataProvider.createWorkbook();
|
||||
try {
|
||||
DataFormat dataFormat = wb.createDataFormat();
|
||||
short fmtIdx = dataFormat.getFormat(fmt);
|
||||
String readbackFmt = dataFormat.getFormat(fmtIdx);
|
||||
assertEquals(msg, fmt, readbackFmt);
|
||||
} finally {
|
||||
wb.close();
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void test58532();
|
||||
public void doTest58532Core(Workbook wb) {
|
||||
Sheet s = wb.getSheetAt(0);
|
||||
|
Loading…
Reference in New Issue
Block a user