mirror of https://github.com/tc39/test262.git
514 lines
12 KiB
JavaScript
514 lines
12 KiB
JavaScript
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-temporal.duration.compare
|
|
description: Tests for compare() with each possible outcome
|
|
features: [Temporal]
|
|
---*/
|
|
|
|
const plainDate = new Temporal.PlainDate(2000, 1, 1);
|
|
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(6),
|
|
new Temporal.Duration(5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"years >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(3),
|
|
new Temporal.Duration(4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"years <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 6),
|
|
new Temporal.Duration(2, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"months >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 3),
|
|
new Temporal.Duration(4, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"months <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 6),
|
|
new Temporal.Duration(2, 1, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"weeks >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 3),
|
|
new Temporal.Duration(4, 7, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"weeks <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 6),
|
|
new Temporal.Duration(2, 1, 3, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"days >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 3),
|
|
new Temporal.Duration(4, 7, 2, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"days <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"hours >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"hours <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"minutes >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"minutes <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"seconds >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"seconds <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"milliseconds >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"milliseconds <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"microseconds >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"microseconds <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 444, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 444, 5),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
1,
|
|
"nanoseconds >, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 4),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
-1,
|
|
"nanoseconds <, relativeTo PlainDate"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 111),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 111),
|
|
{ relativeTo: plainDate }
|
|
),
|
|
0,
|
|
"equal, relativeTo PlainDate"
|
|
);
|
|
|
|
const zonedDateTime = new Temporal.ZonedDateTime(0n, "UTC");
|
|
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(6),
|
|
new Temporal.Duration(5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"years >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(3),
|
|
new Temporal.Duration(4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"years <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 6),
|
|
new Temporal.Duration(2, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"months >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 3),
|
|
new Temporal.Duration(4, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"months <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 6),
|
|
new Temporal.Duration(2, 1, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"weeks >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 3),
|
|
new Temporal.Duration(4, 7, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"weeks <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 6),
|
|
new Temporal.Duration(2, 1, 3, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"days >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 3),
|
|
new Temporal.Duration(4, 7, 2, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"days <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"hours >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"hours <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"minutes >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"minutes <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"seconds >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"seconds <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"milliseconds >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"milliseconds <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"microseconds >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"microseconds <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 444, 6),
|
|
new Temporal.Duration(2, 1, 3, 12, 6, 30, 15, 222, 444, 5),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
1,
|
|
"nanoseconds >, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 3),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 4),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
-1,
|
|
"nanoseconds <, relativeTo ZonedDateTime"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 111),
|
|
new Temporal.Duration(4, 7, 2, 40, 12, 15, 45, 333, 777, 111),
|
|
{ relativeTo: zonedDateTime }
|
|
),
|
|
0,
|
|
"equal, relativeTo ZonedDateTime"
|
|
);
|
|
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 6),
|
|
new Temporal.Duration(0, 0, 0, 5)
|
|
),
|
|
1,
|
|
"days >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 3),
|
|
new Temporal.Duration(0, 0, 0, 4)
|
|
),
|
|
-1,
|
|
"days <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 5)
|
|
),
|
|
1,
|
|
"hours >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 4)
|
|
),
|
|
-1,
|
|
"hours <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 5)
|
|
),
|
|
1,
|
|
"minutes >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 4)
|
|
),
|
|
-1,
|
|
"minutes <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 5)
|
|
),
|
|
1,
|
|
"seconds >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 4)
|
|
),
|
|
-1,
|
|
"seconds <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 5)
|
|
),
|
|
1,
|
|
"milliseconds >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 4)
|
|
),
|
|
-1,
|
|
"milliseconds <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 222, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 222, 5)
|
|
),
|
|
1,
|
|
"microseconds >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 4)
|
|
),
|
|
-1,
|
|
"microseconds <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 222, 444, 6),
|
|
new Temporal.Duration(0, 0, 0, 12, 6, 30, 15, 222, 444, 5)
|
|
),
|
|
1,
|
|
"nanoseconds >, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 777, 3),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 777, 4)
|
|
),
|
|
-1,
|
|
"nanoseconds <, relativeTo nothing"
|
|
);
|
|
assert.sameValue(
|
|
Temporal.Duration.compare(
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 777, 111),
|
|
new Temporal.Duration(0, 0, 0, 40, 12, 15, 45, 333, 777, 111)
|
|
),
|
|
0,
|
|
"equal, relativeTo nothing"
|
|
);
|