From 6eafee01d4c6126bccaecf195743552e0187c08a Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Mon, 15 Jun 2020 20:51:36 +0000 Subject: [PATCH] Add some more tests from bug 63819 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1878867 13f79535-47bb-0310-9956-ffa450edef68 --- .../ss/formula/functions/TestDateValue.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/testcases/org/apache/poi/ss/formula/functions/TestDateValue.java b/src/testcases/org/apache/poi/ss/formula/functions/TestDateValue.java index fb185cc7fb..1598c7a8f0 100644 --- a/src/testcases/org/apache/poi/ss/formula/functions/TestDateValue.java +++ b/src/testcases/org/apache/poi/ss/formula/functions/TestDateValue.java @@ -18,13 +18,15 @@ package org.apache.poi.ss.formula.functions; import org.apache.poi.ss.formula.eval.BlankEval; -import org.apache.poi.ss.formula.eval.BoolEval; import org.apache.poi.ss.formula.eval.ErrorEval; import org.apache.poi.ss.formula.eval.NumberEval; 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.Test; +import java.util.Locale; + import static org.junit.Assert.assertEquals; /** @@ -49,10 +51,23 @@ public final class TestDateValue { confirmDateValue(new StringEval("FEB/1/2020"), 43862); confirmDateValue(new StringEval("2020/02/01"), 43862); - confirmDateValue(new StringEval(""), BlankEval.instance); - confirmDateValue(BlankEval.instance, BlankEval.instance); + confirmDateValue(new StringEval("")); + confirmDateValue(BlankEval.instance); + + confirmDateValueError(new StringEval("non-date text")); + + LocaleUtil.setUserLocale(Locale.ENGLISH); + try { + // // EXCEL + confirmDateValue(new StringEval("8/22/2011"), 40777); // Serial number of a date entered as text. + confirmDateValue(new StringEval("22-MAY-2011"), 40685); // Serial number of a date entered as text. + confirmDateValue(new StringEval("2011/02/23"), 40597); // Serial number of a date entered as text. - confirmDateValue(new StringEval("non-date text"), ErrorEval.VALUE_INVALID); + // LibreOffice compatibility + confirmDateValue(new StringEval("1954-07-20"), 19925); + } finally { + LocaleUtil.setUserLocale(null); + } } private ValueEval invokeDateValue(ValueEval text) { @@ -65,14 +80,14 @@ public final class TestDateValue { assertEquals(expected, ((NumberEval) result).getNumberValue(), 0.0001); } - private void confirmDateValue(ValueEval text, BlankEval expected) { + private void confirmDateValue(ValueEval text) { ValueEval result = invokeDateValue(text); assertEquals(BlankEval.class, result.getClass()); } - private void confirmDateValue(ValueEval text, ErrorEval expected) { + private void confirmDateValueError(ValueEval text) { ValueEval result = invokeDateValue(text); assertEquals(ErrorEval.class, result.getClass()); - assertEquals(expected.getErrorCode(), ((ErrorEval) result).getErrorCode()); + assertEquals(ErrorEval.VALUE_INVALID.getErrorCode(), ((ErrorEval) result).getErrorCode()); } } \ No newline at end of file -- 2.39.5