tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

S9.7_A1.js (2747B)


      1 // Copyright 2009 the Sputnik authors.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 info: If value is NaN, +0, -0, +Infinity, or -Infinity, return +0
      6 es5id: 9.7_A1
      7 description: >
      8    For testing use String.fromCharCode(Number).charCodeAt(0)
      9    construction
     10 ---*/
     11 
     12 // CHECK#1
     13 if (String.fromCharCode(Number.NaN).charCodeAt(0) !== +0) {
     14  throw new Test262Error('#1.1: String.fromCharCode(Number.NaN).charCodeAt(0) === 0. Actual: ' + (String.fromCharCode(Number.NaN).charCodeAt(0)));
     15 } else if (1 / String.fromCharCode(Number.NaN).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     16  throw new Test262Error('#1.2: String.fromCharCode(Number.NaN).charCodeAt(0) === +0. Actual: -0');
     17 }
     18 
     19 // CHECK#2
     20 if (String.fromCharCode(Number("abc")).charCodeAt(0) !== +0) {
     21  throw new Test262Error('#2.1: String.fromCharCode(Number("abc")).charCodeAt(0) === 0. Actual: ' + (String.fromCharCode(Number("abc")).charCodeAt(0)));
     22 } else if (1 / String.fromCharCode(0).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     23  throw new Test262Error('#2.2: String.fromCharCode(0).charCodeAt(0) === +0. Actual: -0');
     24 }
     25 
     26 // CHECK#3
     27 if (String.fromCharCode(0).charCodeAt(0) !== +0) {
     28  throw new Test262Error('#3.1: String.fromCharCode(0).charCodeAt(0) === 0. Actual: ' + (String.fromCharCode(0).charCodeAt(0)));
     29 } else if (1 / String.fromCharCode(0).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     30  throw new Test262Error('#3.2: String.fromCharCode(0).charCodeAt(0) === +0. Actual: -0');
     31 }
     32 
     33 // CHECK#4
     34 if (String.fromCharCode(-0).charCodeAt(0) !== +0) {
     35  throw new Test262Error("#4.1: String.fromCharCode(-0).charCodeAt(0) === +0");
     36 } else if (1 / String.fromCharCode(-0).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     37  throw new Test262Error("#4.2: String.fromCharCode(-0).charCodeAt(0) === +0. Actual: -0");
     38 }
     39 
     40 // CHECK#5
     41 if (String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0) !== +0) {
     42  throw new Test262Error('#5.1: String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0) === 0. Actual: ' + (String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0)));
     43 } else if (1 / String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     44  throw new Test262Error('#5.2: String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0) === +0. Actual: -0');
     45 }
     46 
     47 // CHECK#6
     48 if (String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0) !== +0) {
     49  throw new Test262Error("#6.1: String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0) === +0");
     50 } else if (1 / String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0) !== Number.POSITIVE_INFINITY) {
     51  throw new Test262Error("#6.2: String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0) === +0. Actual: -0");
     52 }
     53 
     54 reportCompare(0, 0);