summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-invalid.js
blob: c748c767a7092e98b78168a55fbbfa17d7815dd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
// Copyright (C) 2022 Igalia S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.calendar.prototype.daysinweek
description: >
  RangeError thrown if an invalid ISO string (or syntactically valid ISO string
  that is not supported) is used as a PlainDate
features: [Temporal, arrow-function]
---*/

const invalidStrings = [
  // invalid ISO strings:
  "",
  "invalid iso8601",
  "2020-01-00",
  "2020-01-32",
  "2020-02-30",
  "2021-02-29",
  "2020-00-01",
  "2020-13-01",
  "2020-01-01T",
  "2020-01-01T25:00:00",
  "2020-01-01T01:60:00",
  "2020-01-01T01:60:61",
  "2020-01-01junk",
  "2020-01-01T00:00:00junk",
  "2020-01-01T00:00:00+00:00junk",
  "2020-01-01T00:00:00+00:00[UTC]junk",
  "2020-01-01T00:00:00+00:00[UTC][u-ca=iso8601]junk",
  "02020-01-01",
  "2020-001-01",
  "2020-01-001",
  "2020-01-01T001",
  "2020-01-01T01:001",
  "2020-01-01T01:01:001",
  // valid, but forms not supported in Temporal:
  "2020-W01-1",
  "2020-001",
  "+0002020-01-01",
  // valid, but this calendar must not exist:
  "2020-01-01[u-ca=notexist]",
  // may be valid in other contexts, but insufficient information for PlainDate:
  "2020-01",
  "+002020-01",
  "01-01",
  "2020-W01",
  "P1Y",
  "-P12Y",
  // valid, but outside the supported range:
  "-999999-01-01",
  "+999999-01-01",
];
const instance = new Temporal.Calendar("iso8601");
for (const arg of invalidStrings) {
  assert.throws(
    RangeError,
    () => instance.daysInWeek(arg),
    `"${arg}" should not be a valid ISO string for a PlainDate`
  );
}

reportCompare(0, 0);