add PropertyDefinitionList evaluation order test (#739)

This test is being added because the committee is considering changing
this evaluation order (as discussed at the May 2016 Munich meeting). The
consequences of this spec change will be more clear as a test change
than a simple test addition.
This commit is contained in:
Michael Ficarra 2016-08-12 18:01:43 +02:00 committed by Leo Balter
parent c5cbf4122d
commit 894bbcc747
1 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,26 @@
// Copyright (C) 2016 Michael Ficarra. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-object-initializer-runtime-semantics-propertydefinitionevaluation
description: >
Evaluation of PropertyDefinitionList occurs in order, and each
PropertyDefinition's PropertyName is evaluated before its
AssignmentExpression.
---*/
var counter = 0;
var o = {
[++counter]: ++counter,
[++counter]: ++counter,
[++counter]: ++counter,
}
var keys = Object.keys(o);
assert.sameValue(keys.length, 3, '3 PropertyDefinitions should result in 3 properties');
assert.sameValue(keys[0], '1');
assert.sameValue(o[keys[0]], 2);
assert.sameValue(keys[1], '3');
assert.sameValue(o[keys[1]], 4);
assert.sameValue(keys[2], '5');
assert.sameValue(o[keys[2]], 6);