зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1551893: Require strict zero-pad for time element if T exists r=arai
Make T as a strictness marker for ISO8601 time element, as it already does for the date element. Differential Revision: https://phabricator.services.mozilla.com/D31418 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
aeec5fec87
Коммит
1cf88b074c
|
@ -919,6 +919,7 @@ static bool ParseISOStyleDate(const CharT* s, size_t length,
|
|||
size_t tzHour = 0;
|
||||
size_t tzMin = 0;
|
||||
bool isPermissive = false;
|
||||
bool isStrict = false;
|
||||
|
||||
#define PEEK(ch) (i < length && s[i] == ch)
|
||||
|
||||
|
@ -954,7 +955,11 @@ static bool ParseISOStyleDate(const CharT* s, size_t length,
|
|||
return false; \
|
||||
} \
|
||||
if (i < pre + (n)) { \
|
||||
isPermissive = true; \
|
||||
if (isStrict) { \
|
||||
return false; \
|
||||
} else { \
|
||||
isPermissive = true; \
|
||||
} \
|
||||
}
|
||||
|
||||
if (PEEK('+') || PEEK('-')) {
|
||||
|
@ -978,6 +983,7 @@ done_date:
|
|||
// exists
|
||||
return false;
|
||||
}
|
||||
isStrict = true;
|
||||
i++;
|
||||
} else if (PEEK(' ')) {
|
||||
i++;
|
||||
|
|
|
@ -31,13 +31,13 @@ assertEq(new Date("+001997-03-8 11:19:20").getTime(),
|
|||
assertEq(new Date("1997-03-08 11:19").getTime(),
|
||||
new Date("1997-03-08T11:19").getTime());
|
||||
assertEq(new Date("1997-03-08 1:19").getTime(),
|
||||
new Date("1997-03-08T1:19").getTime());
|
||||
new Date("1997-03-08T01:19").getTime());
|
||||
assertEq(new Date("1997-03-08 1:1").getTime(),
|
||||
new Date("1997-03-08T1:1").getTime());
|
||||
new Date("1997-03-08T01:01").getTime());
|
||||
assertEq(new Date("1997-03-08 1:1:01").getTime(),
|
||||
new Date("1997-03-08T1:1:01").getTime());
|
||||
new Date("1997-03-08T01:01:01").getTime());
|
||||
assertEq(new Date("1997-03-08 1:1:1").getTime(),
|
||||
new Date("1997-03-08T1:1:1").getTime());
|
||||
new Date("1997-03-08T01:01:01").getTime());
|
||||
assertEq(new Date("1997-03-08 11").getTime(),
|
||||
new Date("1997-03-08T11").getTime()); // Date(NaN)
|
||||
assertEq(new Date("1997-03-08").getTime(),
|
||||
|
@ -58,10 +58,16 @@ assertEq(new Date("+001997-3-08T11:19:20").getTime(),
|
|||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-3-8 :00:01").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-3-8 :00:01").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-3-8 01::01").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-03-08T1:19").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-03-08T1:1").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-03-08T1:1:01").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
assertEq(new Date("1997-03-08T1:1:1").getTime(),
|
||||
new Date(NaN).getTime());
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче