| // Copyright (C) 2015 the V8 project authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| /*--- |
| es6id: 21.1.2.2 |
| description: > |
| Throw a RangeError if an argument is < 0 or > 0x10FFFF. |
| info: | |
| String.fromCodePoint ( ...codePoints ) |
| |
| 1. Let codePoints be a List containing the arguments passed to this function. |
| 2. Let length be the number of elements in codePoints. |
| 3. Let elements be a new List. |
| 4. Let nextIndex be 0. |
| 5. Repeat while nextIndex < length |
| a. Let next be codePoints[nextIndex]. |
| b. Let nextCP be ToNumber(next). |
| c. ReturnIfAbrupt(nextCP). |
| d. If SameValue(nextCP, ToInteger(nextCP)) is false, throw a RangeError |
| exception. |
| e. If nextCP < 0 or nextCP > 0x10FFFF, throw a RangeError exception. |
| ... |
| features: [String.fromCodePoint] |
| ---*/ |
| |
| assert.throws(RangeError, function() { |
| String.fromCodePoint(-1); |
| }); |
| |
| assert.throws(RangeError, function() { |
| String.fromCodePoint(1, -1); |
| }); |
| |
| assert.throws(RangeError, function() { |
| String.fromCodePoint(1114112); |
| }); |
| |
| assert.throws(RangeError, function() { |
| String.fromCodePoint(Infinity); |
| }); |