mirror of
https://github.com/tc39/test262.git
synced 2025-05-16 12:50:37 +02:00
The millisecond representation of a given Date instance is dependent on the local system's time zone settings. In order to pass consistently across contexts, tests for this value must take the system configuration into account. Introduce a test harness utility function to encapsulate these concerns. Re-use this function across all test files that assert the exact millisecond representation of Date instances.
22 lines
710 B
JavaScript
22 lines
710 B
JavaScript
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/**
|
|
* Verify that the given date object's Number representation describes the
|
|
* correct number of milliseconds since the Unix epoch relative to the local
|
|
* time zone (as interpreted at the specified date).
|
|
*
|
|
* @param {Date} date
|
|
* @param {Number} expectedMs
|
|
*/
|
|
function assertRelativeDateMs(date, expectedMs) {
|
|
var actualMs = date.valueOf();
|
|
var localOffset = date.getTimezoneOffset() * 60000;
|
|
|
|
if (actualMs - localOffset !== expectedMs) {
|
|
$ERROR(
|
|
'Expected ' + date + ' to be ' + expectedMs +
|
|
' milliseconds from the Unix epoch'
|
|
);
|
|
}
|
|
}
|