js/src/tests/test262/ch11/11.5/11.5.3/S11.5.3_A4_T6.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 // Copyright 2009 the Sputnik authors.  All rights reserved.
     2 // This code is governed by the BSD license found in the LICENSE file.
     4 /**
     5  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
     6  *
     7  * @path ch11/11.5/11.5.3/S11.5.3_A4_T6.js
     8  * @description If dividend is a zero and the divisor is nonzero finite, the result equals the dividend
     9  */
    11 //CHECK#1
    12 if (0 % 1 !== 0) {
    13   $ERROR('#1.1: 0 % 1 === 0. Actual: ' + (0 % 1));
    14 } else {
    15   if (1 / (0 % 1) !== Number.POSITIVE_INFINITY) {
    16     $ERROR('#1.2: 0 % 1 === + 0. Actual: -0');
    17   }
    18 }
    20 //CHECK#2
    21 if (0 % -1 !== 0) {
    22   $ERROR('#2.1: 0 % -1 === 0. Actual: ' + (0 % -1));
    23 } else {
    24   if (1 / (0 %  -1) !== Number.POSITIVE_INFINITY) {
    25     $ERROR('#2.2: 0 % -1 === + 0. Actual: -0');
    26   }
    27 }
    29 //CHECK#3
    30 if (-0 % 1 !== -0) {
    31   $ERROR('#3.1: -0 % 1 === 0. Actual: ' + (-0 % 1));
    32 } else {
    33   if (1 / (-0 % 1) !== Number.NEGATIVE_INFINITY) {
    34     $ERROR('#3.2: -0 % 1 === - 0. Actual: +0');
    35   }
    36 }
    38 //CHECK#4
    39 if (-0 %  -1 !== -0) {
    40   $ERROR('#4.1: -0 % -1 === 0. Actual: ' + (-0 % -1));
    41 } else {
    42   if (1 / (-0 %  -1) !== Number.NEGATIVE_INFINITY) {
    43     $ERROR('#4.2: 0 % -1 === - 0. Actual: +0');
    44   }
    45 }
    47 //CHECK#5
    48 if (0 % Number.MAX_VALUE !== 0) {
    49   $ERROR('#5.1: 0 % Number.MAX_VALUE === 0. Actual: ' + (0 % Number.MAX_VALUE));
    50 } else {
    51   if (1 / (0 % Number.MAX_VALUE) !== Number.POSITIVE_INFINITY) {
    52     $ERROR('#5.2: 0 % Number.MAX_VALUE === + 0. Actual: -0');
    53   }
    54 }
    56 //CHECK#6
    57 if (0 % Number.MIN_VALUE !== 0) {
    58   $ERROR('#6.1: 0 % Number.MIN_VALUE === 0. Actual: ' + (0 % Number.MIN_VALUE));
    59 } else {
    60   if (1 / (0 % Number.MIN_VALUE) !== Number.POSITIVE_INFINITY) {
    61     $ERROR('#6.2: 0 % Number.MIN_VALUE === + 0. Actual: -0');
    62   }
    63 }
    65 //CHECK#7
    66 if (-0 % Number.MAX_VALUE !== -0) {
    67   $ERROR('#7.1: -0 % Number.MAX_VALUE === 0. Actual: ' + (-0 % Number.MAX_VALUE));
    68 } else {
    69   if (1 / (-0 % Number.MAX_VALUE) !== Number.NEGATIVE_INFINITY) {
    70     $ERROR('#7.2: -0 % Number.MAX_VALUE === - 0. Actual: +0');
    71   }
    72 }
    74 //CHECK#8
    75 if (-0 % Number.MIN_VALUE !== -0) {
    76   $ERROR('#8.1: -0 % Number.MIN_VALUE === 0. Actual: ' + (-0 % Number.MIN_VALUE));
    77 } else {
    78   if (1 / (-0 % Number.MIN_VALUE) !== Number.NEGATIVE_INFINITY) {
    79     $ERROR('#8.2: 0 % Number.MIN_VALUE === - 0. Actual: +0');
    80   }
    81 }

mercurial