tor-browser

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

spread-obj-getter-descriptor.js (1499B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/spread/obj-getter-descriptor.case
      3 // - src/spread/default/call-expr.template
      4 /*---
      5 description: Spread operation with getter results in data property descriptor (CallExpression)
      6 esid: sec-function-calls-runtime-semantics-evaluation
      7 features: [object-spread]
      8 flags: [generated]
      9 includes: [propertyHelper.js]
     10 info: |
     11    CallExpression : MemberExpression Arguments
     12 
     13    [...]
     14    9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall).
     15 
     16    12.3.4.3 Runtime Semantics: EvaluateDirectCall
     17 
     18    1. Let argList be ArgumentListEvaluation(arguments).
     19    [...]
     20    6. Let result be Call(func, thisValue, argList).
     21    [...]
     22 
     23    Pending Runtime Semantics: PropertyDefinitionEvaluation
     24 
     25    PropertyDefinition:...AssignmentExpression
     26 
     27    1. Let exprValue be the result of evaluating AssignmentExpression.
     28    2. Let fromValue be GetValue(exprValue).
     29    3. ReturnIfAbrupt(fromValue).
     30    4. Let excludedNames be a new empty List.
     31    5. Return CopyDataProperties(object, fromValue, excludedNames).
     32 
     33 ---*/
     34 let o = {
     35    get a() {
     36        return 42;
     37    }
     38 };
     39 
     40 
     41 var callCount = 0;
     42 
     43 (function(obj) {
     44  assert.sameValue(obj.c, 4);
     45  assert.sameValue(obj.d, 5);
     46  assert.sameValue(Object.keys(obj).length, 3);
     47 
     48  verifyProperty(obj, "a", {
     49    enumerable: true,
     50    writable: true,
     51    configurable: true,
     52    value: 42
     53  });
     54  callCount += 1;
     55 }({...o, c: 4, d: 5}));
     56 
     57 assert.sameValue(callCount, 1);
     58 
     59 reportCompare(0, 0);