1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/js1_5/extensions/regress-50447.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,134 @@ 1.4 +// |reftest| skip -- obsolete test 1.5 +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- 1.6 + * This Source Code Form is subject to the terms of the Mozilla Public 1.7 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.8 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.9 + 1.10 + 1.11 +/* 1.12 + * SUMMARY: New properties fileName, lineNumber have been added to Error objects 1.13 + * in SpiderMonkey. These are non-ECMA extensions and do not exist in Rhino. 1.14 + * 1.15 + * See http://bugzilla.mozilla.org/show_bug.cgi?id=50447 1.16 + */ 1.17 + 1.18 +//----------------------------------------------------------------------------- 1.19 +var BUGNUMBER = 50447; 1.20 +var summary = 'Test (non-ECMA) Error object properties fileName, lineNumber'; 1.21 + 1.22 + 1.23 +//----------------------------------------------------------------------------- 1.24 +test(); 1.25 +//----------------------------------------------------------------------------- 1.26 + 1.27 + 1.28 +function test() 1.29 +{ 1.30 + enterFunc ('test'); 1.31 + printBugNumber(BUGNUMBER); 1.32 + printStatus (summary); 1.33 + 1.34 + testRealError(); 1.35 + test1(); 1.36 + test2(); 1.37 + test3(); 1.38 + test4(); 1.39 + 1.40 + exitFunc('test'); 1.41 +} 1.42 + 1.43 + 1.44 +function testRealError() 1.45 +{ 1.46 + /* throw a real error, and see what it looks like */ 1.47 + enterFunc ("testRealError"); 1.48 + 1.49 + try 1.50 + { 1.51 + blabla; 1.52 + } 1.53 + catch (e) 1.54 + { 1.55 + if (e.fileName.search (/-50447\.js$/i) == -1) 1.56 + reportCompare('PASS', 'FAIL', 1.57 + "expected fileName to end with '-50447.js'"); 1.58 + 1.59 + reportCompare (83, e.lineNumber, 1.60 + "lineNumber property returned unexpected value."); 1.61 + } 1.62 + 1.63 + exitFunc ("testRealError"); 1.64 +} 1.65 + 1.66 + 1.67 +function test1() 1.68 +{ 1.69 + /* generate an error with msg, file, and lineno properties */ 1.70 + enterFunc ("test1"); 1.71 + 1.72 + var e = new InternalError ("msg", "file", 2); 1.73 + reportCompare ("(new InternalError(\"msg\", \"file\", 2))", 1.74 + e.toSource(), 1.75 + "toSource() returned unexpected result."); 1.76 + reportCompare ("file", e.fileName, 1.77 + "fileName property returned unexpected value."); 1.78 + reportCompare (2, e.lineNumber, 1.79 + "lineNumber property returned unexpected value."); 1.80 + 1.81 + exitFunc ("test1"); 1.82 +} 1.83 + 1.84 + 1.85 +function test2() 1.86 +{ 1.87 + /* generate an error with only msg property */ 1.88 + enterFunc ("test2"); 1.89 + 1.90 + var e = new InternalError ("msg"); 1.91 + reportCompare ("(new InternalError(\"msg\", \"\"))", 1.92 + e.toSource(), 1.93 + "toSource() returned unexpected result."); 1.94 + reportCompare ("", e.fileName, 1.95 + "fileName property returned unexpected value."); 1.96 + reportCompare (0, e.lineNumber, 1.97 + "lineNumber property returned unexpected value."); 1.98 + 1.99 + exitFunc ("test2"); 1.100 +} 1.101 + 1.102 + 1.103 +function test3() 1.104 +{ 1.105 + /* generate an error with only msg and lineNo properties */ 1.106 + enterFunc ("test3"); 1.107 + 1.108 + var e = new InternalError ("msg"); 1.109 + e.lineNumber = 10; 1.110 + reportCompare ("(new InternalError(\"msg\", \"\", 10))", 1.111 + e.toSource(), 1.112 + "toSource() returned unexpected result."); 1.113 + reportCompare ("", e.fileName, 1.114 + "fileName property returned unexpected value."); 1.115 + reportCompare (10, e.lineNumber, 1.116 + "lineNumber property returned unexpected value."); 1.117 + 1.118 + exitFunc ("test3"); 1.119 +} 1.120 + 1.121 + 1.122 +function test4() 1.123 +{ 1.124 + /* generate an error with only msg and filename properties */ 1.125 + enterFunc ("test4"); 1.126 + 1.127 + var e = new InternalError ("msg", "file"); 1.128 + reportCompare ("(new InternalError(\"msg\", \"file\"))", 1.129 + e.toSource(), 1.130 + "toSource() returned unexpected result."); 1.131 + reportCompare ("file", e.fileName, 1.132 + "fileName property returned unexpected value."); 1.133 + reportCompare (0, e.lineNumber, 1.134 + "lineNumber property returned unexpected value."); 1.135 + 1.136 + exitFunc ("test4"); 1.137 +}