According to ES5 11.1.5, the RHS of "var object = {true:1};" snippet parses down to:
- ObjectLiteral
{ PropertyNameAndValueList}
- PropertyAssignment
- PropertyName : AssignmentExpression //true===PropertyName in this case
- PropertyName
IdentifierName
From here, 7.6 indirectly states that an IdentifierName could in fact be a ReservedWord (i.e., 'true').
The only other thing left that seems capable of throwing a TypeError based on the fact that object will have a property named 'true' is the call to [[DefineOwnProperty]] (8.12.9). This section has no conditions on the property name *not* being a reserved word though.
Disabling this test as invalid.
S11.1.5_A4.2 has the same issue only with 'null'.
Fixed this by removing the 'negative' metadata in the test cases in re-enabling them.