| // 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. |
| |
| // RelativeTimeFormat constructor can't be called as function. |
| assertThrows(() => Intl.RelativeTimeFormat('sr'), TypeError); |
| |
| // Non-string locale. |
| //assertThrows(() => new Intl.RelativeTimeFormat(5), TypeError); |
| |
| // Invalid locale string. |
| //assertThrows(() => new Intl.RelativeTimeFormat('abcdefghi'), RangeError); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat('sr', {})); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat([], {})); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat(['fr', 'ar'], {})); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat({0: 'ja', 1:'fr'}, {})); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat({1: 'ja', 2:'fr'}, {})); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat('sr')); |
| |
| assertDoesNotThrow(() => new Intl.RelativeTimeFormat()); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat( |
| 'sr', { |
| localeMatcher: 'lookup', |
| style: 'short', |
| numeric: 'always' |
| })); |
| |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {localeMatcher: 'lookup'})); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {localeMatcher: 'best fit'})); |
| |
| assertThrows( |
| () => new Intl.RelativeTimeFormat('sr', {localeMatcher: 'hello'}), |
| RangeError); |
| |
| assertThrows( |
| () => new Intl.RelativeTimeFormat('sr', {localeMatcher: 'look up'}), |
| RangeError); |
| |
| assertThrows( |
| () => new Intl.RelativeTimeFormat('sr', {localeMatcher: 'bestfit'}), |
| RangeError); |
| |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {style: 'long'})); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {style: 'short'})); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {style: 'narrow'})); |
| |
| assertThrows( |
| () => new Intl.RelativeTimeFormat('sr', {style: 'giant'}), |
| RangeError); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {numeric: 'always'})); |
| |
| assertDoesNotThrow( |
| () => new Intl.RelativeTimeFormat('sr', {numeric: 'auto'})); |
| |
| assertThrows( |
| () => new Intl.RelativeTimeFormat('sr', {numeric: 'never'}), |
| RangeError); |