Changeset 24287 in webkit


Ignore:
Timestamp:
Jul 14, 2007, 10:04:03 AM (17 years ago)
Author:
bdash
Message:

2007-07-14 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Darin.

Fixes http://bugs.webkit.org/show_bug.cgi?id=13517,

http://bugs.webkit.org/show_bug.cgi?id=14237, and
the failure of test js1_5/Scope/regress-185485.js

Bug 13517: DOM Exception 8 in finance.aol.com sub-page
Bug 14237: Javascript "var" statement interprets initialization in the topmost function scope

  • kjs/nodes.cpp: (VarDeclNode::evaluate):
  • tests/mozilla/expected.html:

2007-07-14 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Darin.

Added tests for the following bugs:
http://bugs.webkit.org/show_bug.cgi?id=13517
http://bugs.webkit.org/show_bug.cgi?id=14237

Bug 13517: DOM Exception 8 in finance.aol.com sub-page
Bug 14237: Javascript "var" statement interprets initialization in the topmost function scope

  • fast/js/resources/vardecl-blocks-init.js: Added.
  • fast/js/resources/vardecl-preserve-arguments.js: Updated.
  • fast/js/vardecl-blocks-init-expected.txt: Added.
  • fast/js/vardecl-blocks-init.html: Added.
  • fast/js/vardecl-preserve-arguments-expected.txt: Updated result.
Location:
trunk
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r24244 r24287  
     12007-07-14  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
     2
     3        Reviewed by Darin.
     4
     5        Fixes http://bugs.webkit.org/show_bug.cgi?id=13517,
     6              http://bugs.webkit.org/show_bug.cgi?id=14237, and
     7              the failure of test js1_5/Scope/regress-185485.js
     8
     9        Bug 13517: DOM Exception 8 in finance.aol.com sub-page
     10        Bug 14237: Javascript "var" statement interprets initialization in the topmost function scope
     11
     12        * kjs/nodes.cpp:
     13        (VarDeclNode::evaluate):
     14        * tests/mozilla/expected.html:
     15
    1162007-07-12  Alexey Proskuryakov  <ap@webkit.org>
    217
  • trunk/JavaScriptCore/kjs/nodes.cpp

    r21790 r24287  
    44 *  Copyright (C) 2001 Peter Kelly (pmk@post.com)
    55 *  Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
     6 *  Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca)
    67 *
    78 *  This library is free software; you can redistribute it and/or
     
    15961597      val = init->evaluate(exec);
    15971598      KJS_CHECKEXCEPTIONVALUE
    1598   } else {
     1599     
     1600      if (variable->getDirect(ident) || ident == exec->propertyNames().arguments) {
     1601          const ScopeChain& chain = exec->context()->scopeChain();
     1602          ScopeChainIterator iter = chain.begin();
     1603          ScopeChainIterator end = chain.end();       
     1604
     1605          // we must always have something in the scope chain
     1606          ASSERT(iter != end);
     1607
     1608          PropertySlot slot;
     1609          JSObject* base;
     1610
     1611          do {
     1612              base = *iter;
     1613              if (base->getPropertySlot(exec, ident, slot))
     1614                  break;
     1615
     1616             ++iter;
     1617          } while (iter != end);
     1618
     1619          unsigned flags = 0;
     1620          base->getPropertyAttributes(ident, flags);
     1621          if (varType == VarDeclNode::Constant)
     1622              flags |= ReadOnly;
     1623
     1624          base->put(exec, ident, val, flags);
     1625          return jsString(ident.ustring());
     1626      }
     1627    } else {
    15991628      // already declared? - check with getDirect so you can override
    16001629      // built-in properties of the global object with var declarations.
  • trunk/JavaScriptCore/tests/mozilla/expected.html

    r20203 r24287  
    88Test List: All tests<br>
    99Skip List: (none)<br>
    10 1135 test(s) selected, 1127 test(s) completed, 68 failures reported (6.03% failed)<br>
    11 Engine command line: /Build/symroots/Debug/testkjs <br>
    12 OS type: Darwin ap0101i-dhcp167.apple.com 8.9.1 Darwin Kernel Version 8.9.1: Thu Feb 22 20:55:00 PST 2007; root:xnu-792.18.15~1/RELEASE_I386 i386 i386<br>
    13 Testcase execution time: 2 minutes, 16 seconds.<br>
    14 Tests completed on Tue Mar 13 16:12:55 2007.<br><br>
     101135 test(s) selected, 1127 test(s) completed, 67 failures reported (5.94% failed)<br>
     11Engine command line: /Users/Cameron/WebKit/WebKitBuild/Release/testkjs <br>
     12OS type: Darwin d141-131-181.home.cgocable.net 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386<br>
     13Testcase execution time: 45 seconds.<br>
     14Tests completed on Fri Jul 13 23:05:00 2007.<br><br>
    1515[ <a href='#fail_detail'>Failure Details</a> | <a href='#retest_list'>Retest List</a> | <a href='menu.html'>Test Selection Page</a> ]<br>
    1616<hr>
     
    7373--> RegExp/hex-001.js JS regexp anchoring on empty match bug<br>
    7474--> BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=2157<br>
    75 [21278] ./ecma_2/RegExp/regress-001.js line 18: TypeError: Object /a||b/ (result of expression /a||b/) does not allow calls.<br>
     75[29246] ./ecma_2/RegExp/regress-001.js line 18: TypeError: Object /a||b/ (result of expression /a||b/) does not allow calls.<br>
    7676</tt><br>
    7777<a name='failure6'></a><dd><b>Testcase <a target='other_window' href='./ecma_2/RegExp/unicode-001.js'>ecma_2/RegExp/unicode-001.js</a> failed</b> <br>
     
    8181Complete testcase output was:<br>
    8282--> RegExp/unicode-001.js new RegExp( pattern, flags )<br>
    83 [21279] ./ecma_2/RegExp/unicode-001.js line 20: SyntaxError: Invalid regular expression: PCRE does not support \L, \l, \N, \U, or \u<br>
     83[29247] ./ecma_2/RegExp/unicode-001.js line 20: SyntaxError: Invalid regular expression: PCRE does not support \L, \l, \N, \U, or \u<br>
    8484</tt><br>
    8585<a name='failure7'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Date/15.9.5.7.js'>ecma_3/Date/15.9.5.7.js</a> failed</b> <br>
     
    9696--> (Mon Feb 28 2000 15:59:59 GMT-0800 (PST)).toLocaleTimeString() = 3:59:59 PM PST FAILED! expected: 15:59:59<br>
    9797--> (Tue Feb 29 2000 00:00:00 GMT-0800 (PST)).toLocaleTimeString() = 12:00:00 AM PST FAILED! expected: 00:00:00<br>
    98 --> (Tue Mar 13 2007 16:12:32 GMT-0700 (PDT)).toLocaleTimeString() = 4:12:32 PM PDT FAILED! expected: 16:12:32<br>
    99 --> (Wed Mar 14 2007 00:12:32 GMT-0700 (PDT)).toLocaleTimeString() = 12:12:32 AM PDT FAILED! expected: 00:12:32<br>
     98--> (Fri Jul 13 2007 23:04:49 GMT-0700 (PDT)).toLocaleTimeString() = 11:04:49 PM PDT FAILED! expected: 23:04:49<br>
     99--> (Sat Jul 14 2007 07:04:49 GMT-0700 (PDT)).toLocaleTimeString() = 7:04:49 AM PDT FAILED! expected: 07:04:49<br>
    100100--> (Fri Dec 31 2004 16:00:00 GMT-0800 (PST)).toLocaleTimeString() = 4:00:00 PM PST FAILED! expected: 16:00:00<br>
    101101--> (Fri Dec 31 2004 15:59:59 GMT-0800 (PST)).toLocaleTimeString() = 3:59:59 PM PST FAILED! expected: 15:59:59<br>
     
    236236Testcase terminated with signal 0<br>
    237237Complete testcase output was:<br>
    238 [21406] ./ecma_3/RegExp/regress-100199.js line 48: SyntaxError: Invalid regular expression: missing terminating ] for character class<br>
     238[29374] ./ecma_3/RegExp/regress-100199.js line 48: SyntaxError: Invalid regular expression: missing terminating ] for character class<br>
    239239</tt><br>
    240240<a name='failure15'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/regress-188206.js'>ecma_3/RegExp/regress-188206.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=188206' target='other_window'>Bug Number 188206</a><br>
     
    291291Testcase terminated with signal 0<br>
    292292Complete testcase output was:<br>
    293 [21432] ./ecma_3/Statements/regress-194364.js line 1: SyntaxError: Parse error<br>
     293[29400] ./ecma_3/Statements/regress-194364.js line 1: SyntaxError: Parse error<br>
    294294</tt><br>
    295295<a name='failure18'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-001.js'>ecma_3/Unicode/uc-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23610' target='other_window'>Bug Number 23610</a><br>
     
    315315Complete testcase output was:<br>
    316316--> JS1_2 Object.toString()<br>
    317 [21453] ./js1_2/Objects/toString-001.js line 103: TypeError: Object /^\{(.*)\}$/ (result of expression /^\{(.*)\}$/) does not allow calls.<br>
     317[29421] ./js1_2/Objects/toString-001.js line 103: TypeError: Object /^\{(.*)\}$/ (result of expression /^\{(.*)\}$/) does not allow calls.<br>
    318318</tt><br>
    319319<a name='failure21'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/Function_object.js'>js1_2/function/Function_object.js</a> failed</b> <br>
     
    341341Complete testcase output was:<br>
    342342--> JS_1.2 The variable statment<br>
    343 [21466] ./js1_2/function/regexparg-1.js line 80: TypeError: Object /abc/ (result of expression x) does not allow calls.<br>
     343[29434] ./js1_2/function/regexparg-1.js line 80: TypeError: Object /abc/ (result of expression x) does not allow calls.<br>
    344344</tt><br>
    345345<a name='failure24'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-1.js'>js1_2/function/tostring-1.js</a> failed</b> <br>
     
    414414--> Executing script: compile.js<br>
    415415--> As described in Netscape doc "Whats new in JavaScript 1.2" RegExp: compile<br>
    416 [21493] ./js1_2/regexp/compile.js line 43: TypeError: Value undefined (result of expression regularExpression.compile) is not object.<br>
     416[29461] ./js1_2/regexp/compile.js line 43: TypeError: Value undefined (result of expression regularExpression.compile) is not object.<br>
    417417</tt><br>
    418418<a name='failure32'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/endLine.js'>js1_2/regexp/endLine.js</a> failed</b> <br>
     
    428428Complete testcase output was:<br>
    429429--> BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=6359<br>
    430 [21509] ./js1_2/regexp/regress-6359.js line 56: TypeError: Object /(a*)b\1+/ (result of expression /(a*)b\1+/) does not allow calls.<br>
     430[29477] ./js1_2/regexp/regress-6359.js line 56: TypeError: Object /(a*)b\1+/ (result of expression /(a*)b\1+/) does not allow calls.<br>
    431431</tt><br>
    432432<a name='failure34'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/regress-9141.js'>js1_2/regexp/regress-9141.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=http://bugzilla.mozilla.org/show_bug.cgi?id=9141' target='other_window'>Bug Number http://bugzilla.mozilla.org/show_bug.cgi?id=9141</a><br>
     
    436436Complete testcase output was:<br>
    437437--> BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=9141<br>
    438 [21510] ./js1_2/regexp/regress-9141.js line 73: TypeError: Object /(?:xx|x)*/ (result of expression /(?:xx|x)*/) does not allow calls.<br>
     438[29478] ./js1_2/regexp/regress-9141.js line 73: TypeError: Object /(?:xx|x)*/ (result of expression /(?:xx|x)*/) does not allow calls.<br>
    439439</tt><br>
    440440<a name='failure35'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/simple_form.js'>js1_2/regexp/simple_form.js</a> failed</b> <br>
     
    445445--> Executing script: simple_form.js<br>
    446446--> As described in Netscape doc "Whats new in JavaScript 1.2" RegExp: simple form<br>
    447 [21511] ./js1_2/regexp/simple_form.js line 43: TypeError: Object /[0-9]{3}/ (result of expression /[0-9]{3}/) does not allow calls.<br>
     447[29479] ./js1_2/regexp/simple_form.js line 43: TypeError: Object /[0-9]{3}/ (result of expression /[0-9]{3}/) does not allow calls.<br>
    448448</tt><br>
    449449<a name='failure36'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/special_characters.js'>js1_2/regexp/special_characters.js</a> failed</b> <br>
     
    497497Complete testcase output was:<br>
    498498--> script-001 NativeScript<br>
    499 [21537] ./js1_3/Script/script-001.js line 133: ReferenceError: Can't find variable: Script<br>
     499[29505] ./js1_3/Script/script-001.js line 133: ReferenceError: Can't find variable: Script<br>
    500500</tt><br>
    501501<a name='failure42'></a><dd><b>Testcase <a target='other_window' href='./js1_3/regress/function-001-n.js'>js1_3/regress/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
     
    532532Testcase terminated with signal 0<br>
    533533Complete testcase output was:<br>
    534 [21582] ./js1_5/Exceptions/errstack-001.js line 247: TypeError: Undefined value<br>
     534[29550] ./js1_5/Exceptions/errstack-001.js line 247: TypeError: Undefined value<br>
    535535</tt><br>
    536536<a name='failure47'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/regress-50447.js'>js1_5/Exceptions/regress-50447.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=50447' target='other_window'>Bug Number 50447</a><br>
     
    541541--> BUGNUMBER: 50447<br>
    542542--> STATUS: Test (non-ECMA) Error object properties fileName, lineNumber<br>
    543 [21583] ./js1_5/Exceptions/regress-50447.js line 65: TypeError: Undefined value<br>
     543[29551] ./js1_5/Exceptions/regress-50447.js line 65: TypeError: Undefined value<br>
    544544</tt><br>
    545545<a name='failure48'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-001.js'>js1_5/GetSet/getset-001.js</a> failed</b> <br>
     
    566566Testcase terminated with signal 0<br>
    567567Complete testcase output was:<br>
    568 [21598] ./js1_5/Object/regress-90596-001.js line 48: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
     568[29566] ./js1_5/Object/regress-90596-001.js line 48: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
    569569</tt><br>
    570570<a name='failure52'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-002.js'>js1_5/Object/regress-90596-002.js</a> failed</b> <br>
     
    573573Testcase terminated with signal 0<br>
    574574Complete testcase output was:<br>
    575 [21599] ./js1_5/Object/regress-90596-002.js line 48: ReferenceError: Can't find variable: uneval<br>
     575[29567] ./js1_5/Object/regress-90596-002.js line 48: ReferenceError: Can't find variable: uneval<br>
    576576</tt><br>
    577577<a name='failure53'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-001.js'>js1_5/Object/regress-96284-001.js</a> failed</b> <br>
     
    580580Testcase terminated with signal 0<br>
    581581Complete testcase output was:<br>
    582 [21601] ./js1_5/Object/regress-96284-001.js line 49: TypeError: Value undefined (result of expression obj1.toSource) is not object.<br>
     582[29569] ./js1_5/Object/regress-96284-001.js line 49: TypeError: Value undefined (result of expression obj1.toSource) is not object.<br>
    583583</tt><br>
    584584<a name='failure54'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-002.js'>js1_5/Object/regress-96284-002.js</a> failed</b> <br>
     
    587587Testcase terminated with signal 0<br>
    588588Complete testcase output was:<br>
    589 [21602] ./js1_5/Object/regress-96284-002.js line 49: ReferenceError: Can't find variable: uneval<br>
     589[29570] ./js1_5/Object/regress-96284-002.js line 49: ReferenceError: Can't find variable: uneval<br>
    590590</tt><br>
    591591<a name='failure55'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-44009.js'>js1_5/Regress/regress-44009.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=44009' target='other_window'>Bug Number 44009</a><br>
     
    596596--> BUGNUMBER: 44009<br>
    597597--> STATUS: Testing that we don't crash on obj.toSource()<br>
    598 [21607] ./js1_5/Regress/regress-44009.js line 60: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
     598[29575] ./js1_5/Regress/regress-44009.js line 60: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
    599599</tt><br>
    600600<a name='failure56'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-68498-003.js'>js1_5/Regress/regress-68498-003.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=68498' target='other_window'>Bug Number 68498</a><br>
     
    629629Testcase terminated with signal 0<br>
    630630Complete testcase output was:<br>
    631 [21633] ./js1_5/Regress/regress-127557.js line 75: ReferenceError: Can't find variable: clone<br>
     631[29601] ./js1_5/Regress/regress-127557.js line 75: ReferenceError: Can't find variable: clone<br>
    632632</tt><br>
    633633<a name='failure60'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-172699.js'>js1_5/Regress/regress-172699.js</a> failed</b> <br>
     
    636636Testcase terminated with signal 0<br>
    637637Complete testcase output was:<br>
    638 [21642] ./js1_5/Regress/regress-172699.js line 61: URIError: URI error<br>
     638[29610] ./js1_5/Regress/regress-172699.js line 61: URIError: URI error<br>
    639639</tt><br>
    640640<a name='failure61'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-179524.js'>js1_5/Regress/regress-179524.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=179524' target='other_window'>Bug Number 179524</a><br>
     
    689689--> FAILED!: [reported from test()] <br>
    690690</tt><br>
    691 <a name='failure62'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-185485.js'>js1_5/Scope/regress-185485.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=185485' target='other_window'>Bug Number 185485</a><br>
     691<a name='failure62'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
    692692 [ <a href='#failure61'>Previous Failure</a> | <a href='#failure63'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    693 <tt>--> STATUS: Testing |with (x) {function f() {}}| when |x.f| already exists<br>
    694 Failure messages were:<br>
    695 --> FAILED!: [reported from test()] Section 2 of test -<br>
    696 --> FAILED!: [reported from test()] Expected value '2', Actual value '1'<br>
    697 --> FAILED!: [reported from test()] <br>
    698 --> FAILED!: [reported from test()] Section 3 of test -<br>
    699 --> FAILED!: [reported from test()] Expected value '2', Actual value '1'<br>
    700 --> FAILED!: [reported from test()] <br>
    701 --> FAILED!: [reported from test()] Section 5 of test -<br>
    702 --> FAILED!: [reported from test()] Expected value 'function () <br>
    703 --> FAILED!: [reported from test()] {<br>
    704 --> FAILED!: [reported from test()] }', Actual value '0'<br>
    705 --> FAILED!: [reported from test()] <br>
    706 </tt><br>
    707 <a name='failure63'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
     693<tt>Expected exit code 0, got 3<br>
     694Testcase terminated with signal 0<br>
     695Complete testcase output was:<br>
     696[29635] ./js1_5/Scope/regress-220584.js line 56: ReferenceError: Can't find variable: Script<br>
     697</tt><br>
     698<a name='failure63'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
    708699 [ <a href='#failure62'>Previous Failure</a> | <a href='#failure64'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    709 <tt>Expected exit code 0, got 3<br>
    710 Testcase terminated with signal 0<br>
    711 Complete testcase output was:<br>
    712 [21667] ./js1_5/Scope/regress-220584.js line 56: ReferenceError: Can't find variable: Script<br>
    713 </tt><br>
    714 <a name='failure64'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
    715  [ <a href='#failure63'>Previous Failure</a> | <a href='#failure65'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    716700<tt>--> STATUS: Testing scope after changing obj.__proto__<br>
    717701Failure messages were:<br>
     
    724708--> FAILED!: [reported from test()] <br>
    725709</tt><br>
    726 <a name='failure65'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
    727  [ <a href='#failure64'>Previous Failure</a> | <a href='#failure66'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     710<a name='failure64'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
     711 [ <a href='#failure63'>Previous Failure</a> | <a href='#failure65'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    728712<tt>--> STATUS: E4X should be enabled even when e4x=1 not specified<br>
    729713Failure messages were:<br>
     
    735719--> FAILED!: <br>
    736720</tt><br>
    737 <a name='failure66'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
     721<a name='failure65'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
     722 [ <a href='#failure64'>Previous Failure</a> | <a href='#failure66'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     723<tt>Expected exit code 0, got 3<br>
     724Testcase terminated with signal 0<br>
     725Complete testcase output was:<br>
     726Testcase produced no output!</tt><br>
     727<a name='failure66'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
    738728 [ <a href='#failure65'>Previous Failure</a> | <a href='#failure67'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    739729<tt>Expected exit code 0, got 3<br>
     
    741731Complete testcase output was:<br>
    742732Testcase produced no output!</tt><br>
    743 <a name='failure67'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
     733<a name='failure67'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
    744734 [ <a href='#failure66'>Previous Failure</a> | <a href='#failure68'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    745 <tt>Expected exit code 0, got 3<br>
    746 Testcase terminated with signal 0<br>
    747 Complete testcase output was:<br>
    748 Testcase produced no output!</tt><br>
    749 <a name='failure68'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
    750  [ <a href='#failure67'>Previous Failure</a> | <a href='#failure69'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    751735<tt>Expected exit code 0, got 3<br>
    752736Testcase terminated with signal 0<br>
     
    755739--> STATUS: String static methods<br>
    756740--> STATUS: See https://bugzilla.mozilla.org/show_bug.cgi?id=304828<br>
    757 [21689] ./js1_6/String/regress-306591.js line 48: TypeError: Value undefined (result of expression String.split) is not object.<br>
     741[29657] ./js1_6/String/regress-306591.js line 48: TypeError: Value undefined (result of expression String.split) is not object.<br>
    758742</tt><br>
    759743</dl>
     
    763747<a name='retest_list'></a>
    764748<h2>Retest List</h2><br>
    765 # Retest List, kjs, generated Tue Mar 13 16:12:55 2007.
     749# Retest List, kjs, generated Fri Jul 13 23:05:00 2007.
    766750# Original test base was: All tests.
    767 # 1127 of 1135 test(s) were completed, 68 failures reported.
     751# 1127 of 1135 test(s) were completed, 67 failures reported.
    768752ecma/GlobalObject/15.1.2.2-2.js
    769753ecma/LexicalConventions/7.7.3-1.js
     
    827811js1_5/Regress/regress-172699.js
    828812js1_5/Regress/regress-179524.js
    829 js1_5/Scope/regress-185485.js
    830813js1_5/Scope/regress-220584.js
    831814js1_5/Scope/scope-001.js
  • trunk/LayoutTests/ChangeLog

    r24284 r24287  
     12007-07-14  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
     2
     3        Reviewed by Darin.
     4
     5        Added tests for the following bugs:
     6        http://bugs.webkit.org/show_bug.cgi?id=13517
     7        http://bugs.webkit.org/show_bug.cgi?id=14237
     8
     9        Bug 13517: DOM Exception 8 in finance.aol.com sub-page
     10        Bug 14237: Javascript "var" statement interprets initialization in the topmost function scope
     11
     12        * fast/js/resources/vardecl-blocks-init.js: Added.
     13        * fast/js/resources/vardecl-preserve-arguments.js: Updated.
     14        * fast/js/vardecl-blocks-init-expected.txt: Added.
     15        * fast/js/vardecl-blocks-init.html: Added.
     16        * fast/js/vardecl-preserve-arguments-expected.txt: Updated result.
     17
    1182007-07-13  Oliver Hunt  <oliver@apple.com>
    219
  • trunk/LayoutTests/fast/js/resources/vardecl-preserve-arguments.js

    r21790 r24287  
    3030    shouldBe("'" + typeof arguments + "'", "'object'");
    3131  }
     32  return arguments.length;
     33}
     34
     35// this tests that arguments doesn't get overriden by a variable declaration
     36// with an initializer in a catch block with a parameter of the same name
     37function argumentsLengthTryCatch() {
     38  try {
     39    throw ["foo"];
     40  } catch (arguments) {
     41    var arguments = ["foo", "bar"];
     42  }
     43
     44  return arguments.length;
     45}
     46
     47// this tests that arguments doesn't get overriden by a variable declaration
     48// with an initializer in a with block where the parameter has a property of
     49// same name
     50function argumentsLengthWith() {
     51  var object = { 'arguments': ["foo"] };
     52
     53  with (object) {
     54    var arguments = ["foo", "bar"];
     55  }
     56
    3257  return arguments.length;
    3358}
     
    99124shouldBe("argumentsLengthInnerBlock2('a','b')", "2");
    100125
     126shouldBe("argumentsLengthTryCatch()", "0");
     127shouldBe("argumentsLengthWith()", "0");
     128
    101129shouldBe("argumentsLengthOverride()", "0");
    102130shouldBe("argumentsLengthOverride(1)", "1");
  • trunk/LayoutTests/fast/js/vardecl-preserve-arguments-expected.txt

    r21790 r24287  
    1919PASS argumentsLengthInnerBlock2(1) is 1
    2020PASS argumentsLengthInnerBlock2('a','b') is 2
     21PASS argumentsLengthTryCatch() is 0
     22PASS argumentsLengthWith() is 0
    2123PASS 'object' is 'object'
    2224PASS 'object' is 'object'
Note: See TracChangeset for help on using the changeset viewer.