js/src/tests/js1_5/extensions/regress-50447.js

changeset 0
6474c204b198
     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 +}

mercurial