js/src/tests/ecma/extensions/15.3.1.1-1.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 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 /**
     8    File Name:          15.3.1.1.js
     9    ECMA Section:       15.3.1.1 The Function Constructor Called as a Function
    11    Description:
    12    When the Function function is called with some arguments p1, p2, . . . , pn, body
    13    (where n might be 0, that is, there are no "p" arguments, and where body might
    14    also not be provided), the following steps are taken:
    16    1.  Create and return a new Function object exactly if the function constructor had
    17    been called with the same arguments (15.3.2.1).
    19    Author:             christine@netscape.com
    20    Date:               28 october 1997
    22 */
    23 var SECTION = "15.3.1.1-1";
    24 var VERSION = "ECMA_1";
    25 startTest();
    26 var TITLE   = "The Function Constructor Called as a Function";
    28 writeHeaderToLog( SECTION + " "+ TITLE);
    30 var MyObject = Function( "value", "this.value = value; this.valueOf =  Function( 'return this.value' ); this.toString =  Function( 'return String(this.value);' )" );
    33 var myfunc = Function();
    34 myfunc.toString = Object.prototype.toString;
    36 //    not going to test toString here since it is implementation dependent.
    37 //    new TestCase( SECTION,  "myfunc.toString()",     "function anonymous() { }",    myfunc.toString() );
    39 myfunc.toString = Object.prototype.toString;
    41 new TestCase( SECTION, 
    42 	      "MyObject.__proto__ == Function.prototype",    
    43 	      true,  
    44 	      MyObject.__proto__ == Function.prototype );
    46 test();

mercurial