mirror of https://github.com/tc39/test262.git
54 lines
2.7 KiB
JavaScript
54 lines
2.7 KiB
JavaScript
// 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.duration.compare
|
|
description: Basic comparisons.
|
|
features: [Temporal]
|
|
---*/
|
|
|
|
const td1pos = new Temporal.Duration(0, 0, 0, 0, 5, 5, 5, 5, 5, 5);
|
|
const td2pos = new Temporal.Duration(0, 0, 0, 0, 5, 4, 5, 5, 5, 5);
|
|
const td1neg = new Temporal.Duration(0, 0, 0, 0, -5, -5, -5, -5, -5, -5);
|
|
const td2neg = new Temporal.Duration(0, 0, 0, 0, -5, -4, -5, -5, -5, -5);
|
|
assert.sameValue(Temporal.Duration.compare(td1pos, td1pos), 0,
|
|
"time units: equal");
|
|
assert.sameValue(Temporal.Duration.compare(td2pos, td1pos), -1,
|
|
"time units: smaller/larger");
|
|
assert.sameValue(Temporal.Duration.compare(td1pos, td2pos), 1,
|
|
"time units: larger/smaller");
|
|
assert.sameValue(Temporal.Duration.compare(td1neg, td1neg), 0,
|
|
"time units: negative/negative equal");
|
|
assert.sameValue(Temporal.Duration.compare(td2neg, td1neg), 1,
|
|
"time units: negative/negative smaller/larger");
|
|
assert.sameValue(Temporal.Duration.compare(td1neg, td2neg), -1,
|
|
"time units: negative/negative larger/smaller");
|
|
assert.sameValue(Temporal.Duration.compare(td1neg, td2pos), -1,
|
|
"time units: negative/positive");
|
|
assert.sameValue(Temporal.Duration.compare(td1pos, td2neg), 1,
|
|
"time units: positive/negative");
|
|
|
|
const dd1pos = new Temporal.Duration(5, 5, 5, 5, 5, 5, 5, 5, 5, 5);
|
|
const dd2pos = new Temporal.Duration(5, 5, 5, 5, 5, 4, 5, 5, 5, 5);
|
|
const dd1neg = new Temporal.Duration(-5, -5, -5, -5, -5, -5, -5, -5, -5, -5);
|
|
const dd2neg = new Temporal.Duration(-5, -5, -5, -5, -5, -4, -5, -5, -5, -5);
|
|
const relativeTo = Temporal.PlainDate.from("2017-01-01");
|
|
assert.throws(RangeError, () => Temporal.Duration.compare(dd1pos, dd2pos),
|
|
"date units: relativeTo is required");
|
|
assert.sameValue(Temporal.Duration.compare(dd1pos, dd1pos, { relativeTo }), 0,
|
|
"date units: equal");
|
|
assert.sameValue(Temporal.Duration.compare(dd2pos, dd1pos, { relativeTo }), -1,
|
|
"date units: smaller/larger");
|
|
assert.sameValue(Temporal.Duration.compare(dd1pos, dd2pos, { relativeTo }), 1,
|
|
"date units: larger/smaller");
|
|
assert.sameValue(Temporal.Duration.compare(dd1neg, dd1neg, { relativeTo }), 0,
|
|
"date units: negative/negative equal");
|
|
assert.sameValue(Temporal.Duration.compare(dd2neg, dd1neg, { relativeTo }), 1,
|
|
"date units: negative/negative smaller/larger");
|
|
assert.sameValue(Temporal.Duration.compare(dd1neg, dd2neg, { relativeTo }), -1,
|
|
"date units: negative/negative larger/smaller");
|
|
assert.sameValue(Temporal.Duration.compare(dd1neg, dd2pos, { relativeTo }), -1,
|
|
"date units: negative/positive");
|
|
assert.sameValue(Temporal.Duration.compare(dd1pos, dd2neg, { relativeTo }), 1,
|
|
"date units: positive/negative");
|