// This file was procedurally generated from the following sources:
// - src/computed-property-names/computed-property-name-from-assignment-expression-coalesce.case
// - src/computed-property-names/evaluation/object-literal.template
/*---
description: Computed property name from assignment expression coalesce (ComputedPropertyName in ObjectLiteral)
esid: prod-ComputedPropertyName
features: [computed-property-names, logical-assignment-operators]
flags: [generated]
info: |
    ObjectLiteral:
      { PropertyDefinitionList }

    PropertyDefinitionList:
      PropertyDefinition

    PropertyDefinition:
      PropertyName: AssignmentExpression

    PropertyName:
      ComputedPropertyName

    ComputedPropertyName:
      [ AssignmentExpression ]
---*/
let x = null;


let o = {
  [x ??= 1]: 2
};

assert.sameValue(
  o[x ??= 1],
  2
);
assert.sameValue(
  o[String(x ??= 1)],
  2
);

assert.sameValue(x, 1);

reportCompare(0, 0);
