// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Make sure that RelativeTimeFormat exposes all required properties. Those not specified // should have undefined value. // http://tc39.github.io/proposal-intl-relative-time/ let rtf = new Intl.RelativeTimeFormat(); // Test 1.4.3 Intl.RelativeTimeFormat.prototype.format( value, unit ) assertEquals('string', typeof rtf.format(-1, 'seconds')); assertEquals('string', typeof rtf.format(-1, 'second')); assertEquals('string', typeof rtf.format(-1, 'minutes')); assertEquals('string', typeof rtf.format(-1, 'minute')); assertEquals('string', typeof rtf.format(-1, 'hours')); assertEquals('string', typeof rtf.format(-1, 'hour')); assertEquals('string', typeof rtf.format(-1, 'days')); assertEquals('string', typeof rtf.format(-1, 'day')); assertEquals('string', typeof rtf.format(-1, 'weeks')); assertEquals('string', typeof rtf.format(-1, 'week')); assertEquals('string', typeof rtf.format(-1, 'months')); assertEquals('string', typeof rtf.format(-1, 'month')); assertEquals('string', typeof rtf.format(-1, 'years')); assertEquals('string', typeof rtf.format(-1, 'year')); assertEquals('string', typeof rtf.format(-1, 'quarter')); assertEquals('string', typeof rtf.format(-1, 'quarters')); assertEquals('string', typeof rtf.format(-0, 'seconds')); assertEquals('string', typeof rtf.format(-0, 'second')); assertEquals('string', typeof rtf.format(-0, 'minutes')); assertEquals('string', typeof rtf.format(-0, 'minute')); assertEquals('string', typeof rtf.format(-0, 'hours')); assertEquals('string', typeof rtf.format(-0, 'hour')); assertEquals('string', typeof rtf.format(-0, 'days')); assertEquals('string', typeof rtf.format(-0, 'day')); assertEquals('string', typeof rtf.format(-0, 'weeks')); assertEquals('string', typeof rtf.format(-0, 'week')); assertEquals('string', typeof rtf.format(-0, 'months')); assertEquals('string', typeof rtf.format(-0, 'month')); assertEquals('string', typeof rtf.format(-0, 'years')); assertEquals('string', typeof rtf.format(-0, 'year')); assertEquals('string', typeof rtf.format(-0, 'quarter')); assertEquals('string', typeof rtf.format(-0, 'quarters')); assertThrows(() => rtf.format(NaN, 'seconds'), RangeError); assertThrows(() => rtf.format(NaN, 'second'), RangeError); assertThrows(() => rtf.format(NaN, 'minutes'), RangeError); assertThrows(() => rtf.format(NaN, 'minute'), RangeError); assertThrows(() => rtf.format(NaN, 'hours'), RangeError); assertThrows(() => rtf.format(NaN, 'hour'), RangeError); assertThrows(() => rtf.format(NaN, 'days'), RangeError); assertThrows(() => rtf.format(NaN, 'day'), RangeError); assertThrows(() => rtf.format(NaN, 'weeks'), RangeError); assertThrows(() => rtf.format(NaN, 'week'), RangeError); assertThrows(() => rtf.format(NaN, 'months'), RangeError); assertThrows(() => rtf.format(NaN, 'month'), RangeError); assertThrows(() => rtf.format(NaN, 'years'), RangeError); assertThrows(() => rtf.format(NaN, 'year'), RangeError); assertThrows(() => rtf.format(NaN, 'quarters'), RangeError); assertThrows(() => rtf.format(NaN, 'quarter'), RangeError); assertThrows(() => rtf.format(-1, 'decades'), RangeError); assertThrows(() => rtf.format(-1, 'decade'), RangeError); assertThrows(() => rtf.format(-1, 'centuries'), RangeError); assertThrows(() => rtf.format(-1, 'century'), RangeError); assertThrows(() => rtf.format(-1, 'milliseconds'), RangeError); assertThrows(() => rtf.format(-1, 'millisecond'), RangeError); assertThrows(() => rtf.format(-1, 'microseconds'), RangeError); assertThrows(() => rtf.format(-1, 'microsecond'), RangeError); assertThrows(() => rtf.format(-1, 'nanoseconds'), RangeError); assertThrows(() => rtf.format(-1, 'nanosecond'), RangeError); assertEquals('string', typeof rtf.format(5, 'day')); assertEquals('string', typeof rtf.format('5', 'day')); assertEquals('string', typeof rtf.format('-5', 'day')); assertEquals('string', typeof rtf.format('534', 'day')); assertEquals('string', typeof rtf.format('-534', 'day')); //assertThrows(() => rtf.format('xyz', 'day'), RangeError);