A number of tests for the parsing of the AssignmentExpression production
were expressed using `eval`. This made the tests more complex than
necessary, and also prevented the tests from providing value to
ECMAScript parsers.
Remove the use of `eval` in the relevant tests and instead express the
expectations with literal source text. Remove superfluous "onlyStrict"
restriction from tests by declaring the probe binding prior to
assignment.
A few BigInt tests had a blank line in an inconvenient place which
breaks an old, possibly incorrect YAML parser used by V8's test262
test automation. The best fix is to deploy a new YAML parser, but
in the short term, this patch deletes the blank lines and lets
V8 understand the feature flags below. Related: #1370
Ensure that the linter's Python dependencies are satisfied in the
continuous integration environment.
Note that this is not currently necessary but only because the linter's
dependencies happen to align with those of the test generation tool. The
dependencies of the two tool should be satisfied explicitly in order to
promote isolation.
- Add tests for multiple public fields of the same name
- Reorganize fields default templates
- Add more tests for redeclaration of fields
- Remove non used template
- Add tests for computed property names in class fields definitions
- Minor test fixes
Thanks @andresaraujo for helping with the early review
* Accessing `ta[0]` throws a TypeError.
* Fix array indices starting at 0 and property references
* Fix classfields templates for properly checking static propnames.
* Generate tests
* `assert.equal` is not defined
* Add missing includes
* Generate tests
* typo s/Avalue/42/
* fix whitespace
* Add missing var for strict mode
* Expand generated class fields tests for forbidden computed property name values
Ref https://github.com/tc39/test262/pull/1339#issuecomment-342830243
* derived classes have access to private names in base classes, if private names are in scope
Changes:
- Changed eval-err-contains-supercall-1.case to add a property access similar to eval-err-contains-supercall-2.case, without this property access eval-err-contains-supercall-1.case would be identical to eval-err-contains-supercall.case.
- Remove unnecessary "earlyerror" and "executionerror" template arguments when the value is already clear from the context.
- Fixed the description in eval-err-contains-supercall-2.case to refer to the correct early error rule.
- Fixed a copy-paste error in eval-err-contains-superproperty-1.case and eval-err-contains-superproperty-2.case.
- Split initializer-eval-super into initializer-eval-super-call and initializer-eval-super-property, because we actually need to test different behaviour for the super-call compared to the super-property case.
- Split initializer-eval into initializer-eval-arguments and initializer-eval-newtarget, because `arguments` and `new.target` are differently handled in class-fields.
- And fixed other copy-paste errors in the template files.
Fixes#1325