blob: 084d711a12ed50a2a459bc2b94a0f633db014f4c [file] [log] [blame]
// Copyright (C) 2020 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-number.prototype.toprecision
description: >
Throws a RangeError if precision cannot be coerced to a number in range.
info: |
Let p be ? ToInteger(precision).
If x is not finite, return ! Number::toString(x).
If p < 1 or p > 100, throw a RangeError exception.
features: [Symbol]
---*/
var toPrecision = Number.prototype.toPrecision;
assert.throws(RangeError, function() {
toPrecision.call(1, function() {});
}, "`function() {}` doesn't coerce into a number in range (1-100)");
assert.throws(RangeError, function() {
toPrecision.call(1, NaN);
}, "NaN doesn't coerce into a number in range (1-100)");
assert.throws(RangeError, function() {
toPrecision.call(1, {});
}, "{} doesn't coerce into a number in range (1-100)");