// Copyright (C) 2017 Robin Templeton. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: BigInt division of complex infinity (1/0) esid: sec-multiplicative-operators-runtime-semantics-evaluation info: | Runtime Semantics: Evaluation MultiplicativeExpression: MultiplicativeExpression MultiplicativeOperator ExponentiationExpression ... 11. If MultiplicativeOperator is /, return T::divide(lnum, rnum). ... BigInt::divide (x, y) 1. If y is 0n, throw a RangeError exception. ... features: [BigInt] ---*/ assert.throws(RangeError, function() { 1n / 0n; }, '1n / 0n throws RangeError'); assert.throws(RangeError, function() { 10n / 0n; }, '10n / 0n throws RangeError'); assert.throws(RangeError, function() { 0n / 0n; }, '0n / 0n throws RangeError'); assert.throws(RangeError, function() { 1000000000000000000n / 0n; }, '1000000000000000000n / 0n throws RangeError');