js/src/tests/js1_8_1/strict/let-block-eval-arguments.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 // |reftest| skip-if(Android)
     2 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     4 /*
     5  * Any copyright is dedicated to the Public Domain.
     6  * http://creativecommons.org/licenses/publicdomain/
     7  */
     9 /* In strict mode, a 'let' block may not bind 'eval' or 'arguments'. */
    10 assertEq(testLenientAndStrict('let (eval=1) {}',
    11                               parsesSuccessfully,
    12                               parseRaisesException(SyntaxError)),
    13          true);
    14 assertEq(testLenientAndStrict('let ([eval]=1) {}',
    15                               parsesSuccessfully,
    16                               parseRaisesException(SyntaxError)),
    17          true);
    18 assertEq(testLenientAndStrict('let ({x:eval}=1) {}',
    19                               parsesSuccessfully,
    20                               parseRaisesException(SyntaxError)),
    21          true);
    22 assertEq(testLenientAndStrict('let (arguments=1) {}',
    23                               parsesSuccessfully,
    24                               parseRaisesException(SyntaxError)),
    25          true);
    26 assertEq(testLenientAndStrict('let ([arguments]=1) {}',
    27                               parsesSuccessfully,
    28                               parseRaisesException(SyntaxError)),
    29          true);
    30 assertEq(testLenientAndStrict('let ({x:arguments}=1) {}',
    31                               parsesSuccessfully,
    32                               parseRaisesException(SyntaxError)),
    33          true);
    35 reportCompare(true, true);

mercurial