tor-browser

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

S12.14_A13_T1.js (1563B)


      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: Using "try" with "catch" or "finally" statement with a "return" statement
      6 es5id: 12.14_A13_T1
      7 description: Using try/catch syntax construction
      8 ---*/
      9 
     10 // CHECK#1
     11 function myFunction1(){
     12  try{
     13    return 1;
     14  }
     15  catch(err){
     16  	throw new Test262Error('#1.1: "return 1" inside function does not lead to throwing exception');
     17    return 0;
     18  }
     19  return 2;
     20 }
     21 var x1=myFunction1();
     22 if(x1!==1){
     23  throw new Test262Error('#1.2: x1===1. Actual: x1==='+x1);
     24 }
     25 
     26 // CHECK#2
     27 function myFunction2(){
     28  try{
     29    throw "exc";
     30    return 1;
     31  }catch(err){  	
     32    return 2;
     33  }
     34  return 3;
     35 }
     36 var x2=myFunction2();
     37 if (x2!==2){
     38  throw new Test262Error('#2: x2===2. Actual: x2==='+x2);
     39 }
     40 
     41 // CHECK#3
     42 function myFunction3(){
     43  try{
     44    return someValue;
     45  }catch(err){  	
     46    return 1;
     47  }
     48  return 2;
     49 }
     50 var x3=myFunction3();
     51 if (x3!==1){
     52  throw new Test262Error('#3: x3===1. Actual: x3==='+x3);
     53 }
     54 
     55 // CHECK#4
     56 function myFunction4(){
     57  try{
     58    throw "ex1";
     59    return 1;
     60  }catch(err){
     61    throw "ex2"
     62    return 0;
     63  }
     64  return 2;
     65 }
     66 try{
     67  var x4=myFunction4();
     68  throw new Test262Error('#4.1: Throwing exception inside function lead to throwing exception outside this function');
     69 }
     70 catch(e){
     71  if(e==="ex1"){
     72    throw new Test262Error('#4.2: Exception !=="ex1". Actual: catch previous exception');
     73  }
     74  if(e!=="ex2"){
     75    throw new Test262Error('#4.3: Exception ==="ex2". Actual:  Exception ==='+ e  );
     76  }
     77 }
     78 
     79 reportCompare(0, 0);