test262/test/built-ins/Temporal/ZonedDateTime/from/argument-zoneddatetime.js
Philip Chimento 27f0104bc6 Regularize Temporal.*.from() object cloning tests
Each from() method except Calendar and TimeZone should test that when you
pass an instance of that type, the return value is a clone of that
instance, and a distinct object.

These tests existed already for some types; regularize them and add the
ones that didn't exist yet.

In order to test the referenceISODay of a PlainYearMonth we add an
argument to TemporalHelpers.assertPlainYearMonth.
2022-05-03 08:18:02 +02:00

22 lines
789 B
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.zoneddatetime.from
description: A ZonedDateTime object is copied, not returned directly
features: [Temporal]
---*/
const orig = new Temporal.ZonedDateTime(946684800_000_000_010n, new Temporal.TimeZone("UTC"));
const result = Temporal.ZonedDateTime.from(orig);
assert.sameValue(result.epochNanoseconds, 946684800_000_000_010n, "ZonedDateTime is copied");
assert.sameValue(result.timeZone, orig.timeZone, "time zone is the same");
assert.sameValue(result.calendar, orig.calendar, "calendar is the same");
assert.notSameValue(
result,
orig,
"When a ZonedDateTime is given, the returned value is not the original ZonedDateTime"
);