}
try {
- // Ask DataFormatter to handle the String for us
- String formattedStr = formatter.formatRawCellContents(s0, -1, s1);
+ // Ask DataFormatter to handle the String for us
+ String formattedStr = formatter.formatRawCellContents(s0, -1, s1);
return new StringEval(formattedStr);
} catch (Exception e) {
return ErrorEval.VALUE_INVALID;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.util.LocaleUtil;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
/**
}
@Test
- void testTextWithDeciamlFormatSecondArg() {
+ void testTextWithDecimalFormatSecondArg() {
ValueEval numArg = new NumberEval(321321.321);
ValueEval formatArg = new StringEval("#,###.00000");
ValueEval[] args = { numArg, formatArg };
LocaleUtil.setUserTimeZone(userTZ);
}
}
+
+ @Disabled("see https://bz.apache.org/bugzilla/show_bug.cgi?id=65471")
+ @Test
+ void testTextWithISODateTimeFormatSecondArg() {
+ TimeZone userTZ = LocaleUtil.getUserTimeZone();
+ LocaleUtil.setUserTimeZone(TimeZone.getTimeZone("CET"));
+ try {
+ // Test with Java style M=Month
+ ValueEval numArg = new NumberEval(321.321);
+ ValueEval formatArg = new StringEval("yyyy-mm-ddThh:MM:ss");
+ ValueEval[] args = { numArg, formatArg };
+ ValueEval result = TextFunction.TEXT.evaluate(args, -1, (short)-1);
+ ValueEval testResult = new StringEval("1900-11-16T07:42:14");
+ assertEquals(testResult.toString(), result.toString());
+ } finally {
+ LocaleUtil.setUserTimeZone(userTZ);
+ }
+ }
+
}