Skip to content

Commit

Permalink
Test ISO strings with extended year -000000
Browse files Browse the repository at this point in the history
In Date.parse() and new Date(), representations of the year 0 as -000000
must not be accepted. In the case of Date.parse(), they should yield NaN,
and in the case of new Date(), they should yield an invalid Date object,
whose valueOf() is NaN.
  • Loading branch information
ptomato authored and rwaldron committed Apr 25, 2022
1 parent 1b71018 commit 8a1ec2f
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
20 changes: 20 additions & 0 deletions test/built-ins/Date/parse/year-zero.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright (C) 2022 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-expanded-years
description: Negative zero, as an extended year, is rejected
info: |
The year 0 is considered positive and must be prefixed with a + sign. The
representation of the year 0 as -000000 is invalid.
---*/

const invalidStrings = [
"-000000-03-31T00:45Z",
"-000000-03-31T01:45",
"-000000-03-31T01:45:00+01:00"
];

for (const str of invalidStrings) {
assert.sameValue(Date.parse(str), NaN, "reject minus zero as extended year");
}
20 changes: 20 additions & 0 deletions test/built-ins/Date/year-zero.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright (C) 2022 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-expanded-years
description: Negative zero, as an extended year, is rejected
info: |
The year 0 is considered positive and must be prefixed with a + sign. The
representation of the year 0 as -000000 is invalid.
---*/

const invalidStrings = [
"-000000-03-31T00:45Z",
"-000000-03-31T01:45",
"-000000-03-31T01:45:00+01:00"
];

for (const str of invalidStrings) {
assert.sameValue(+new Date(str), NaN, "reject minus zero as extended year");
}

0 comments on commit 8a1ec2f

Please sign in to comment.