diff options
Diffstat (limited to 'fxjs')
-rw-r--r-- | fxjs/cjs_publicmethods.cpp | 2 | ||||
-rw-r--r-- | fxjs/cjs_publicmethods_embeddertest.cpp | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/fxjs/cjs_publicmethods.cpp b/fxjs/cjs_publicmethods.cpp index ea4ea713d8..375eb6fd88 100644 --- a/fxjs/cjs_publicmethods.cpp +++ b/fxjs/cjs_publicmethods.cpp @@ -559,7 +559,7 @@ double CJS_PublicMethods::MakeRegularDate(const WideString& value, } else if (remaining == 1 || format[i + 2] != c) { switch (c) { case 'y': - nYear = ParseStringInteger(value, j, &nSkip, 4); + nYear = ParseStringInteger(value, j, &nSkip, 2); i += 2; j += nSkip; break; diff --git a/fxjs/cjs_publicmethods_embeddertest.cpp b/fxjs/cjs_publicmethods_embeddertest.cpp index 90efee9078..9413aa6a46 100644 --- a/fxjs/cjs_publicmethods_embeddertest.cpp +++ b/fxjs/cjs_publicmethods_embeddertest.cpp @@ -99,6 +99,14 @@ TEST_F(CJS_PublicMethodsEmbedderTest, MakeRegularDate) { date = RoundDownDate(date); EXPECT_DOUBLE_EQ(1107216000000.0, date); EXPECT_FALSE(bWrongFormat); + + // 2005 in a different format. https://crbug.com/436572 + bWrongFormat = false; + date = + CJS_PublicMethods::MakeRegularDate(L"050201", L"yymmdd", &bWrongFormat); + date = RoundDownDate(date); + EXPECT_DOUBLE_EQ(1107216000000.0, date); + EXPECT_FALSE(bWrongFormat); } TEST_F(CJS_PublicMethodsEmbedderTest, MakeFormatDate) { |