tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

spread-mult-empty.js (1410B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/spread/mult-empty.case
      3 // - src/spread/default/member-expr.template
      4 /*---
      5 description: Spread operator following other arguments when no iteration occurs (`new` operator)
      6 esid: sec-new-operator-runtime-semantics-evaluation
      7 flags: [generated]
      8 info: |
      9    MemberExpression : new MemberExpression Arguments
     10 
     11    1. Return EvaluateNew(MemberExpression, Arguments).
     12 
     13    12.3.3.1.1 Runtime Semantics: EvaluateNew
     14 
     15    6. If arguments is empty, let argList be an empty List.
     16    7. Else,
     17       a. Let argList be ArgumentListEvaluation of arguments.
     18       [...]
     19 
     20    12.3.6.1 Runtime Semantics: ArgumentListEvaluation
     21 
     22    ArgumentList : ArgumentList , ... AssignmentExpression
     23 
     24    1. Let precedingArgs be the result of evaluating ArgumentList.
     25    2. Let spreadRef be the result of evaluating AssignmentExpression.
     26    3. Let iterator be GetIterator(GetValue(spreadRef) ).
     27    4. ReturnIfAbrupt(iterator).
     28    5. Repeat
     29       a. Let next be IteratorStep(iterator).
     30       b. ReturnIfAbrupt(next).
     31       c. If next is false, return precedingArgs.
     32 ---*/
     33 
     34 var callCount = 0;
     35 
     36 new function() {
     37  assert.sameValue(arguments.length, 3);
     38  assert.sameValue(arguments[0], 1);
     39  assert.sameValue(arguments[1], 2);
     40  assert.sameValue(arguments[2], 3);
     41  callCount += 1;
     42 }(1, 2, 3, ...[]);
     43 
     44 assert.sameValue(callCount, 1);
     45 
     46 reportCompare(0, 0);