mirror of
https://github.com/tc39/test262.git
synced 2025-07-31 01:44:54 +02:00
Prior to this commit, the modified tests used the strict equality operator to compare computed values with negative zero. Due to the semantics of that operator, these tests would spuriously pass if the value under test was in fact positive zero. Update the tests to be more precise by instead asserting equality with the `assert.sameValue` utility method (since that method correctly distinguishes between negative zero and positive zero).
101 lines
1.7 KiB
JavaScript
101 lines
1.7 KiB
JavaScript
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
info: Catching objects with try/catch/finally statement
|
|
es5id: 12.14_A18_T5
|
|
description: Catching Number
|
|
---*/
|
|
|
|
// CHECK#1
|
|
try{
|
|
throw 13;
|
|
}
|
|
catch(e){
|
|
if (e!==13) throw new Test262Error('#1: Exception ===13. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#2
|
|
try{
|
|
throw 10+3;
|
|
}
|
|
catch(e){
|
|
if (e!==13) throw new Test262Error('#2: Exception ===13. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#3
|
|
var b=13;
|
|
try{
|
|
throw b;
|
|
}
|
|
catch(e){
|
|
if (e!==13) throw new Test262Error('#3: Exception ===13. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#4
|
|
var a=3;
|
|
var b=10;
|
|
try{
|
|
throw a+b;
|
|
}
|
|
catch(e){
|
|
if (e!==13) throw new Test262Error('#4: Exception ===13. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#5
|
|
try{
|
|
throw 2.13;
|
|
}
|
|
catch(e){
|
|
if (e!==2.13) throw new Test262Error('#5: Exception ===2.13. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#6
|
|
var ex=2/3;
|
|
try{
|
|
throw 2/3;
|
|
}
|
|
catch(e){
|
|
if (e!==ex) throw new Test262Error('#6: Exception ===2/3. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#7
|
|
try{
|
|
throw NaN;
|
|
}
|
|
catch(e){
|
|
assert.sameValue(e, NaN, "e is NaN");
|
|
}
|
|
|
|
// CHECK#8
|
|
try{
|
|
throw +Infinity;
|
|
}
|
|
catch(e){
|
|
if (e!==+Infinity) throw new Test262Error('#8: Exception ===+Infinity. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#9
|
|
try{
|
|
throw -Infinity;
|
|
}
|
|
catch(e){
|
|
if (e!==-Infinity) throw new Test262Error('#9: Exception ===-Infinity. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#10
|
|
try{
|
|
throw +0;
|
|
}
|
|
catch(e){
|
|
if (e!==+0) throw new Test262Error('#10: Exception ===+0. Actual: Exception ==='+ e );
|
|
}
|
|
|
|
// CHECK#11
|
|
try{
|
|
throw -0;
|
|
}
|
|
catch(e){
|
|
assert.sameValue(e, -0);
|
|
}
|