From d74f58cddd0df34efb73dc3443cb76808a35bf01 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Thu, 20 Apr 2017 12:31:29 -0400 Subject: [PATCH] Generate tests --- ...-gen-meth-args-trailing-comma-multiple.js} | 2 +- ...decl-gen-meth-args-trailing-comma-null.js} | 2 +- ...n-meth-args-trailing-comma-single-args.js} | 2 +- ...gen-meth-args-trailing-comma-undefined.js} | 2 +- ...th-static-args-trailing-comma-multiple.js} | 2 +- ...n-meth-static-args-trailing-comma-null.js} | 2 +- ...static-args-trailing-comma-single-args.js} | 2 +- ...h-static-args-trailing-comma-undefined.js} | 2 +- ...decl-meth-args-trailing-comma-multiple.js} | 2 +- ...cls-decl-meth-args-trailing-comma-null.js} | 2 +- ...l-meth-args-trailing-comma-single-args.js} | 2 +- ...ecl-meth-args-trailing-comma-undefined.js} | 2 +- ...th-static-args-trailing-comma-multiple.js} | 2 +- ...l-meth-static-args-trailing-comma-null.js} | 2 +- ...static-args-trailing-comma-single-args.js} | 2 +- ...h-static-args-trailing-comma-undefined.js} | 2 +- ...-gen-meth-args-trailing-comma-multiple.js} | 2 +- ...expr-gen-meth-args-trailing-comma-null.js} | 2 +- ...n-meth-args-trailing-comma-single-args.js} | 2 +- ...gen-meth-args-trailing-comma-undefined.js} | 2 +- ...th-static-args-trailing-comma-multiple.js} | 2 +- ...n-meth-static-args-trailing-comma-null.js} | 2 +- ...static-args-trailing-comma-single-args.js} | 2 +- ...h-static-args-trailing-comma-undefined.js} | 2 +- ...expr-meth-args-trailing-comma-multiple.js} | 2 +- ...cls-expr-meth-args-trailing-comma-null.js} | 2 +- ...r-meth-args-trailing-comma-single-args.js} | 2 +- ...xpr-meth-args-trailing-comma-undefined.js} | 2 +- ...th-static-args-trailing-comma-multiple.js} | 2 +- ...r-meth-static-args-trailing-comma-null.js} | 2 +- ...static-args-trailing-comma-single-args.js} | 2 +- ...h-static-args-trailing-comma-undefined.js} | 2 +- ...func-decl-args-trailing-comma-multiple.js} | 2 +- ... => func-decl-args-trailing-comma-null.js} | 2 +- ...c-decl-args-trailing-comma-single-args.js} | 2 +- ...unc-decl-args-trailing-comma-undefined.js} | 2 +- ...func-expr-args-trailing-comma-multiple.js} | 2 +- ... => func-expr-args-trailing-comma-null.js} | 2 +- ...c-expr-args-trailing-comma-single-args.js} | 2 +- ...unc-expr-args-trailing-comma-undefined.js} | 2 +- ...func-decl-args-trailing-comma-multiple.js} | 2 +- ...gen-func-decl-args-trailing-comma-null.js} | 2 +- ...c-decl-args-trailing-comma-single-args.js} | 2 +- ...unc-decl-args-trailing-comma-undefined.js} | 2 +- ...func-expr-args-trailing-comma-multiple.js} | 2 +- ...gen-func-expr-args-trailing-comma-null.js} | 2 +- ...c-expr-args-trailing-comma-single-args.js} | 2 +- ...unc-expr-args-trailing-comma-undefined.js} | 2 +- ... gen-meth-args-trailing-comma-multiple.js} | 2 +- ...s => gen-meth-args-trailing-comma-null.js} | 2 +- ...n-meth-args-trailing-comma-single-args.js} | 2 +- ...gen-meth-args-trailing-comma-undefined.js} | 2 +- ...s => meth-args-trailing-comma-multiple.js} | 2 +- ...ll.js => meth-args-trailing-comma-null.js} | 2 +- ...> meth-args-trailing-comma-single-args.js} | 2 +- ... => meth-args-trailing-comma-undefined.js} | 2 +- ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- .../dflt-params-abrupt.js | 58 ++++++++++++ .../dflt-params-arg-val-not-undefined.js | 77 ++++++++++++++++ .../dflt-params-arg-val-undefined.js | 60 +++++++++++++ .../dflt-params-duplicates.js | 51 +++++++++++ .../dflt-params-ref-later.js | 59 ++++++++++++ .../dflt-params-ref-prior.js | 57 ++++++++++++ .../dflt-params-ref-self.js | 59 ++++++++++++ .../async-arrow-function/dflt-params-rest.js | 55 ++++++++++++ .../dflt-params-trailing-comma.js | 51 +++++++++++ .../params-trailing-comma-multiple.js | 51 +++++++++++ .../params-trailing-comma-single.js | 50 +++++++++++ .../rest-params-trailing-comma-early-error.js | 47 ++++++++++ .../named-dflt-params-abrupt.js | 42 +++++++++ ...named-dflt-params-arg-val-not-undefined.js | 63 +++++++++++++ .../named-dflt-params-arg-val-undefined.js | 46 ++++++++++ .../named-dflt-params-duplicates.js | 37 ++++++++ .../named-dflt-params-ref-later.js | 43 +++++++++ .../named-dflt-params-ref-prior.js | 43 +++++++++ .../named-dflt-params-ref-self.js | 43 +++++++++ .../async-function/named-dflt-params-rest.js | 41 +++++++++ .../named-dflt-params-trailing-comma.js | 37 ++++++++ .../named-params-trailing-comma-multiple.js | 37 ++++++++ .../named-params-trailing-comma-single.js | 36 ++++++++ ...-rest-params-trailing-comma-early-error.js | 33 +++++++ .../nameless-dflt-params-abrupt.js | 42 +++++++++ ...eless-dflt-params-arg-val-not-undefined.js | 63 +++++++++++++ .../nameless-dflt-params-arg-val-undefined.js | 46 ++++++++++ .../nameless-dflt-params-duplicates.js | 36 ++++++++ .../nameless-dflt-params-ref-later.js | 43 +++++++++ .../nameless-dflt-params-ref-prior.js | 43 +++++++++ .../nameless-dflt-params-ref-self.js | 43 +++++++++ .../nameless-dflt-params-rest.js | 40 +++++++++ .../nameless-dflt-params-trailing-comma.js | 37 ++++++++ ...nameless-params-trailing-comma-multiple.js | 37 ++++++++ .../nameless-params-trailing-comma-single.js | 36 ++++++++ ...-rest-params-trailing-comma-early-error.js | 32 +++++++ .../args-trailing-comma-multiple.js | 39 ++++++++ .../args-trailing-comma-null.js | 39 ++++++++ .../args-trailing-comma-single-args.js | 38 ++++++++ .../args-trailing-comma-undefined.js | 39 ++++++++ ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- .../named-args-trailing-comma-multiple.js | 39 ++++++++ .../named-args-trailing-comma-null.js | 39 ++++++++ .../named-args-trailing-comma-single-args.js | 38 ++++++++ .../named-args-trailing-comma-undefined.js | 39 ++++++++ ...-abrupt.js => named-dflt-params-abrupt.js} | 2 +- ...amed-dflt-params-arg-val-not-undefined.js} | 2 +- ...=> named-dflt-params-arg-val-undefined.js} | 2 +- ...tes.js => named-dflt-params-duplicates.js} | 2 +- ...ater.js => named-dflt-params-ref-later.js} | 2 +- ...rior.js => named-dflt-params-ref-prior.js} | 2 +- ...-self.js => named-dflt-params-ref-self.js} | 2 +- ...dflt-rest.js => named-dflt-params-rest.js} | 2 +- ...js => named-dflt-params-trailing-comma.js} | 2 +- ...> named-params-trailing-comma-multiple.js} | 2 +- ... => named-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...c-gen-meth-args-trailing-comma-multiple.js | 67 ++++++++++++++ ...async-gen-meth-args-trailing-comma-null.js | 67 ++++++++++++++ ...en-meth-args-trailing-comma-single-args.js | 66 ++++++++++++++ ...-gen-meth-args-trailing-comma-undefined.js | 67 ++++++++++++++ ...s => async-gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 2 +- ... async-gen-meth-dflt-params-duplicates.js} | 2 +- ...> async-gen-meth-dflt-params-ref-later.js} | 2 +- ...> async-gen-meth-dflt-params-ref-prior.js} | 2 +- ...=> async-gen-meth-dflt-params-ref-self.js} | 2 +- ....js => async-gen-meth-dflt-params-rest.js} | 2 +- ...nc-gen-meth-dflt-params-trailing-comma.js} | 2 +- ...en-meth-params-trailing-comma-multiple.js} | 2 +- ...-gen-meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...eth-static-args-trailing-comma-multiple.js | 66 ++++++++++++++ ...en-meth-static-args-trailing-comma-null.js | 66 ++++++++++++++ ...-static-args-trailing-comma-single-args.js | 65 ++++++++++++++ ...th-static-args-trailing-comma-undefined.js | 66 ++++++++++++++ ...ync-gen-meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 2 +- ...h-static-dflt-params-arg-val-undefined.js} | 2 +- ...gen-meth-static-dflt-params-duplicates.js} | 2 +- ...-gen-meth-static-dflt-params-ref-later.js} | 2 +- ...-gen-meth-static-dflt-params-ref-prior.js} | 2 +- ...c-gen-meth-static-dflt-params-ref-self.js} | 2 +- ...async-gen-meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 2 +- ...-static-params-trailing-comma-multiple.js} | 2 +- ...th-static-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- .../class/async-meth-dflt-params-abrupt.js | 69 ++++++++++++++ ...-meth-dflt-params-arg-val-not-undefined.js | 89 +++++++++++++++++++ ...sync-meth-dflt-params-arg-val-undefined.js | 72 +++++++++++++++ .../async-meth-dflt-params-duplicates.js | 63 +++++++++++++ .../class/async-meth-dflt-params-ref-later.js | 70 +++++++++++++++ .../class/async-meth-dflt-params-ref-prior.js | 69 ++++++++++++++ .../class/async-meth-dflt-params-ref-self.js | 70 +++++++++++++++ .../class/async-meth-dflt-params-rest.js | 67 ++++++++++++++ .../async-meth-dflt-params-trailing-comma.js | 63 +++++++++++++ ...ync-meth-params-trailing-comma-multiple.js | 63 +++++++++++++ ...async-meth-params-trailing-comma-single.js | 62 +++++++++++++ ...-rest-params-trailing-comma-early-error.js | 59 ++++++++++++ .../async-meth-static-dflt-params-abrupt.js | 70 +++++++++++++++ ...tatic-dflt-params-arg-val-not-undefined.js | 89 +++++++++++++++++++ ...th-static-dflt-params-arg-val-undefined.js | 72 +++++++++++++++ ...sync-meth-static-dflt-params-duplicates.js | 63 +++++++++++++ ...async-meth-static-dflt-params-ref-later.js | 71 +++++++++++++++ ...async-meth-static-dflt-params-ref-prior.js | 69 ++++++++++++++ .../async-meth-static-dflt-params-ref-self.js | 71 +++++++++++++++ .../async-meth-static-dflt-params-rest.js | 67 ++++++++++++++ ...-meth-static-dflt-params-trailing-comma.js | 63 +++++++++++++ ...h-static-params-trailing-comma-multiple.js | 63 +++++++++++++ ...eth-static-params-trailing-comma-single.js | 62 +++++++++++++ ...-rest-params-trailing-comma-early-error.js | 59 ++++++++++++ ...rupt.js => gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 2 +- ....js => gen-meth-dflt-params-duplicates.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-later.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-prior.js} | 2 +- ...lf.js => gen-meth-dflt-params-ref-self.js} | 2 +- ...t-rest.js => gen-meth-dflt-params-rest.js} | 2 +- ...=> gen-meth-dflt-params-trailing-comma.js} | 2 +- ...en-meth-params-trailing-comma-multiple.js} | 2 +- ... gen-meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ... => gen-meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 2 +- ...h-static-dflt-params-arg-val-undefined.js} | 2 +- ...gen-meth-static-dflt-params-duplicates.js} | 2 +- ... gen-meth-static-dflt-params-ref-later.js} | 2 +- ... gen-meth-static-dflt-params-ref-prior.js} | 2 +- ...> gen-meth-static-dflt-params-ref-self.js} | 2 +- ...js => gen-meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 2 +- ...-static-params-trailing-comma-multiple.js} | 2 +- ...th-static-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...t-abrupt.js => meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ... => meth-dflt-params-arg-val-undefined.js} | 2 +- ...ates.js => meth-dflt-params-duplicates.js} | 2 +- ...later.js => meth-dflt-params-ref-later.js} | 2 +- ...prior.js => meth-dflt-params-ref-prior.js} | 2 +- ...f-self.js => meth-dflt-params-ref-self.js} | 2 +- ...-dflt-rest.js => meth-dflt-params-rest.js} | 2 +- ....js => meth-dflt-params-trailing-comma.js} | 2 +- ...=> meth-params-trailing-comma-multiple.js} | 2 +- ...s => meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...t.js => meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 2 +- ...h-static-dflt-params-arg-val-undefined.js} | 2 +- ... => meth-static-dflt-params-duplicates.js} | 2 +- ...s => meth-static-dflt-params-ref-later.js} | 2 +- ...s => meth-static-dflt-params-ref-prior.js} | 2 +- ...js => meth-static-dflt-params-ref-self.js} | 2 +- ...est.js => meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 2 +- ...-static-params-trailing-comma-multiple.js} | 2 +- ...th-static-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...c-gen-meth-args-trailing-comma-multiple.js | 46 ++++++++++ ...async-gen-meth-args-trailing-comma-null.js | 46 ++++++++++ ...en-meth-args-trailing-comma-single-args.js | 45 ++++++++++ ...-gen-meth-args-trailing-comma-undefined.js | 46 ++++++++++ ...s => async-gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 2 +- ... async-gen-meth-dflt-params-duplicates.js} | 2 +- ...> async-gen-meth-dflt-params-ref-later.js} | 2 +- ...> async-gen-meth-dflt-params-ref-prior.js} | 2 +- ...=> async-gen-meth-dflt-params-ref-self.js} | 2 +- ....js => async-gen-meth-dflt-params-rest.js} | 2 +- ...nc-gen-meth-dflt-params-trailing-comma.js} | 2 +- ...en-meth-params-trailing-comma-multiple.js} | 2 +- ...-gen-meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- .../async-meth-dflt-params-abrupt.js | 45 ++++++++++ ...-meth-dflt-params-arg-val-not-undefined.js | 65 ++++++++++++++ ...sync-meth-dflt-params-arg-val-undefined.js | 48 ++++++++++ .../async-meth-dflt-params-duplicates.js | 38 ++++++++ .../async-meth-dflt-params-ref-later.js | 46 ++++++++++ .../async-meth-dflt-params-ref-prior.js | 45 ++++++++++ .../async-meth-dflt-params-ref-self.js | 46 ++++++++++ .../async-meth-dflt-params-rest.js | 42 +++++++++ .../async-meth-dflt-params-trailing-comma.js | 39 ++++++++ ...ync-meth-params-trailing-comma-multiple.js | 39 ++++++++ ...async-meth-params-trailing-comma-single.js | 38 ++++++++ ...-rest-params-trailing-comma-early-error.js | 34 +++++++ ...rupt.js => gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 2 +- ....js => gen-meth-dflt-params-duplicates.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-later.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-prior.js} | 2 +- ...lf.js => gen-meth-dflt-params-ref-self.js} | 2 +- ...t-rest.js => gen-meth-dflt-params-rest.js} | 2 +- ...=> gen-meth-dflt-params-trailing-comma.js} | 2 +- ...en-meth-params-trailing-comma-multiple.js} | 2 +- ... gen-meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...t-abrupt.js => meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ... => meth-dflt-params-arg-val-undefined.js} | 2 +- ...ates.js => meth-dflt-params-duplicates.js} | 2 +- ...later.js => meth-dflt-params-ref-later.js} | 2 +- ...prior.js => meth-dflt-params-ref-prior.js} | 2 +- ...f-self.js => meth-dflt-params-ref-self.js} | 2 +- ...-dflt-rest.js => meth-dflt-params-rest.js} | 2 +- ....js => meth-dflt-params-trailing-comma.js} | 2 +- ...=> meth-params-trailing-comma-multiple.js} | 2 +- ...s => meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- .../async-function/dflt-params-abrupt.js | 42 +++++++++ .../dflt-params-arg-val-not-undefined.js | 62 +++++++++++++ .../dflt-params-arg-val-undefined.js | 45 ++++++++++ .../async-function/dflt-params-duplicates.js | 36 ++++++++ .../async-function/dflt-params-ref-later.js | 43 +++++++++ .../async-function/dflt-params-ref-prior.js | 42 +++++++++ .../async-function/dflt-params-ref-self.js | 43 +++++++++ .../async-function/dflt-params-rest.js | 40 +++++++++ .../dflt-params-trailing-comma.js | 36 ++++++++ .../params-trailing-comma-multiple.js | 36 ++++++++ .../params-trailing-comma-single.js | 35 ++++++++ .../rest-params-trailing-comma-early-error.js | 32 +++++++ .../args-trailing-comma-multiple.js | 38 ++++++++ .../args-trailing-comma-null.js | 38 ++++++++ .../args-trailing-comma-single-args.js | 37 ++++++++ .../args-trailing-comma-undefined.js | 38 ++++++++ ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...c-gen-meth-args-trailing-comma-multiple.js | 64 +++++++++++++ ...async-gen-meth-args-trailing-comma-null.js | 64 +++++++++++++ ...en-meth-args-trailing-comma-single-args.js | 63 +++++++++++++ ...-gen-meth-args-trailing-comma-undefined.js | 64 +++++++++++++ ...s => async-gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 4 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 4 +- ... async-gen-meth-dflt-params-duplicates.js} | 2 +- ...> async-gen-meth-dflt-params-ref-later.js} | 2 +- ...> async-gen-meth-dflt-params-ref-prior.js} | 4 +- ...=> async-gen-meth-dflt-params-ref-self.js} | 2 +- ....js => async-gen-meth-dflt-params-rest.js} | 2 +- ...nc-gen-meth-dflt-params-trailing-comma.js} | 4 +- ...en-meth-params-trailing-comma-multiple.js} | 4 +- ...-gen-meth-params-trailing-comma-single.js} | 4 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...eth-static-args-trailing-comma-multiple.js | 65 ++++++++++++++ ...en-meth-static-args-trailing-comma-null.js | 65 ++++++++++++++ ...-static-args-trailing-comma-single-args.js | 64 +++++++++++++ ...th-static-args-trailing-comma-undefined.js | 65 ++++++++++++++ ...ync-gen-meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 4 +- ...h-static-dflt-params-arg-val-undefined.js} | 4 +- ...gen-meth-static-dflt-params-duplicates.js} | 2 +- ...-gen-meth-static-dflt-params-ref-later.js} | 2 +- ...-gen-meth-static-dflt-params-ref-prior.js} | 4 +- ...c-gen-meth-static-dflt-params-ref-self.js} | 2 +- ...async-gen-meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 4 +- ...-static-params-trailing-comma-multiple.js} | 4 +- ...th-static-params-trailing-comma-single.js} | 4 +- ...rest-params-trailing-comma-early-error.js} | 2 +- .../class/async-meth-dflt-params-abrupt.js | 68 ++++++++++++++ ...-meth-dflt-params-arg-val-not-undefined.js | 89 +++++++++++++++++++ ...sync-meth-dflt-params-arg-val-undefined.js | 72 +++++++++++++++ .../async-meth-dflt-params-duplicates.js | 63 +++++++++++++ .../class/async-meth-dflt-params-ref-later.js | 69 ++++++++++++++ .../class/async-meth-dflt-params-ref-prior.js | 69 ++++++++++++++ .../class/async-meth-dflt-params-ref-self.js | 69 ++++++++++++++ .../class/async-meth-dflt-params-rest.js | 67 ++++++++++++++ .../async-meth-dflt-params-trailing-comma.js | 63 +++++++++++++ ...ync-meth-params-trailing-comma-multiple.js | 63 +++++++++++++ ...async-meth-params-trailing-comma-single.js | 62 +++++++++++++ ...-rest-params-trailing-comma-early-error.js | 59 ++++++++++++ .../async-meth-static-dflt-params-abrupt.js | 68 ++++++++++++++ ...tatic-dflt-params-arg-val-not-undefined.js | 89 +++++++++++++++++++ ...th-static-dflt-params-arg-val-undefined.js | 72 +++++++++++++++ ...sync-meth-static-dflt-params-duplicates.js | 62 +++++++++++++ ...async-meth-static-dflt-params-ref-later.js | 69 ++++++++++++++ ...async-meth-static-dflt-params-ref-prior.js | 69 ++++++++++++++ .../async-meth-static-dflt-params-ref-self.js | 69 ++++++++++++++ .../async-meth-static-dflt-params-rest.js | 66 ++++++++++++++ ...-meth-static-dflt-params-trailing-comma.js | 63 +++++++++++++ ...h-static-params-trailing-comma-multiple.js | 63 +++++++++++++ ...eth-static-params-trailing-comma-single.js | 62 +++++++++++++ ...-rest-params-trailing-comma-early-error.js | 58 ++++++++++++ ...rupt.js => gen-meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ...gen-meth-dflt-params-arg-val-undefined.js} | 2 +- ....js => gen-meth-dflt-params-duplicates.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-later.js} | 2 +- ...r.js => gen-meth-dflt-params-ref-prior.js} | 2 +- ...lf.js => gen-meth-dflt-params-ref-self.js} | 2 +- ...t-rest.js => gen-meth-dflt-params-rest.js} | 2 +- ...=> gen-meth-dflt-params-trailing-comma.js} | 2 +- ...en-meth-params-trailing-comma-multiple.js} | 2 +- ... gen-meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ... => gen-meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 2 +- ...h-static-dflt-params-arg-val-undefined.js} | 2 +- ...gen-meth-static-dflt-params-duplicates.js} | 2 +- ... gen-meth-static-dflt-params-ref-later.js} | 2 +- ... gen-meth-static-dflt-params-ref-prior.js} | 2 +- ...> gen-meth-static-dflt-params-ref-self.js} | 2 +- ...js => gen-meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 2 +- ...-static-params-trailing-comma-multiple.js} | 2 +- ...th-static-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...t-abrupt.js => meth-dflt-params-abrupt.js} | 2 +- ...meth-dflt-params-arg-val-not-undefined.js} | 2 +- ... => meth-dflt-params-arg-val-undefined.js} | 2 +- ...ates.js => meth-dflt-params-duplicates.js} | 2 +- ...later.js => meth-dflt-params-ref-later.js} | 2 +- ...prior.js => meth-dflt-params-ref-prior.js} | 2 +- ...f-self.js => meth-dflt-params-ref-self.js} | 2 +- ...-dflt-rest.js => meth-dflt-params-rest.js} | 2 +- ....js => meth-dflt-params-trailing-comma.js} | 2 +- ...=> meth-params-trailing-comma-multiple.js} | 2 +- ...s => meth-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...t.js => meth-static-dflt-params-abrupt.js} | 2 +- ...atic-dflt-params-arg-val-not-undefined.js} | 2 +- ...h-static-dflt-params-arg-val-undefined.js} | 2 +- ... => meth-static-dflt-params-duplicates.js} | 2 +- ...s => meth-static-dflt-params-ref-later.js} | 2 +- ...s => meth-static-dflt-params-ref-prior.js} | 2 +- ...js => meth-static-dflt-params-ref-self.js} | 2 +- ...est.js => meth-static-dflt-params-rest.js} | 2 +- ...meth-static-dflt-params-trailing-comma.js} | 2 +- ...-static-params-trailing-comma-multiple.js} | 2 +- ...th-static-params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- ...s-dflt-abrupt.js => dflt-params-abrupt.js} | 2 +- ...s => dflt-params-arg-val-not-undefined.js} | 2 +- ...ed.js => dflt-params-arg-val-undefined.js} | 2 +- ...uplicates.js => dflt-params-duplicates.js} | 2 +- ...-ref-later.js => dflt-params-ref-later.js} | 2 +- ...-ref-prior.js => dflt-params-ref-prior.js} | 2 +- ...lt-ref-self.js => dflt-params-ref-self.js} | 2 +- ...arams-dflt-rest.js => dflt-params-rest.js} | 2 +- ...param.js => dflt-params-trailing-comma.js} | 2 +- ...m.js => params-trailing-comma-multiple.js} | 2 +- ...ram.js => params-trailing-comma-single.js} | 2 +- ...rest-params-trailing-comma-early-error.js} | 2 +- 472 files changed, 7981 insertions(+), 344 deletions(-) rename test/language/arguments-object/{cls-decl-gen-meth-trailing-comma-multiple-args.js => cls-decl-gen-meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-trailing-comma-null.js => cls-decl-gen-meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-trailing-comma-single-args.js => cls-decl-gen-meth-args-trailing-comma-single-args.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-trailing-comma-undefined.js => cls-decl-gen-meth-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-static-trailing-comma-multiple-args.js => cls-decl-gen-meth-static-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-static-trailing-comma-null.js => cls-decl-gen-meth-static-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-static-trailing-comma-single-args.js => cls-decl-gen-meth-static-args-trailing-comma-single-args.js} (95%) rename test/language/arguments-object/{cls-decl-gen-meth-static-trailing-comma-undefined.js => cls-decl-gen-meth-static-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-decl-meth-trailing-comma-multiple-args.js => cls-decl-meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-decl-meth-trailing-comma-null.js => cls-decl-meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-decl-meth-trailing-comma-single-args.js => cls-decl-meth-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{cls-decl-meth-trailing-comma-undefined.js => cls-decl-meth-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-decl-meth-static-trailing-comma-multiple-args.js => cls-decl-meth-static-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-decl-meth-static-trailing-comma-null.js => cls-decl-meth-static-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-decl-meth-static-trailing-comma-single-args.js => cls-decl-meth-static-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{cls-decl-meth-static-trailing-comma-undefined.js => cls-decl-meth-static-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-trailing-comma-multiple-args.js => cls-expr-gen-meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-trailing-comma-null.js => cls-expr-gen-meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-trailing-comma-single-args.js => cls-expr-gen-meth-args-trailing-comma-single-args.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-trailing-comma-undefined.js => cls-expr-gen-meth-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-static-trailing-comma-multiple-args.js => cls-expr-gen-meth-static-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-static-trailing-comma-null.js => cls-expr-gen-meth-static-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-static-trailing-comma-single-args.js => cls-expr-gen-meth-static-args-trailing-comma-single-args.js} (95%) rename test/language/arguments-object/{cls-expr-gen-meth-static-trailing-comma-undefined.js => cls-expr-gen-meth-static-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-expr-meth-trailing-comma-multiple-args.js => cls-expr-meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-expr-meth-trailing-comma-null.js => cls-expr-meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-expr-meth-trailing-comma-single-args.js => cls-expr-meth-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{cls-expr-meth-trailing-comma-undefined.js => cls-expr-meth-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{cls-expr-meth-static-trailing-comma-multiple-args.js => cls-expr-meth-static-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{cls-expr-meth-static-trailing-comma-null.js => cls-expr-meth-static-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{cls-expr-meth-static-trailing-comma-single-args.js => cls-expr-meth-static-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{cls-expr-meth-static-trailing-comma-undefined.js => cls-expr-meth-static-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{func-decl-trailing-comma-multiple-args.js => func-decl-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{func-decl-trailing-comma-null.js => func-decl-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{func-decl-trailing-comma-single-args.js => func-decl-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{func-decl-trailing-comma-undefined.js => func-decl-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{func-expr-trailing-comma-multiple-args.js => func-expr-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{func-expr-trailing-comma-null.js => func-expr-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{func-expr-trailing-comma-single-args.js => func-expr-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{func-expr-trailing-comma-undefined.js => func-expr-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{gen-func-decl-trailing-comma-multiple-args.js => gen-func-decl-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{gen-func-decl-trailing-comma-null.js => gen-func-decl-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{gen-func-decl-trailing-comma-single-args.js => gen-func-decl-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{gen-func-decl-trailing-comma-undefined.js => gen-func-decl-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{gen-func-expr-trailing-comma-multiple-args.js => gen-func-expr-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{gen-func-expr-trailing-comma-null.js => gen-func-expr-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{gen-func-expr-trailing-comma-single-args.js => gen-func-expr-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{gen-func-expr-trailing-comma-undefined.js => gen-func-expr-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{gen-meth-trailing-comma-multiple-args.js => gen-meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{gen-meth-trailing-comma-null.js => gen-meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{gen-meth-trailing-comma-single-args.js => gen-meth-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{gen-meth-trailing-comma-undefined.js => gen-meth-args-trailing-comma-undefined.js} (95%) rename test/language/arguments-object/{meth-trailing-comma-multiple-args.js => meth-args-trailing-comma-multiple.js} (95%) rename test/language/arguments-object/{meth-trailing-comma-null.js => meth-args-trailing-comma-null.js} (95%) rename test/language/arguments-object/{meth-trailing-comma-single-args.js => meth-args-trailing-comma-single-args.js} (94%) rename test/language/arguments-object/{meth-trailing-comma-undefined.js => meth-args-trailing-comma-undefined.js} (95%) rename test/language/expressions/arrow-function/{params-dflt-abrupt.js => dflt-params-abrupt.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-duplicates.js => dflt-params-duplicates.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-ref-later.js => dflt-params-ref-later.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-ref-self.js => dflt-params-ref-self.js} (97%) rename test/language/expressions/arrow-function/{params-dflt-rest.js => dflt-params-rest.js} (97%) rename test/language/expressions/arrow-function/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (96%) rename test/language/expressions/arrow-function/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (96%) rename test/language/expressions/arrow-function/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (96%) rename test/language/expressions/arrow-function/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (95%) create mode 100644 test/language/expressions/async-arrow-function/dflt-params-abrupt.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-duplicates.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-ref-later.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-ref-prior.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-ref-self.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-rest.js create mode 100644 test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js create mode 100644 test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js create mode 100644 test/language/expressions/async-arrow-function/params-trailing-comma-single.js create mode 100644 test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js create mode 100644 test/language/expressions/async-function/named-dflt-params-abrupt.js create mode 100644 test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/async-function/named-dflt-params-duplicates.js create mode 100644 test/language/expressions/async-function/named-dflt-params-ref-later.js create mode 100644 test/language/expressions/async-function/named-dflt-params-ref-prior.js create mode 100644 test/language/expressions/async-function/named-dflt-params-ref-self.js create mode 100644 test/language/expressions/async-function/named-dflt-params-rest.js create mode 100644 test/language/expressions/async-function/named-dflt-params-trailing-comma.js create mode 100644 test/language/expressions/async-function/named-params-trailing-comma-multiple.js create mode 100644 test/language/expressions/async-function/named-params-trailing-comma-single.js create mode 100644 test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-abrupt.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-duplicates.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-ref-later.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-ref-prior.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-ref-self.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-rest.js create mode 100644 test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js create mode 100644 test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js create mode 100644 test/language/expressions/async-function/nameless-params-trailing-comma-single.js create mode 100644 test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js create mode 100644 test/language/expressions/async-generator/args-trailing-comma-multiple.js create mode 100644 test/language/expressions/async-generator/args-trailing-comma-null.js create mode 100644 test/language/expressions/async-generator/args-trailing-comma-single-args.js create mode 100644 test/language/expressions/async-generator/args-trailing-comma-undefined.js rename test/language/expressions/async-generator/{params-dflt-abrupt.js => dflt-params-abrupt.js} (96%) rename test/language/expressions/async-generator/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/async-generator/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (96%) rename test/language/expressions/async-generator/{params-dflt-duplicates.js => dflt-params-duplicates.js} (95%) rename test/language/expressions/async-generator/{params-dflt-ref-later.js => dflt-params-ref-later.js} (96%) rename test/language/expressions/async-generator/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (96%) rename test/language/expressions/async-generator/{params-dflt-ref-self.js => dflt-params-ref-self.js} (96%) rename test/language/expressions/async-generator/{params-dflt-rest.js => dflt-params-rest.js} (95%) rename test/language/expressions/async-generator/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (95%) create mode 100644 test/language/expressions/async-generator/named-args-trailing-comma-multiple.js create mode 100644 test/language/expressions/async-generator/named-args-trailing-comma-null.js create mode 100644 test/language/expressions/async-generator/named-args-trailing-comma-single-args.js create mode 100644 test/language/expressions/async-generator/named-args-trailing-comma-undefined.js rename test/language/expressions/async-generator/{params-named-dflt-abrupt.js => named-dflt-params-abrupt.js} (96%) rename test/language/expressions/async-generator/{params-named-dflt-arg-val-not-undefined.js => named-dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/async-generator/{params-named-dflt-arg-val-undefined.js => named-dflt-params-arg-val-undefined.js} (96%) rename test/language/expressions/async-generator/{params-named-dflt-duplicates.js => named-dflt-params-duplicates.js} (95%) rename test/language/expressions/async-generator/{params-named-dflt-ref-later.js => named-dflt-params-ref-later.js} (96%) rename test/language/expressions/async-generator/{params-named-dflt-ref-prior.js => named-dflt-params-ref-prior.js} (96%) rename test/language/expressions/async-generator/{params-named-dflt-ref-self.js => named-dflt-params-ref-self.js} (96%) rename test/language/expressions/async-generator/{params-named-dflt-rest.js => named-dflt-params-rest.js} (95%) rename test/language/expressions/async-generator/{params-named-trailing-comma-dflt-param.js => named-dflt-params-trailing-comma.js} (95%) rename test/language/expressions/async-generator/{params-named-trailing-comma-multiple-param.js => named-params-trailing-comma-multiple.js} (95%) rename test/language/expressions/async-generator/{params-named-trailing-comma-single-param.js => named-params-trailing-comma-single.js} (95%) rename test/language/expressions/async-generator/{params-named-trailing-comma-rest-early-error.js => named-rest-params-trailing-comma-early-error.js} (94%) rename test/language/expressions/async-generator/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (95%) rename test/language/expressions/async-generator/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (95%) rename test/language/expressions/async-generator/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (94%) create mode 100644 test/language/expressions/class/async-gen-meth-args-trailing-comma-multiple.js create mode 100644 test/language/expressions/class/async-gen-meth-args-trailing-comma-null.js create mode 100644 test/language/expressions/class/async-gen-meth-args-trailing-comma-single-args.js create mode 100644 test/language/expressions/class/async-gen-meth-args-trailing-comma-undefined.js rename test/language/expressions/class/{params-async-gen-meth-dflt-abrupt.js => async-gen-meth-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-dflt-arg-val-not-undefined.js => async-gen-meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-dflt-arg-val-undefined.js => async-gen-meth-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-dflt-duplicates.js => async-gen-meth-dflt-params-duplicates.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-dflt-ref-later.js => async-gen-meth-dflt-params-ref-later.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-dflt-ref-prior.js => async-gen-meth-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-dflt-ref-self.js => async-gen-meth-dflt-params-ref-self.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-dflt-rest.js => async-gen-meth-dflt-params-rest.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-trailing-comma-dflt-param.js => async-gen-meth-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-trailing-comma-multiple-param.js => async-gen-meth-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-trailing-comma-single-param.js => async-gen-meth-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-trailing-comma-rest-early-error.js => async-gen-meth-rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/expressions/class/async-gen-meth-static-args-trailing-comma-multiple.js create mode 100644 test/language/expressions/class/async-gen-meth-static-args-trailing-comma-null.js create mode 100644 test/language/expressions/class/async-gen-meth-static-args-trailing-comma-single-args.js create mode 100644 test/language/expressions/class/async-gen-meth-static-args-trailing-comma-undefined.js rename test/language/expressions/class/{params-async-gen-meth-static-dflt-abrupt.js => async-gen-meth-static-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-arg-val-not-undefined.js => async-gen-meth-static-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-arg-val-undefined.js => async-gen-meth-static-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-duplicates.js => async-gen-meth-static-dflt-params-duplicates.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-ref-later.js => async-gen-meth-static-dflt-params-ref-later.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-ref-prior.js => async-gen-meth-static-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-ref-self.js => async-gen-meth-static-dflt-params-ref-self.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-dflt-rest.js => async-gen-meth-static-dflt-params-rest.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-trailing-comma-dflt-param.js => async-gen-meth-static-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-trailing-comma-multiple-param.js => async-gen-meth-static-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-trailing-comma-single-param.js => async-gen-meth-static-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-async-gen-meth-static-trailing-comma-rest-early-error.js => async-gen-meth-static-rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/expressions/class/async-meth-dflt-params-abrupt.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-duplicates.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-ref-later.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-ref-prior.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-ref-self.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-rest.js create mode 100644 test/language/expressions/class/async-meth-dflt-params-trailing-comma.js create mode 100644 test/language/expressions/class/async-meth-params-trailing-comma-multiple.js create mode 100644 test/language/expressions/class/async-meth-params-trailing-comma-single.js create mode 100644 test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-abrupt.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-duplicates.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-ref-later.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-ref-self.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-rest.js create mode 100644 test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js create mode 100644 test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js create mode 100644 test/language/expressions/class/async-meth-static-params-trailing-comma-single.js create mode 100644 test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js rename test/language/expressions/class/{params-gen-meth-dflt-abrupt.js => gen-meth-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-arg-val-not-undefined.js => gen-meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-arg-val-undefined.js => gen-meth-dflt-params-arg-val-undefined.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-duplicates.js => gen-meth-dflt-params-duplicates.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-ref-later.js => gen-meth-dflt-params-ref-later.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-ref-prior.js => gen-meth-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-ref-self.js => gen-meth-dflt-params-ref-self.js} (98%) rename test/language/expressions/class/{params-gen-meth-dflt-rest.js => gen-meth-dflt-params-rest.js} (98%) rename test/language/expressions/class/{params-gen-meth-trailing-comma-dflt-param.js => gen-meth-dflt-params-trailing-comma.js} (98%) rename test/language/expressions/class/{params-gen-meth-trailing-comma-multiple-param.js => gen-meth-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-gen-meth-trailing-comma-single-param.js => gen-meth-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-gen-meth-trailing-comma-rest-early-error.js => gen-meth-rest-params-trailing-comma-early-error.js} (97%) rename test/language/expressions/class/{params-gen-meth-static-dflt-abrupt.js => gen-meth-static-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-arg-val-not-undefined.js => gen-meth-static-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-arg-val-undefined.js => gen-meth-static-dflt-params-arg-val-undefined.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-duplicates.js => gen-meth-static-dflt-params-duplicates.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-ref-later.js => gen-meth-static-dflt-params-ref-later.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-ref-prior.js => gen-meth-static-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-ref-self.js => gen-meth-static-dflt-params-ref-self.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-dflt-rest.js => gen-meth-static-dflt-params-rest.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-trailing-comma-dflt-param.js => gen-meth-static-dflt-params-trailing-comma.js} (98%) rename test/language/expressions/class/{params-gen-meth-static-trailing-comma-multiple-param.js => gen-meth-static-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-gen-meth-static-trailing-comma-single-param.js => gen-meth-static-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-gen-meth-static-trailing-comma-rest-early-error.js => gen-meth-static-rest-params-trailing-comma-early-error.js} (97%) rename test/language/expressions/class/{params-meth-dflt-abrupt.js => meth-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-meth-dflt-arg-val-not-undefined.js => meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-meth-dflt-arg-val-undefined.js => meth-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/class/{params-meth-dflt-duplicates.js => meth-dflt-params-duplicates.js} (98%) rename test/language/expressions/class/{params-meth-dflt-ref-later.js => meth-dflt-params-ref-later.js} (98%) rename test/language/expressions/class/{params-meth-dflt-ref-prior.js => meth-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-meth-dflt-ref-self.js => meth-dflt-params-ref-self.js} (98%) rename test/language/expressions/class/{params-meth-dflt-rest.js => meth-dflt-params-rest.js} (98%) rename test/language/expressions/class/{params-meth-trailing-comma-dflt-param.js => meth-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/class/{params-meth-trailing-comma-multiple-param.js => meth-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-meth-trailing-comma-single-param.js => meth-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-meth-trailing-comma-rest-early-error.js => meth-rest-params-trailing-comma-early-error.js} (97%) rename test/language/expressions/class/{params-meth-static-dflt-abrupt.js => meth-static-dflt-params-abrupt.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-arg-val-not-undefined.js => meth-static-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-arg-val-undefined.js => meth-static-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/class/{params-meth-static-dflt-duplicates.js => meth-static-dflt-params-duplicates.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-ref-later.js => meth-static-dflt-params-ref-later.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-ref-prior.js => meth-static-dflt-params-ref-prior.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-ref-self.js => meth-static-dflt-params-ref-self.js} (98%) rename test/language/expressions/class/{params-meth-static-dflt-rest.js => meth-static-dflt-params-rest.js} (98%) rename test/language/expressions/class/{params-meth-static-trailing-comma-dflt-param.js => meth-static-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/class/{params-meth-static-trailing-comma-multiple-param.js => meth-static-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/class/{params-meth-static-trailing-comma-single-param.js => meth-static-params-trailing-comma-single.js} (97%) rename test/language/expressions/class/{params-meth-static-trailing-comma-rest-early-error.js => meth-static-rest-params-trailing-comma-early-error.js} (97%) rename test/language/expressions/function/{params-dflt-abrupt.js => dflt-params-abrupt.js} (97%) rename test/language/expressions/function/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/function/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/function/{params-dflt-duplicates.js => dflt-params-duplicates.js} (97%) rename test/language/expressions/function/{params-dflt-ref-later.js => dflt-params-ref-later.js} (97%) rename test/language/expressions/function/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (97%) rename test/language/expressions/function/{params-dflt-ref-self.js => dflt-params-ref-self.js} (97%) rename test/language/expressions/function/{params-dflt-rest.js => dflt-params-rest.js} (97%) rename test/language/expressions/function/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (96%) rename test/language/expressions/function/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (96%) rename test/language/expressions/function/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (96%) rename test/language/expressions/function/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (96%) rename test/language/expressions/generators/{params-dflt-abrupt.js => dflt-params-abrupt.js} (97%) rename test/language/expressions/generators/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/generators/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/generators/{params-dflt-duplicates.js => dflt-params-duplicates.js} (97%) rename test/language/expressions/generators/{params-dflt-ref-later.js => dflt-params-ref-later.js} (97%) rename test/language/expressions/generators/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (97%) rename test/language/expressions/generators/{params-dflt-ref-self.js => dflt-params-ref-self.js} (97%) rename test/language/expressions/generators/{params-dflt-rest.js => dflt-params-rest.js} (97%) rename test/language/expressions/generators/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (96%) rename test/language/expressions/generators/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (96%) rename test/language/expressions/generators/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (96%) rename test/language/expressions/generators/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-multiple.js create mode 100644 test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-null.js create mode 100644 test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-single-args.js create mode 100644 test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-undefined.js rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-abrupt.js => async-gen-meth-dflt-params-abrupt.js} (97%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-arg-val-not-undefined.js => async-gen-meth-dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-arg-val-undefined.js => async-gen-meth-dflt-params-arg-val-undefined.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-duplicates.js => async-gen-meth-dflt-params-duplicates.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-ref-later.js => async-gen-meth-dflt-params-ref-later.js} (97%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-ref-prior.js => async-gen-meth-dflt-params-ref-prior.js} (97%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-ref-self.js => async-gen-meth-dflt-params-ref-self.js} (97%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-dflt-rest.js => async-gen-meth-dflt-params-rest.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-trailing-comma-dflt-param.js => async-gen-meth-dflt-params-trailing-comma.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-trailing-comma-multiple-param.js => async-gen-meth-params-trailing-comma-multiple.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-trailing-comma-single-param.js => async-gen-meth-params-trailing-comma-single.js} (96%) rename test/language/expressions/object/method-definition/{params-async-gen-meth-trailing-comma-rest-early-error.js => async-gen-meth-rest-params-trailing-comma-early-error.js} (95%) create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js create mode 100644 test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js create mode 100644 test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js create mode 100644 test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js create mode 100644 test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-abrupt.js => gen-meth-dflt-params-abrupt.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-arg-val-not-undefined.js => gen-meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-arg-val-undefined.js => gen-meth-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-duplicates.js => gen-meth-dflt-params-duplicates.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-ref-later.js => gen-meth-dflt-params-ref-later.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-ref-prior.js => gen-meth-dflt-params-ref-prior.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-ref-self.js => gen-meth-dflt-params-ref-self.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-dflt-rest.js => gen-meth-dflt-params-rest.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-trailing-comma-dflt-param.js => gen-meth-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-trailing-comma-multiple-param.js => gen-meth-params-trailing-comma-multiple.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-trailing-comma-single-param.js => gen-meth-params-trailing-comma-single.js} (97%) rename test/language/expressions/object/method-definition/{params-gen-meth-trailing-comma-rest-early-error.js => gen-meth-rest-params-trailing-comma-early-error.js} (96%) rename test/language/expressions/object/method-definition/{params-meth-dflt-abrupt.js => meth-dflt-params-abrupt.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-arg-val-not-undefined.js => meth-dflt-params-arg-val-not-undefined.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-arg-val-undefined.js => meth-dflt-params-arg-val-undefined.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-duplicates.js => meth-dflt-params-duplicates.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-ref-later.js => meth-dflt-params-ref-later.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-ref-prior.js => meth-dflt-params-ref-prior.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-ref-self.js => meth-dflt-params-ref-self.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-dflt-rest.js => meth-dflt-params-rest.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-trailing-comma-dflt-param.js => meth-dflt-params-trailing-comma.js} (97%) rename test/language/expressions/object/method-definition/{params-meth-trailing-comma-multiple-param.js => meth-params-trailing-comma-multiple.js} (96%) rename test/language/expressions/object/method-definition/{params-meth-trailing-comma-single-param.js => meth-params-trailing-comma-single.js} (96%) rename test/language/expressions/object/method-definition/{params-meth-trailing-comma-rest-early-error.js => meth-rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/statements/async-function/dflt-params-abrupt.js create mode 100644 test/language/statements/async-function/dflt-params-arg-val-not-undefined.js create mode 100644 test/language/statements/async-function/dflt-params-arg-val-undefined.js create mode 100644 test/language/statements/async-function/dflt-params-duplicates.js create mode 100644 test/language/statements/async-function/dflt-params-ref-later.js create mode 100644 test/language/statements/async-function/dflt-params-ref-prior.js create mode 100644 test/language/statements/async-function/dflt-params-ref-self.js create mode 100644 test/language/statements/async-function/dflt-params-rest.js create mode 100644 test/language/statements/async-function/dflt-params-trailing-comma.js create mode 100644 test/language/statements/async-function/params-trailing-comma-multiple.js create mode 100644 test/language/statements/async-function/params-trailing-comma-single.js create mode 100644 test/language/statements/async-function/rest-params-trailing-comma-early-error.js create mode 100644 test/language/statements/async-generator/args-trailing-comma-multiple.js create mode 100644 test/language/statements/async-generator/args-trailing-comma-null.js create mode 100644 test/language/statements/async-generator/args-trailing-comma-single-args.js create mode 100644 test/language/statements/async-generator/args-trailing-comma-undefined.js rename test/language/statements/async-generator/{params-dflt-abrupt.js => dflt-params-abrupt.js} (96%) rename test/language/statements/async-generator/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/statements/async-generator/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (96%) rename test/language/statements/async-generator/{params-dflt-duplicates.js => dflt-params-duplicates.js} (95%) rename test/language/statements/async-generator/{params-dflt-ref-later.js => dflt-params-ref-later.js} (96%) rename test/language/statements/async-generator/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (96%) rename test/language/statements/async-generator/{params-dflt-ref-self.js => dflt-params-ref-self.js} (96%) rename test/language/statements/async-generator/{params-dflt-rest.js => dflt-params-rest.js} (95%) rename test/language/statements/async-generator/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (95%) rename test/language/statements/async-generator/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (95%) rename test/language/statements/async-generator/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (95%) rename test/language/statements/async-generator/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (94%) create mode 100644 test/language/statements/class/async-gen-meth-args-trailing-comma-multiple.js create mode 100644 test/language/statements/class/async-gen-meth-args-trailing-comma-null.js create mode 100644 test/language/statements/class/async-gen-meth-args-trailing-comma-single-args.js create mode 100644 test/language/statements/class/async-gen-meth-args-trailing-comma-undefined.js rename test/language/statements/class/{params-async-gen-meth-dflt-abrupt.js => async-gen-meth-dflt-params-abrupt.js} (97%) rename test/language/statements/class/{params-async-gen-meth-dflt-arg-val-not-undefined.js => async-gen-meth-dflt-params-arg-val-not-undefined.js} (96%) rename test/language/statements/class/{params-async-gen-meth-dflt-arg-val-undefined.js => async-gen-meth-dflt-params-arg-val-undefined.js} (95%) rename test/language/statements/class/{params-async-gen-meth-dflt-duplicates.js => async-gen-meth-dflt-params-duplicates.js} (97%) rename test/language/statements/class/{params-async-gen-meth-dflt-ref-later.js => async-gen-meth-dflt-params-ref-later.js} (97%) rename test/language/statements/class/{params-async-gen-meth-dflt-ref-prior.js => async-gen-meth-dflt-params-ref-prior.js} (95%) rename test/language/statements/class/{params-async-gen-meth-dflt-ref-self.js => async-gen-meth-dflt-params-ref-self.js} (97%) rename test/language/statements/class/{params-async-gen-meth-dflt-rest.js => async-gen-meth-dflt-params-rest.js} (97%) rename test/language/statements/class/{params-async-gen-meth-trailing-comma-dflt-param.js => async-gen-meth-dflt-params-trailing-comma.js} (94%) rename test/language/statements/class/{params-async-gen-meth-trailing-comma-multiple-param.js => async-gen-meth-params-trailing-comma-multiple.js} (93%) rename test/language/statements/class/{params-async-gen-meth-trailing-comma-single-param.js => async-gen-meth-params-trailing-comma-single.js} (93%) rename test/language/statements/class/{params-async-gen-meth-trailing-comma-rest-early-error.js => async-gen-meth-rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/statements/class/async-gen-meth-static-args-trailing-comma-multiple.js create mode 100644 test/language/statements/class/async-gen-meth-static-args-trailing-comma-null.js create mode 100644 test/language/statements/class/async-gen-meth-static-args-trailing-comma-single-args.js create mode 100644 test/language/statements/class/async-gen-meth-static-args-trailing-comma-undefined.js rename test/language/statements/class/{params-async-gen-meth-static-dflt-abrupt.js => async-gen-meth-static-dflt-params-abrupt.js} (97%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-arg-val-not-undefined.js => async-gen-meth-static-dflt-params-arg-val-not-undefined.js} (96%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-arg-val-undefined.js => async-gen-meth-static-dflt-params-arg-val-undefined.js} (95%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-duplicates.js => async-gen-meth-static-dflt-params-duplicates.js} (97%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-ref-later.js => async-gen-meth-static-dflt-params-ref-later.js} (97%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-ref-prior.js => async-gen-meth-static-dflt-params-ref-prior.js} (95%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-ref-self.js => async-gen-meth-static-dflt-params-ref-self.js} (97%) rename test/language/statements/class/{params-async-gen-meth-static-dflt-rest.js => async-gen-meth-static-dflt-params-rest.js} (97%) rename test/language/statements/class/{params-async-gen-meth-static-trailing-comma-dflt-param.js => async-gen-meth-static-dflt-params-trailing-comma.js} (93%) rename test/language/statements/class/{params-async-gen-meth-static-trailing-comma-multiple-param.js => async-gen-meth-static-params-trailing-comma-multiple.js} (93%) rename test/language/statements/class/{params-async-gen-meth-static-trailing-comma-single-param.js => async-gen-meth-static-params-trailing-comma-single.js} (93%) rename test/language/statements/class/{params-async-gen-meth-static-trailing-comma-rest-early-error.js => async-gen-meth-static-rest-params-trailing-comma-early-error.js} (96%) create mode 100644 test/language/statements/class/async-meth-dflt-params-abrupt.js create mode 100644 test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js create mode 100644 test/language/statements/class/async-meth-dflt-params-duplicates.js create mode 100644 test/language/statements/class/async-meth-dflt-params-ref-later.js create mode 100644 test/language/statements/class/async-meth-dflt-params-ref-prior.js create mode 100644 test/language/statements/class/async-meth-dflt-params-ref-self.js create mode 100644 test/language/statements/class/async-meth-dflt-params-rest.js create mode 100644 test/language/statements/class/async-meth-dflt-params-trailing-comma.js create mode 100644 test/language/statements/class/async-meth-params-trailing-comma-multiple.js create mode 100644 test/language/statements/class/async-meth-params-trailing-comma-single.js create mode 100644 test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-abrupt.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-duplicates.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-ref-later.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-ref-prior.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-ref-self.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-rest.js create mode 100644 test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js create mode 100644 test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js create mode 100644 test/language/statements/class/async-meth-static-params-trailing-comma-single.js create mode 100644 test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js rename test/language/statements/class/{params-gen-meth-dflt-abrupt.js => gen-meth-dflt-params-abrupt.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-arg-val-not-undefined.js => gen-meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-arg-val-undefined.js => gen-meth-dflt-params-arg-val-undefined.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-duplicates.js => gen-meth-dflt-params-duplicates.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-ref-later.js => gen-meth-dflt-params-ref-later.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-ref-prior.js => gen-meth-dflt-params-ref-prior.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-ref-self.js => gen-meth-dflt-params-ref-self.js} (98%) rename test/language/statements/class/{params-gen-meth-dflt-rest.js => gen-meth-dflt-params-rest.js} (98%) rename test/language/statements/class/{params-gen-meth-trailing-comma-dflt-param.js => gen-meth-dflt-params-trailing-comma.js} (97%) rename test/language/statements/class/{params-gen-meth-trailing-comma-multiple-param.js => gen-meth-params-trailing-comma-multiple.js} (97%) rename test/language/statements/class/{params-gen-meth-trailing-comma-single-param.js => gen-meth-params-trailing-comma-single.js} (97%) rename test/language/statements/class/{params-gen-meth-trailing-comma-rest-early-error.js => gen-meth-rest-params-trailing-comma-early-error.js} (97%) rename test/language/statements/class/{params-gen-meth-static-dflt-abrupt.js => gen-meth-static-dflt-params-abrupt.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-arg-val-not-undefined.js => gen-meth-static-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-arg-val-undefined.js => gen-meth-static-dflt-params-arg-val-undefined.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-duplicates.js => gen-meth-static-dflt-params-duplicates.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-ref-later.js => gen-meth-static-dflt-params-ref-later.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-ref-prior.js => gen-meth-static-dflt-params-ref-prior.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-ref-self.js => gen-meth-static-dflt-params-ref-self.js} (98%) rename test/language/statements/class/{params-gen-meth-static-dflt-rest.js => gen-meth-static-dflt-params-rest.js} (98%) rename test/language/statements/class/{params-gen-meth-static-trailing-comma-dflt-param.js => gen-meth-static-dflt-params-trailing-comma.js} (97%) rename test/language/statements/class/{params-gen-meth-static-trailing-comma-multiple-param.js => gen-meth-static-params-trailing-comma-multiple.js} (97%) rename test/language/statements/class/{params-gen-meth-static-trailing-comma-single-param.js => gen-meth-static-params-trailing-comma-single.js} (97%) rename test/language/statements/class/{params-gen-meth-static-trailing-comma-rest-early-error.js => gen-meth-static-rest-params-trailing-comma-early-error.js} (97%) rename test/language/statements/class/{params-meth-dflt-abrupt.js => meth-dflt-params-abrupt.js} (98%) rename test/language/statements/class/{params-meth-dflt-arg-val-not-undefined.js => meth-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/statements/class/{params-meth-dflt-arg-val-undefined.js => meth-dflt-params-arg-val-undefined.js} (97%) rename test/language/statements/class/{params-meth-dflt-duplicates.js => meth-dflt-params-duplicates.js} (97%) rename test/language/statements/class/{params-meth-dflt-ref-later.js => meth-dflt-params-ref-later.js} (98%) rename test/language/statements/class/{params-meth-dflt-ref-prior.js => meth-dflt-params-ref-prior.js} (98%) rename test/language/statements/class/{params-meth-dflt-ref-self.js => meth-dflt-params-ref-self.js} (98%) rename test/language/statements/class/{params-meth-dflt-rest.js => meth-dflt-params-rest.js} (98%) rename test/language/statements/class/{params-meth-trailing-comma-dflt-param.js => meth-dflt-params-trailing-comma.js} (97%) rename test/language/statements/class/{params-meth-trailing-comma-multiple-param.js => meth-params-trailing-comma-multiple.js} (97%) rename test/language/statements/class/{params-meth-trailing-comma-single-param.js => meth-params-trailing-comma-single.js} (97%) rename test/language/statements/class/{params-meth-trailing-comma-rest-early-error.js => meth-rest-params-trailing-comma-early-error.js} (97%) rename test/language/statements/class/{params-meth-static-dflt-abrupt.js => meth-static-dflt-params-abrupt.js} (98%) rename test/language/statements/class/{params-meth-static-dflt-arg-val-not-undefined.js => meth-static-dflt-params-arg-val-not-undefined.js} (98%) rename test/language/statements/class/{params-meth-static-dflt-arg-val-undefined.js => meth-static-dflt-params-arg-val-undefined.js} (97%) rename test/language/statements/class/{params-meth-static-dflt-duplicates.js => meth-static-dflt-params-duplicates.js} (97%) rename test/language/statements/class/{params-meth-static-dflt-ref-later.js => meth-static-dflt-params-ref-later.js} (98%) rename test/language/statements/class/{params-meth-static-dflt-ref-prior.js => meth-static-dflt-params-ref-prior.js} (98%) rename test/language/statements/class/{params-meth-static-dflt-ref-self.js => meth-static-dflt-params-ref-self.js} (98%) rename test/language/statements/class/{params-meth-static-dflt-rest.js => meth-static-dflt-params-rest.js} (98%) rename test/language/statements/class/{params-meth-static-trailing-comma-dflt-param.js => meth-static-dflt-params-trailing-comma.js} (97%) rename test/language/statements/class/{params-meth-static-trailing-comma-multiple-param.js => meth-static-params-trailing-comma-multiple.js} (97%) rename test/language/statements/class/{params-meth-static-trailing-comma-single-param.js => meth-static-params-trailing-comma-single.js} (97%) rename test/language/statements/class/{params-meth-static-trailing-comma-rest-early-error.js => meth-static-rest-params-trailing-comma-early-error.js} (97%) rename test/language/statements/function/{params-dflt-abrupt.js => dflt-params-abrupt.js} (97%) rename test/language/statements/function/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/statements/function/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (97%) rename test/language/statements/function/{params-dflt-duplicates.js => dflt-params-duplicates.js} (97%) rename test/language/statements/function/{params-dflt-ref-later.js => dflt-params-ref-later.js} (97%) rename test/language/statements/function/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (97%) rename test/language/statements/function/{params-dflt-ref-self.js => dflt-params-ref-self.js} (97%) rename test/language/statements/function/{params-dflt-rest.js => dflt-params-rest.js} (97%) rename test/language/statements/function/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (96%) rename test/language/statements/function/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (96%) rename test/language/statements/function/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (96%) rename test/language/statements/function/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (96%) rename test/language/statements/generators/{params-dflt-abrupt.js => dflt-params-abrupt.js} (97%) rename test/language/statements/generators/{params-dflt-arg-val-not-undefined.js => dflt-params-arg-val-not-undefined.js} (97%) rename test/language/statements/generators/{params-dflt-arg-val-undefined.js => dflt-params-arg-val-undefined.js} (97%) rename test/language/statements/generators/{params-dflt-duplicates.js => dflt-params-duplicates.js} (97%) rename test/language/statements/generators/{params-dflt-ref-later.js => dflt-params-ref-later.js} (97%) rename test/language/statements/generators/{params-dflt-ref-prior.js => dflt-params-ref-prior.js} (97%) rename test/language/statements/generators/{params-dflt-ref-self.js => dflt-params-ref-self.js} (97%) rename test/language/statements/generators/{params-dflt-rest.js => dflt-params-rest.js} (97%) rename test/language/statements/generators/{params-trailing-comma-dflt-param.js => dflt-params-trailing-comma.js} (96%) rename test/language/statements/generators/{params-trailing-comma-multiple-param.js => params-trailing-comma-multiple.js} (96%) rename test/language/statements/generators/{params-trailing-comma-single-param.js => params-trailing-comma-single.js} (96%) rename test/language/statements/generators/{params-trailing-comma-rest-early-error.js => rest-params-trailing-comma-early-error.js} (96%) diff --git a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-multiple.js index 19404642d0..edb29e6bbf 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-decl-gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-null.js b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-trailing-comma-null.js rename to test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-null.js index 8a960cdcb0..59230245c6 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-null.js +++ b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-decl-gen-meth.template /*--- description: A trailing comma after null should not increase the arguments.length (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-single-args.js b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-single-args.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-trailing-comma-single-args.js rename to test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-single-args.js index d507f4e5ec..a2db1f0d38 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-decl-gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-undefined.js b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-trailing-comma-undefined.js rename to test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-undefined.js index 453f515a4b..fa7da08f9c 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-decl-gen-meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-decl-gen-meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-multiple.js index af22068be0..f6d54e0356 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-null.js b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-null.js rename to test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-null.js index 04b050d3fd..6f5b19c4c4 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-null.js +++ b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma after null should not increase the arguments.length (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-single-args.js b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-single-args.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-single-args.js rename to test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-single-args.js index f277d51337..c0cbc32511 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-undefined.js b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-undefined.js rename to test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-undefined.js index b2782f1cd6..fcc01479a5 100644 --- a/test/language/arguments-object/cls-decl-gen-meth-static-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma after undefined should not increase the arguments.length (class declaration generator method) diff --git a/test/language/arguments-object/cls-decl-meth-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-decl-meth-args-trailing-comma-multiple.js index b5910ff593..2fd2c18f52 100644 --- a/test/language/arguments-object/cls-decl-meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-decl-meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-trailing-comma-null.js b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-trailing-comma-null.js rename to test/language/arguments-object/cls-decl-meth-args-trailing-comma-null.js index 32a9d3a764..f8ad3d0387 100644 --- a/test/language/arguments-object/cls-decl-meth-trailing-comma-null.js +++ b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-decl-meth.template /*--- description: A trailing comma after null should not increase the arguments.length (class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-trailing-comma-single-args.js b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/cls-decl-meth-trailing-comma-single-args.js rename to test/language/arguments-object/cls-decl-meth-args-trailing-comma-single-args.js index b3a6ba8a71..8c5c84e307 100644 --- a/test/language/arguments-object/cls-decl-meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-decl-meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-trailing-comma-undefined.js b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-trailing-comma-undefined.js rename to test/language/arguments-object/cls-decl-meth-args-trailing-comma-undefined.js index ac3710a870..2369485c96 100644 --- a/test/language/arguments-object/cls-decl-meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-decl-meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-decl-meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-static-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-multiple.js index 7d0c69d154..41eb07215d 100644 --- a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-decl-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (static class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-null.js b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-static-trailing-comma-null.js rename to test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-null.js index 6ac2ace1c0..d33ef1805f 100644 --- a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-null.js +++ b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-decl-meth-static.template /*--- description: A trailing comma after null should not increase the arguments.length (static class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-single-args.js b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/cls-decl-meth-static-trailing-comma-single-args.js rename to test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-single-args.js index 7389cc51e9..dca6c135ce 100644 --- a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-decl-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (static class declaration method) diff --git a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-undefined.js b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-decl-meth-static-trailing-comma-undefined.js rename to test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-undefined.js index 3ee1f645ba..dbdbfea745 100644 --- a/test/language/arguments-object/cls-decl-meth-static-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-decl-meth-static-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-decl-meth-static.template /*--- description: A trailing comma after undefined should not increase the arguments.length (static class declaration method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-multiple.js index 67ce4d54c5..ad9cd75f3a 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-expr-gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-null.js b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-trailing-comma-null.js rename to test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-null.js index b3b8402818..da9ef74e14 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-null.js +++ b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-expr-gen-meth.template /*--- description: A trailing comma after null should not increase the arguments.length (class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-single-args.js b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-single-args.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-trailing-comma-single-args.js rename to test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-single-args.js index 2b025b1f27..cb44370169 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-expr-gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-undefined.js b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-trailing-comma-undefined.js rename to test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-undefined.js index 666723a9a1..c12734f96f 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-expr-gen-meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-expr-gen-meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-multiple.js index 1a797aa980..c93b91741e 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (static class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-null.js b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-null.js rename to test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-null.js index 770887168c..7358363b9e 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-null.js +++ b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma after null should not increase the arguments.length (static class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-single-args.js b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-single-args.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-single-args.js rename to test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-single-args.js index f729a442ca..699ee48466 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (static class expression generator method) diff --git a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-undefined.js b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-undefined.js rename to test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-undefined.js index 5a36a31ab2..798bc69179 100644 --- a/test/language/arguments-object/cls-expr-gen-meth-static-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-expr-gen-meth-static-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma after undefined should not increase the arguments.length (static class expression generator method) diff --git a/test/language/arguments-object/cls-expr-meth-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-expr-meth-args-trailing-comma-multiple.js index cf08d53d0b..1a0fcf7785 100644 --- a/test/language/arguments-object/cls-expr-meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-expr-meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-trailing-comma-null.js b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-trailing-comma-null.js rename to test/language/arguments-object/cls-expr-meth-args-trailing-comma-null.js index b1460168d4..04d0bf5e83 100644 --- a/test/language/arguments-object/cls-expr-meth-trailing-comma-null.js +++ b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-expr-meth.template /*--- description: A trailing comma after null should not increase the arguments.length (class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-trailing-comma-single-args.js b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/cls-expr-meth-trailing-comma-single-args.js rename to test/language/arguments-object/cls-expr-meth-args-trailing-comma-single-args.js index 4b68d6fd37..841ed2e637 100644 --- a/test/language/arguments-object/cls-expr-meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-expr-meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-trailing-comma-undefined.js b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-trailing-comma-undefined.js rename to test/language/arguments-object/cls-expr-meth-args-trailing-comma-undefined.js index ffd2447438..f96b481511 100644 --- a/test/language/arguments-object/cls-expr-meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-expr-meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-expr-meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-multiple-args.js b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-static-trailing-comma-multiple-args.js rename to test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-multiple.js index 9720302d40..6b92f2abfa 100644 --- a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/cls-expr-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (static class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-null.js b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-static-trailing-comma-null.js rename to test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-null.js index 02ebc63c38..6dc103bcc1 100644 --- a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-null.js +++ b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/cls-expr-meth-static.template /*--- description: A trailing comma after null should not increase the arguments.length (static class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-single-args.js b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/cls-expr-meth-static-trailing-comma-single-args.js rename to test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-single-args.js index 81cb12a473..02910ed585 100644 --- a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-single-args.js +++ b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/cls-expr-meth-static.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (static class expression method) diff --git a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-undefined.js b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/cls-expr-meth-static-trailing-comma-undefined.js rename to test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-undefined.js index 1c4d255317..8aa68aa06b 100644 --- a/test/language/arguments-object/cls-expr-meth-static-trailing-comma-undefined.js +++ b/test/language/arguments-object/cls-expr-meth-static-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/cls-expr-meth-static.template /*--- description: A trailing comma after undefined should not increase the arguments.length (static class expression method) diff --git a/test/language/arguments-object/func-decl-trailing-comma-multiple-args.js b/test/language/arguments-object/func-decl-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/func-decl-trailing-comma-multiple-args.js rename to test/language/arguments-object/func-decl-args-trailing-comma-multiple.js index a431a3a944..5914d38a2f 100644 --- a/test/language/arguments-object/func-decl-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/func-decl-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/func-decl.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (function declaration) diff --git a/test/language/arguments-object/func-decl-trailing-comma-null.js b/test/language/arguments-object/func-decl-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/func-decl-trailing-comma-null.js rename to test/language/arguments-object/func-decl-args-trailing-comma-null.js index 2aa8c8284e..5eccfc29de 100644 --- a/test/language/arguments-object/func-decl-trailing-comma-null.js +++ b/test/language/arguments-object/func-decl-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/func-decl.template /*--- description: A trailing comma after null should not increase the arguments.length (function declaration) diff --git a/test/language/arguments-object/func-decl-trailing-comma-single-args.js b/test/language/arguments-object/func-decl-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/func-decl-trailing-comma-single-args.js rename to test/language/arguments-object/func-decl-args-trailing-comma-single-args.js index 19f4eab18c..fd0d787d3c 100644 --- a/test/language/arguments-object/func-decl-trailing-comma-single-args.js +++ b/test/language/arguments-object/func-decl-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/func-decl.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (function declaration) diff --git a/test/language/arguments-object/func-decl-trailing-comma-undefined.js b/test/language/arguments-object/func-decl-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/func-decl-trailing-comma-undefined.js rename to test/language/arguments-object/func-decl-args-trailing-comma-undefined.js index cb4bb55ca0..a4158e2241 100644 --- a/test/language/arguments-object/func-decl-trailing-comma-undefined.js +++ b/test/language/arguments-object/func-decl-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/func-decl.template /*--- description: A trailing comma after undefined should not increase the arguments.length (function declaration) diff --git a/test/language/arguments-object/func-expr-trailing-comma-multiple-args.js b/test/language/arguments-object/func-expr-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/func-expr-trailing-comma-multiple-args.js rename to test/language/arguments-object/func-expr-args-trailing-comma-multiple.js index 07a9ca9fd9..a40af7de8c 100644 --- a/test/language/arguments-object/func-expr-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/func-expr-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/func-expr.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (function expression) diff --git a/test/language/arguments-object/func-expr-trailing-comma-null.js b/test/language/arguments-object/func-expr-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/func-expr-trailing-comma-null.js rename to test/language/arguments-object/func-expr-args-trailing-comma-null.js index 242d0dd28b..d6b035aaf1 100644 --- a/test/language/arguments-object/func-expr-trailing-comma-null.js +++ b/test/language/arguments-object/func-expr-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/func-expr.template /*--- description: A trailing comma after null should not increase the arguments.length (function expression) diff --git a/test/language/arguments-object/func-expr-trailing-comma-single-args.js b/test/language/arguments-object/func-expr-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/func-expr-trailing-comma-single-args.js rename to test/language/arguments-object/func-expr-args-trailing-comma-single-args.js index 3fc9a95c35..21aa7b209f 100644 --- a/test/language/arguments-object/func-expr-trailing-comma-single-args.js +++ b/test/language/arguments-object/func-expr-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/func-expr.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (function expression) diff --git a/test/language/arguments-object/func-expr-trailing-comma-undefined.js b/test/language/arguments-object/func-expr-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/func-expr-trailing-comma-undefined.js rename to test/language/arguments-object/func-expr-args-trailing-comma-undefined.js index 1516acf3de..66e01cc6c1 100644 --- a/test/language/arguments-object/func-expr-trailing-comma-undefined.js +++ b/test/language/arguments-object/func-expr-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/func-expr.template /*--- description: A trailing comma after undefined should not increase the arguments.length (function expression) diff --git a/test/language/arguments-object/gen-func-decl-trailing-comma-multiple-args.js b/test/language/arguments-object/gen-func-decl-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/gen-func-decl-trailing-comma-multiple-args.js rename to test/language/arguments-object/gen-func-decl-args-trailing-comma-multiple.js index ff1ac6f609..f3179cd0ec 100644 --- a/test/language/arguments-object/gen-func-decl-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/gen-func-decl-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/gen-func-decl.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (generator function declaration) diff --git a/test/language/arguments-object/gen-func-decl-trailing-comma-null.js b/test/language/arguments-object/gen-func-decl-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/gen-func-decl-trailing-comma-null.js rename to test/language/arguments-object/gen-func-decl-args-trailing-comma-null.js index 7d3a1ecf3f..443700eaee 100644 --- a/test/language/arguments-object/gen-func-decl-trailing-comma-null.js +++ b/test/language/arguments-object/gen-func-decl-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/gen-func-decl.template /*--- description: A trailing comma after null should not increase the arguments.length (generator function declaration) diff --git a/test/language/arguments-object/gen-func-decl-trailing-comma-single-args.js b/test/language/arguments-object/gen-func-decl-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/gen-func-decl-trailing-comma-single-args.js rename to test/language/arguments-object/gen-func-decl-args-trailing-comma-single-args.js index 000a932a56..d7c2446816 100644 --- a/test/language/arguments-object/gen-func-decl-trailing-comma-single-args.js +++ b/test/language/arguments-object/gen-func-decl-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/gen-func-decl.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (generator function declaration) diff --git a/test/language/arguments-object/gen-func-decl-trailing-comma-undefined.js b/test/language/arguments-object/gen-func-decl-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/gen-func-decl-trailing-comma-undefined.js rename to test/language/arguments-object/gen-func-decl-args-trailing-comma-undefined.js index e1d772bc39..56f4d99359 100644 --- a/test/language/arguments-object/gen-func-decl-trailing-comma-undefined.js +++ b/test/language/arguments-object/gen-func-decl-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/gen-func-decl.template /*--- description: A trailing comma after undefined should not increase the arguments.length (generator function declaration) diff --git a/test/language/arguments-object/gen-func-expr-trailing-comma-multiple-args.js b/test/language/arguments-object/gen-func-expr-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/gen-func-expr-trailing-comma-multiple-args.js rename to test/language/arguments-object/gen-func-expr-args-trailing-comma-multiple.js index 63f0911461..18fd3e114e 100644 --- a/test/language/arguments-object/gen-func-expr-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/gen-func-expr-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/gen-func-expr.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (generator function expression) diff --git a/test/language/arguments-object/gen-func-expr-trailing-comma-null.js b/test/language/arguments-object/gen-func-expr-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/gen-func-expr-trailing-comma-null.js rename to test/language/arguments-object/gen-func-expr-args-trailing-comma-null.js index cac540994a..ff31fd5455 100644 --- a/test/language/arguments-object/gen-func-expr-trailing-comma-null.js +++ b/test/language/arguments-object/gen-func-expr-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/gen-func-expr.template /*--- description: A trailing comma after null should not increase the arguments.length (generator function expression) diff --git a/test/language/arguments-object/gen-func-expr-trailing-comma-single-args.js b/test/language/arguments-object/gen-func-expr-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/gen-func-expr-trailing-comma-single-args.js rename to test/language/arguments-object/gen-func-expr-args-trailing-comma-single-args.js index a8a977ec15..0056f61443 100644 --- a/test/language/arguments-object/gen-func-expr-trailing-comma-single-args.js +++ b/test/language/arguments-object/gen-func-expr-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/gen-func-expr.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (generator function expression) diff --git a/test/language/arguments-object/gen-func-expr-trailing-comma-undefined.js b/test/language/arguments-object/gen-func-expr-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/gen-func-expr-trailing-comma-undefined.js rename to test/language/arguments-object/gen-func-expr-args-trailing-comma-undefined.js index 8c9f829e65..acbcdab2df 100644 --- a/test/language/arguments-object/gen-func-expr-trailing-comma-undefined.js +++ b/test/language/arguments-object/gen-func-expr-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/gen-func-expr.template /*--- description: A trailing comma after undefined should not increase the arguments.length (generator function expression) diff --git a/test/language/arguments-object/gen-meth-trailing-comma-multiple-args.js b/test/language/arguments-object/gen-meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/gen-meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/gen-meth-args-trailing-comma-multiple.js index 633968c46b..2dfd4ac88a 100644 --- a/test/language/arguments-object/gen-meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/gen-meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (generator method) diff --git a/test/language/arguments-object/gen-meth-trailing-comma-null.js b/test/language/arguments-object/gen-meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/gen-meth-trailing-comma-null.js rename to test/language/arguments-object/gen-meth-args-trailing-comma-null.js index f39d4abf8e..5744ae0858 100644 --- a/test/language/arguments-object/gen-meth-trailing-comma-null.js +++ b/test/language/arguments-object/gen-meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/gen-meth.template /*--- description: A trailing comma after null should not increase the arguments.length (generator method) diff --git a/test/language/arguments-object/gen-meth-trailing-comma-single-args.js b/test/language/arguments-object/gen-meth-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/gen-meth-trailing-comma-single-args.js rename to test/language/arguments-object/gen-meth-args-trailing-comma-single-args.js index b162f30b3e..0d3586bbdd 100644 --- a/test/language/arguments-object/gen-meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/gen-meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/gen-meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (generator method) diff --git a/test/language/arguments-object/gen-meth-trailing-comma-undefined.js b/test/language/arguments-object/gen-meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/gen-meth-trailing-comma-undefined.js rename to test/language/arguments-object/gen-meth-args-trailing-comma-undefined.js index 438aeae9ea..0a4c5cd131 100644 --- a/test/language/arguments-object/gen-meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/gen-meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/gen-meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (generator method) diff --git a/test/language/arguments-object/meth-trailing-comma-multiple-args.js b/test/language/arguments-object/meth-args-trailing-comma-multiple.js similarity index 95% rename from test/language/arguments-object/meth-trailing-comma-multiple-args.js rename to test/language/arguments-object/meth-args-trailing-comma-multiple.js index 6bd15dcc08..61870a87e9 100644 --- a/test/language/arguments-object/meth-trailing-comma-multiple-args.js +++ b/test/language/arguments-object/meth-args-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-multiple-args.case +// - src/arguments/args-trailing-comma-multiple.case // - src/arguments/default/meth.template /*--- description: A trailing comma should not increase the arguments.length, using multiple args (method) diff --git a/test/language/arguments-object/meth-trailing-comma-null.js b/test/language/arguments-object/meth-args-trailing-comma-null.js similarity index 95% rename from test/language/arguments-object/meth-trailing-comma-null.js rename to test/language/arguments-object/meth-args-trailing-comma-null.js index 9645f4739c..27c6ca0ff4 100644 --- a/test/language/arguments-object/meth-trailing-comma-null.js +++ b/test/language/arguments-object/meth-args-trailing-comma-null.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-null.case +// - src/arguments/args-trailing-comma-null.case // - src/arguments/default/meth.template /*--- description: A trailing comma after null should not increase the arguments.length (method) diff --git a/test/language/arguments-object/meth-trailing-comma-single-args.js b/test/language/arguments-object/meth-args-trailing-comma-single-args.js similarity index 94% rename from test/language/arguments-object/meth-trailing-comma-single-args.js rename to test/language/arguments-object/meth-args-trailing-comma-single-args.js index 571fe47a8f..039e1e19f9 100644 --- a/test/language/arguments-object/meth-trailing-comma-single-args.js +++ b/test/language/arguments-object/meth-args-trailing-comma-single-args.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-single-args.case +// - src/arguments/args-trailing-comma-single-args.case // - src/arguments/default/meth.template /*--- description: A trailing comma should not increase the arguments.length, using a single arg (method) diff --git a/test/language/arguments-object/meth-trailing-comma-undefined.js b/test/language/arguments-object/meth-args-trailing-comma-undefined.js similarity index 95% rename from test/language/arguments-object/meth-trailing-comma-undefined.js rename to test/language/arguments-object/meth-args-trailing-comma-undefined.js index aee2de278d..6b9bf88ea4 100644 --- a/test/language/arguments-object/meth-trailing-comma-undefined.js +++ b/test/language/arguments-object/meth-args-trailing-comma-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/arguments/trailing-comma-undefined.case +// - src/arguments/args-trailing-comma-undefined.case // - src/arguments/default/meth.template /*--- description: A trailing comma after undefined should not increase the arguments.length (method) diff --git a/test/language/expressions/arrow-function/params-dflt-abrupt.js b/test/language/expressions/arrow-function/dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-abrupt.js rename to test/language/expressions/arrow-function/dflt-params-abrupt.js index de17e0dcb1..92ef0c97d3 100644 --- a/test/language/expressions/arrow-function/params-dflt-abrupt.js +++ b/test/language/expressions/arrow-function/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/arrow-function.template /*--- description: Abrupt completion returned by evaluation of initializer (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-arg-val-not-undefined.js b/test/language/expressions/arrow-function/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-arg-val-not-undefined.js rename to test/language/expressions/arrow-function/dflt-params-arg-val-not-undefined.js index 7bb2faff13..0559222be5 100644 --- a/test/language/expressions/arrow-function/params-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/arrow-function/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/arrow-function.template /*--- description: Use of intializer when argument value is not `undefined` (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-arg-val-undefined.js b/test/language/expressions/arrow-function/dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-arg-val-undefined.js rename to test/language/expressions/arrow-function/dflt-params-arg-val-undefined.js index d9294149f6..5c7f48400b 100644 --- a/test/language/expressions/arrow-function/params-dflt-arg-val-undefined.js +++ b/test/language/expressions/arrow-function/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/arrow-function.template /*--- description: Use of intializer when argument value is `undefined` (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-duplicates.js b/test/language/expressions/arrow-function/dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-duplicates.js rename to test/language/expressions/arrow-function/dflt-params-duplicates.js index c552f8da7d..a737290183 100644 --- a/test/language/expressions/arrow-function/params-dflt-duplicates.js +++ b/test/language/expressions/arrow-function/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/arrow-function.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-ref-later.js b/test/language/expressions/arrow-function/dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-ref-later.js rename to test/language/expressions/arrow-function/dflt-params-ref-later.js index 342636e73d..36a72a414d 100644 --- a/test/language/expressions/arrow-function/params-dflt-ref-later.js +++ b/test/language/expressions/arrow-function/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/arrow-function.template /*--- description: Referencing a parameter that occurs later in the ParameterList (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-ref-prior.js b/test/language/expressions/arrow-function/dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-ref-prior.js rename to test/language/expressions/arrow-function/dflt-params-ref-prior.js index 135f650de9..3649b6937a 100644 --- a/test/language/expressions/arrow-function/params-dflt-ref-prior.js +++ b/test/language/expressions/arrow-function/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/arrow-function.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-ref-self.js b/test/language/expressions/arrow-function/dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-ref-self.js rename to test/language/expressions/arrow-function/dflt-params-ref-self.js index a4f4b7c752..bfe25d1a72 100644 --- a/test/language/expressions/arrow-function/params-dflt-ref-self.js +++ b/test/language/expressions/arrow-function/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/arrow-function.template /*--- description: Referencing a parameter from within its own initializer (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-dflt-rest.js b/test/language/expressions/arrow-function/dflt-params-rest.js similarity index 97% rename from test/language/expressions/arrow-function/params-dflt-rest.js rename to test/language/expressions/arrow-function/dflt-params-rest.js index 6d3523ab00..c5664b523c 100644 --- a/test/language/expressions/arrow-function/params-dflt-rest.js +++ b/test/language/expressions/arrow-function/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/arrow-function.template /*--- description: RestParameter does not support an initializer (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-trailing-comma-dflt-param.js b/test/language/expressions/arrow-function/dflt-params-trailing-comma.js similarity index 96% rename from test/language/expressions/arrow-function/params-trailing-comma-dflt-param.js rename to test/language/expressions/arrow-function/dflt-params-trailing-comma.js index 5153f1a29e..7ded24cd5f 100644 --- a/test/language/expressions/arrow-function/params-trailing-comma-dflt-param.js +++ b/test/language/expressions/arrow-function/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/arrow-function.template /*--- description: A trailing comma should not increase the respective length, using default parameters (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-trailing-comma-multiple-param.js b/test/language/expressions/arrow-function/params-trailing-comma-multiple.js similarity index 96% rename from test/language/expressions/arrow-function/params-trailing-comma-multiple-param.js rename to test/language/expressions/arrow-function/params-trailing-comma-multiple.js index 16c0e2654c..2b66692334 100644 --- a/test/language/expressions/arrow-function/params-trailing-comma-multiple-param.js +++ b/test/language/expressions/arrow-function/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/arrow-function.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-trailing-comma-single-param.js b/test/language/expressions/arrow-function/params-trailing-comma-single.js similarity index 96% rename from test/language/expressions/arrow-function/params-trailing-comma-single-param.js rename to test/language/expressions/arrow-function/params-trailing-comma-single.js index 2f588adbe3..55e41408c4 100644 --- a/test/language/expressions/arrow-function/params-trailing-comma-single-param.js +++ b/test/language/expressions/arrow-function/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/arrow-function.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (arrow function expression) diff --git a/test/language/expressions/arrow-function/params-trailing-comma-rest-early-error.js b/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js similarity index 95% rename from test/language/expressions/arrow-function/params-trailing-comma-rest-early-error.js rename to test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js index cb5a19a168..3b0b26029c 100644 --- a/test/language/expressions/arrow-function/params-trailing-comma-rest-early-error.js +++ b/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/arrow-function.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (arrow function expression) diff --git a/test/language/expressions/async-arrow-function/dflt-params-abrupt.js b/test/language/expressions/async-arrow-function/dflt-params-abrupt.js new file mode 100644 index 0000000000..4a92b9d365 --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-abrupt.js @@ -0,0 +1,58 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/async-arrow-function.template +/*--- +description: Abrupt completion returned by evaluation of initializer (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +var f; +f = async (_ = (function() { throw new Test262Error(); }())) => { + + callCount = callCount + 1; +}; + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..b6e9ea786d --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-arg-val-not-undefined.js @@ -0,0 +1,77 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: Use of intializer when argument value is not `undefined` (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) => { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; +}; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js b/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..75fbf246a4 --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-arg-val-undefined.js @@ -0,0 +1,60 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: Use of intializer when argument value is `undefined` (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (fromLiteral = 23, fromExpr = 45, fromHole = 99) => { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; +}; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-arrow-function/dflt-params-duplicates.js b/test/language/expressions/async-arrow-function/dflt-params-duplicates.js new file mode 100644 index 0000000000..dc99f2c139 --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-duplicates.js @@ -0,0 +1,51 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/async-arrow-function.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +(async (x = 0, x) => { + +}); diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-later.js b/test/language/expressions/async-arrow-function/dflt-params-ref-later.js new file mode 100644 index 0000000000..b1f1c9fca3 --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-ref-later.js @@ -0,0 +1,59 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/async-arrow-function.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f; +f = async (x = y, y) => { + + callCount = callCount + 1; +}; + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js b/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js new file mode 100644 index 0000000000..6225f7633d --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-ref-prior.js @@ -0,0 +1,57 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (x, y = x, z = y) => { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; +}; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-arrow-function/dflt-params-ref-self.js b/test/language/expressions/async-arrow-function/dflt-params-ref-self.js new file mode 100644 index 0000000000..b2c3a2ec0e --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-ref-self.js @@ -0,0 +1,59 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/async-arrow-function.template +/*--- +description: Referencing a parameter from within its own initializer (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f; +f = async (x = x) => { + + callCount = callCount + 1; +}; + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-arrow-function/dflt-params-rest.js b/test/language/expressions/async-arrow-function/dflt-params-rest.js new file mode 100644 index 0000000000..ee34c1f109 --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-rest.js @@ -0,0 +1,55 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/async-arrow-function.template +/*--- +description: RestParameter does not support an initializer (async arrow function expression) +esid: sec-async-arrow-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +(async (...x = []) => { + +}); diff --git a/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js b/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js new file mode 100644 index 0000000000..c573b2003b --- /dev/null +++ b/test/language/expressions/async-arrow-function/dflt-params-trailing-comma.js @@ -0,0 +1,51 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (async arrow function expression) +esid: sec-async-arrow-function-definitions +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (a, b = 39,) => { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js b/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js new file mode 100644 index 0000000000..71c1803d29 --- /dev/null +++ b/test/language/expressions/async-arrow-function/params-trailing-comma-multiple.js @@ -0,0 +1,51 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (async arrow function expression) +esid: sec-async-arrow-function-definitions +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (a, b,) => { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/async-arrow-function/params-trailing-comma-single.js b/test/language/expressions/async-arrow-function/params-trailing-comma-single.js new file mode 100644 index 0000000000..47612e2807 --- /dev/null +++ b/test/language/expressions/async-arrow-function/params-trailing-comma-single.js @@ -0,0 +1,50 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/async-arrow-function.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (async arrow function expression) +esid: sec-async-arrow-function-definitions +flags: [generated, async] +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref = async (a,) => { + assert.sameValue(a, 42); + callCount = callCount + 1; +}; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'async arrow function invoked exactly once') +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js b/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..6c16952d6b --- /dev/null +++ b/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js @@ -0,0 +1,47 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/async-arrow-function.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async arrow function expression) +esid: sec-async-arrow-function-definitions +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.7 Async Arrow Function Definitions + + AsyncArrowFunction : + ... + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody + + AsyncConciseBody : + { AsyncFunctionBody } + + ... + + Supplemental Syntax + + When processing an instance of the production AsyncArrowFunction : + CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody the interpretation of + CoverCallExpressionAndAsyncArrowHead is refined using the following grammar: + + AsyncArrowHead : + async ArrowFormalParameters + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +(async (...a,) => { + +}); diff --git a/test/language/expressions/async-function/named-dflt-params-abrupt.js b/test/language/expressions/async-function/named-dflt-params-abrupt.js new file mode 100644 index 0000000000..59bf344175 --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-abrupt.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/async-func-expr-named.template +/*--- +description: Abrupt completion returned by evaluation of initializer (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +var f = async function f(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..883b59530c --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: Use of intializer when argument value is not `undefined` (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; +}; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js b/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..896528a2b8 --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-arg-val-undefined.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: Use of intializer when argument value is `undefined` (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; +}; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-function/named-dflt-params-duplicates.js b/test/language/expressions/async-function/named-dflt-params-duplicates.js new file mode 100644 index 0000000000..943b1f98dd --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-duplicates.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/async-func-expr-named.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +(async function f(x = 0, x) { + +}); diff --git a/test/language/expressions/async-function/named-dflt-params-ref-later.js b/test/language/expressions/async-function/named-dflt-params-ref-later.js new file mode 100644 index 0000000000..df85f734fb --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-ref-later.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/async-func-expr-named.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f = async function f(x = y, y) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/named-dflt-params-ref-prior.js b/test/language/expressions/async-function/named-dflt-params-ref-prior.js new file mode 100644 index 0000000000..e58f833f95 --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-ref-prior.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; +}; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-function/named-dflt-params-ref-self.js b/test/language/expressions/async-function/named-dflt-params-ref-self.js new file mode 100644 index 0000000000..3b2141252f --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-ref-self.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/async-func-expr-named.template +/*--- +description: Referencing a parameter from within its own initializer (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f = async function f(x = x) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/named-dflt-params-rest.js b/test/language/expressions/async-function/named-dflt-params-rest.js new file mode 100644 index 0000000000..a646952812 --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-rest.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/async-func-expr-named.template +/*--- +description: RestParameter does not support an initializer (async function named expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +(async function f(...x = []) { + +}); diff --git a/test/language/expressions/async-function/named-dflt-params-trailing-comma.js b/test/language/expressions/async-function/named-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..b85f48d055 --- /dev/null +++ b/test/language/expressions/async-function/named-dflt-params-trailing-comma.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (async function named expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-function/named-params-trailing-comma-multiple.js b/test/language/expressions/async-function/named-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..d75b5340f6 --- /dev/null +++ b/test/language/expressions/async-function/named-params-trailing-comma-multiple.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (async function named expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/async-function/named-params-trailing-comma-single.js b/test/language/expressions/async-function/named-params-trailing-comma-single.js new file mode 100644 index 0000000000..b1e4a4745f --- /dev/null +++ b/test/language/expressions/async-function/named-params-trailing-comma-single.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/async-func-expr-named.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (async function named expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function ref(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; +}; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..d37212158f --- /dev/null +++ b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js @@ -0,0 +1,33 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/async-func-expr-named.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function named expression) +esid: sec-async-function-definitions +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +(async function f(...a,) { + +}); diff --git a/test/language/expressions/async-function/nameless-dflt-params-abrupt.js b/test/language/expressions/async-function/nameless-dflt-params-abrupt.js new file mode 100644 index 0000000000..6ce5cda340 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-abrupt.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/async-func-expr-nameless.template +/*--- +description: Abrupt completion returned by evaluation of initializer (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +var f = async function(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js b/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..4dee97e98b --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: Use of intializer when argument value is not `undefined` (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; +}; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js b/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..d359183ce0 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-arg-val-undefined.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: Use of intializer when argument value is `undefined` (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; +}; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-function/nameless-dflt-params-duplicates.js b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js new file mode 100644 index 0000000000..f29eae0159 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/async-func-expr-nameless.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +(async function(x = 0, x) { + +}); diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-later.js b/test/language/expressions/async-function/nameless-dflt-params-ref-later.js new file mode 100644 index 0000000000..c0da90a866 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-ref-later.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/async-func-expr-nameless.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f = async function(x = y, y) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js b/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js new file mode 100644 index 0000000000..42e1111132 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-ref-prior.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; +}; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-function/nameless-dflt-params-ref-self.js b/test/language/expressions/async-function/nameless-dflt-params-ref-self.js new file mode 100644 index 0000000000..a98a3afd6e --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-ref-self.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/async-func-expr-nameless.template +/*--- +description: Referencing a parameter from within its own initializer (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var f = async function(x = x) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/async-function/nameless-dflt-params-rest.js b/test/language/expressions/async-function/nameless-dflt-params-rest.js new file mode 100644 index 0000000000..01925e0626 --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-rest.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/async-func-expr-nameless.template +/*--- +description: RestParameter does not support an initializer (async function nameless expression) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +(async function(...x = []) { + +}); diff --git a/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js b/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..f19210db6c --- /dev/null +++ b/test/language/expressions/async-function/nameless-dflt-params-trailing-comma.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (async function nameless expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js b/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..48e741e259 --- /dev/null +++ b/test/language/expressions/async-function/nameless-params-trailing-comma-multiple.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (async function nameless expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +}; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/async-function/nameless-params-trailing-comma-single.js b/test/language/expressions/async-function/nameless-params-trailing-comma-single.js new file mode 100644 index 0000000000..07def87fd7 --- /dev/null +++ b/test/language/expressions/async-function/nameless-params-trailing-comma-single.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/async-func-expr-nameless.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (async function nameless expression) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +var ref; +ref = async function(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; +}; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..a296afa076 --- /dev/null +++ b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js @@ -0,0 +1,32 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/async-func-expr-nameless.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function nameless expression) +esid: sec-async-function-definitions +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionExpression : + async function ( FormalParameters ) { AsyncFunctionBody } + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +(async function(...a,) { + +}); diff --git a/test/language/expressions/async-generator/args-trailing-comma-multiple.js b/test/language/expressions/async-generator/args-trailing-comma-multiple.js new file mode 100644 index 0000000000..e9c6dbee3f --- /dev/null +++ b/test/language/expressions/async-generator/args-trailing-comma-multiple.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/async-gen-func-expr.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (async generator function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) { + AsyncGeneratorBody } + + [...] + 3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function*() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; +}; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/args-trailing-comma-null.js b/test/language/expressions/async-generator/args-trailing-comma-null.js new file mode 100644 index 0000000000..855395b654 --- /dev/null +++ b/test/language/expressions/async-generator/args-trailing-comma-null.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/async-gen-func-expr.template +/*--- +description: A trailing comma after null should not increase the arguments.length (async generator function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) { + AsyncGeneratorBody } + + [...] + 3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function*() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; +}; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/args-trailing-comma-single-args.js b/test/language/expressions/async-generator/args-trailing-comma-single-args.js new file mode 100644 index 0000000000..fdda70572a --- /dev/null +++ b/test/language/expressions/async-generator/args-trailing-comma-single-args.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/async-gen-func-expr.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (async generator function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) { + AsyncGeneratorBody } + + [...] + 3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function*() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; +}; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/args-trailing-comma-undefined.js b/test/language/expressions/async-generator/args-trailing-comma-undefined.js new file mode 100644 index 0000000000..5869273810 --- /dev/null +++ b/test/language/expressions/async-generator/args-trailing-comma-undefined.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/async-gen-func-expr.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (async generator function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) { + AsyncGeneratorBody } + + [...] + 3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function*() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; +}; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/params-dflt-abrupt.js b/test/language/expressions/async-generator/dflt-params-abrupt.js similarity index 96% rename from test/language/expressions/async-generator/params-dflt-abrupt.js rename to test/language/expressions/async-generator/dflt-params-abrupt.js index 039ca48e9a..3f27f74668 100644 --- a/test/language/expressions/async-generator/params-dflt-abrupt.js +++ b/test/language/expressions/async-generator/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/async-gen-func-expr.template /*--- description: Abrupt completion returned by evaluation of initializer (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-arg-val-not-undefined.js b/test/language/expressions/async-generator/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/async-generator/params-dflt-arg-val-not-undefined.js rename to test/language/expressions/async-generator/dflt-params-arg-val-not-undefined.js index 6459d01f70..712be07ebb 100644 --- a/test/language/expressions/async-generator/params-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/async-generator/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: Use of intializer when argument value is not `undefined` (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-arg-val-undefined.js b/test/language/expressions/async-generator/dflt-params-arg-val-undefined.js similarity index 96% rename from test/language/expressions/async-generator/params-dflt-arg-val-undefined.js rename to test/language/expressions/async-generator/dflt-params-arg-val-undefined.js index 3efac12182..d9112e057f 100644 --- a/test/language/expressions/async-generator/params-dflt-arg-val-undefined.js +++ b/test/language/expressions/async-generator/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: Use of intializer when argument value is `undefined` (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-duplicates.js b/test/language/expressions/async-generator/dflt-params-duplicates.js similarity index 95% rename from test/language/expressions/async-generator/params-dflt-duplicates.js rename to test/language/expressions/async-generator/dflt-params-duplicates.js index c87f18a69b..98c19a6c06 100644 --- a/test/language/expressions/async-generator/params-dflt-duplicates.js +++ b/test/language/expressions/async-generator/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/async-gen-func-expr.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-ref-later.js b/test/language/expressions/async-generator/dflt-params-ref-later.js similarity index 96% rename from test/language/expressions/async-generator/params-dflt-ref-later.js rename to test/language/expressions/async-generator/dflt-params-ref-later.js index aee03311f1..301e861d69 100644 --- a/test/language/expressions/async-generator/params-dflt-ref-later.js +++ b/test/language/expressions/async-generator/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/async-gen-func-expr.template /*--- description: Referencing a parameter that occurs later in the ParameterList (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-ref-prior.js b/test/language/expressions/async-generator/dflt-params-ref-prior.js similarity index 96% rename from test/language/expressions/async-generator/params-dflt-ref-prior.js rename to test/language/expressions/async-generator/dflt-params-ref-prior.js index 2b9dc29ef1..6200ab6180 100644 --- a/test/language/expressions/async-generator/params-dflt-ref-prior.js +++ b/test/language/expressions/async-generator/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-ref-self.js b/test/language/expressions/async-generator/dflt-params-ref-self.js similarity index 96% rename from test/language/expressions/async-generator/params-dflt-ref-self.js rename to test/language/expressions/async-generator/dflt-params-ref-self.js index f49711c3f8..7cb0833ad0 100644 --- a/test/language/expressions/async-generator/params-dflt-ref-self.js +++ b/test/language/expressions/async-generator/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/async-gen-func-expr.template /*--- description: Referencing a parameter from within its own initializer (async generator function expression) diff --git a/test/language/expressions/async-generator/params-dflt-rest.js b/test/language/expressions/async-generator/dflt-params-rest.js similarity index 95% rename from test/language/expressions/async-generator/params-dflt-rest.js rename to test/language/expressions/async-generator/dflt-params-rest.js index f5df8e6036..949a609e44 100644 --- a/test/language/expressions/async-generator/params-dflt-rest.js +++ b/test/language/expressions/async-generator/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/async-gen-func-expr.template /*--- description: RestParameter does not support an initializer (async generator function expression) diff --git a/test/language/expressions/async-generator/params-trailing-comma-dflt-param.js b/test/language/expressions/async-generator/dflt-params-trailing-comma.js similarity index 95% rename from test/language/expressions/async-generator/params-trailing-comma-dflt-param.js rename to test/language/expressions/async-generator/dflt-params-trailing-comma.js index cecedbc44a..13b609f669 100644 --- a/test/language/expressions/async-generator/params-trailing-comma-dflt-param.js +++ b/test/language/expressions/async-generator/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using default parameters (async generator function expression) diff --git a/test/language/expressions/async-generator/named-args-trailing-comma-multiple.js b/test/language/expressions/async-generator/named-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..00dc217d68 --- /dev/null +++ b/test/language/expressions/async-generator/named-args-trailing-comma-multiple.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/async-gen-named-func-expr.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (async generator named function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, funcEnv, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function* g() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; +}; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/named-args-trailing-comma-null.js b/test/language/expressions/async-generator/named-args-trailing-comma-null.js new file mode 100644 index 0000000000..f6f8ad42ca --- /dev/null +++ b/test/language/expressions/async-generator/named-args-trailing-comma-null.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/async-gen-named-func-expr.template +/*--- +description: A trailing comma after null should not increase the arguments.length (async generator named function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, funcEnv, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function* g() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; +}; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/named-args-trailing-comma-single-args.js b/test/language/expressions/async-generator/named-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..9fd49fb9c2 --- /dev/null +++ b/test/language/expressions/async-generator/named-args-trailing-comma-single-args.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/async-gen-named-func-expr.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (async generator named function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, funcEnv, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function* g() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; +}; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/named-args-trailing-comma-undefined.js b/test/language/expressions/async-generator/named-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..349642e230 --- /dev/null +++ b/test/language/expressions/async-generator/named-args-trailing-comma-undefined.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/async-gen-named-func-expr.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (async generator named function expression) +esid: sec-asyncgenerator-definitions-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, + AsyncGeneratorBody, funcEnv, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +var ref; +ref = async function* g() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; +}; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/async-generator/params-named-dflt-abrupt.js b/test/language/expressions/async-generator/named-dflt-params-abrupt.js similarity index 96% rename from test/language/expressions/async-generator/params-named-dflt-abrupt.js rename to test/language/expressions/async-generator/named-dflt-params-abrupt.js index f571306a44..96dff245b3 100644 --- a/test/language/expressions/async-generator/params-named-dflt-abrupt.js +++ b/test/language/expressions/async-generator/named-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/async-gen-named-func-expr.template /*--- description: Abrupt completion returned by evaluation of initializer (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-arg-val-not-undefined.js b/test/language/expressions/async-generator/named-dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/async-generator/params-named-dflt-arg-val-not-undefined.js rename to test/language/expressions/async-generator/named-dflt-params-arg-val-not-undefined.js index bbd83f9396..7203d255a7 100644 --- a/test/language/expressions/async-generator/params-named-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/async-generator/named-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: Use of intializer when argument value is not `undefined` (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-arg-val-undefined.js b/test/language/expressions/async-generator/named-dflt-params-arg-val-undefined.js similarity index 96% rename from test/language/expressions/async-generator/params-named-dflt-arg-val-undefined.js rename to test/language/expressions/async-generator/named-dflt-params-arg-val-undefined.js index e1b0da273b..ac2fb37f94 100644 --- a/test/language/expressions/async-generator/params-named-dflt-arg-val-undefined.js +++ b/test/language/expressions/async-generator/named-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: Use of intializer when argument value is `undefined` (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-duplicates.js b/test/language/expressions/async-generator/named-dflt-params-duplicates.js similarity index 95% rename from test/language/expressions/async-generator/params-named-dflt-duplicates.js rename to test/language/expressions/async-generator/named-dflt-params-duplicates.js index ee00423e63..610d7f6f04 100644 --- a/test/language/expressions/async-generator/params-named-dflt-duplicates.js +++ b/test/language/expressions/async-generator/named-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/async-gen-named-func-expr.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-ref-later.js b/test/language/expressions/async-generator/named-dflt-params-ref-later.js similarity index 96% rename from test/language/expressions/async-generator/params-named-dflt-ref-later.js rename to test/language/expressions/async-generator/named-dflt-params-ref-later.js index 3cfdb11c85..77513032f8 100644 --- a/test/language/expressions/async-generator/params-named-dflt-ref-later.js +++ b/test/language/expressions/async-generator/named-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/async-gen-named-func-expr.template /*--- description: Referencing a parameter that occurs later in the ParameterList (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-ref-prior.js b/test/language/expressions/async-generator/named-dflt-params-ref-prior.js similarity index 96% rename from test/language/expressions/async-generator/params-named-dflt-ref-prior.js rename to test/language/expressions/async-generator/named-dflt-params-ref-prior.js index b04e4ceae2..8965eadc57 100644 --- a/test/language/expressions/async-generator/params-named-dflt-ref-prior.js +++ b/test/language/expressions/async-generator/named-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-ref-self.js b/test/language/expressions/async-generator/named-dflt-params-ref-self.js similarity index 96% rename from test/language/expressions/async-generator/params-named-dflt-ref-self.js rename to test/language/expressions/async-generator/named-dflt-params-ref-self.js index 769be4780f..519d3f284d 100644 --- a/test/language/expressions/async-generator/params-named-dflt-ref-self.js +++ b/test/language/expressions/async-generator/named-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/async-gen-named-func-expr.template /*--- description: Referencing a parameter from within its own initializer (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-dflt-rest.js b/test/language/expressions/async-generator/named-dflt-params-rest.js similarity index 95% rename from test/language/expressions/async-generator/params-named-dflt-rest.js rename to test/language/expressions/async-generator/named-dflt-params-rest.js index 0efea64c0c..53908d36d8 100644 --- a/test/language/expressions/async-generator/params-named-dflt-rest.js +++ b/test/language/expressions/async-generator/named-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/async-gen-named-func-expr.template /*--- description: RestParameter does not support an initializer (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-trailing-comma-dflt-param.js b/test/language/expressions/async-generator/named-dflt-params-trailing-comma.js similarity index 95% rename from test/language/expressions/async-generator/params-named-trailing-comma-dflt-param.js rename to test/language/expressions/async-generator/named-dflt-params-trailing-comma.js index 974189c026..ad024be5df 100644 --- a/test/language/expressions/async-generator/params-named-trailing-comma-dflt-param.js +++ b/test/language/expressions/async-generator/named-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: A trailing comma should not increase the respective length, using default parameters (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-trailing-comma-multiple-param.js b/test/language/expressions/async-generator/named-params-trailing-comma-multiple.js similarity index 95% rename from test/language/expressions/async-generator/params-named-trailing-comma-multiple-param.js rename to test/language/expressions/async-generator/named-params-trailing-comma-multiple.js index 638c033275..aac5a3bd74 100644 --- a/test/language/expressions/async-generator/params-named-trailing-comma-multiple-param.js +++ b/test/language/expressions/async-generator/named-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-trailing-comma-single-param.js b/test/language/expressions/async-generator/named-params-trailing-comma-single.js similarity index 95% rename from test/language/expressions/async-generator/params-named-trailing-comma-single-param.js rename to test/language/expressions/async-generator/named-params-trailing-comma-single.js index 1e36fa7a9b..592a0a090c 100644 --- a/test/language/expressions/async-generator/params-named-trailing-comma-single-param.js +++ b/test/language/expressions/async-generator/named-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/async-gen-named-func-expr.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-named-trailing-comma-rest-early-error.js b/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js similarity index 94% rename from test/language/expressions/async-generator/params-named-trailing-comma-rest-early-error.js rename to test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js index 68dbdedf50..8a8f80557d 100644 --- a/test/language/expressions/async-generator/params-named-trailing-comma-rest-early-error.js +++ b/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/async-gen-named-func-expr.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator named function expression) diff --git a/test/language/expressions/async-generator/params-trailing-comma-multiple-param.js b/test/language/expressions/async-generator/params-trailing-comma-multiple.js similarity index 95% rename from test/language/expressions/async-generator/params-trailing-comma-multiple-param.js rename to test/language/expressions/async-generator/params-trailing-comma-multiple.js index fab93501b5..5c246d77c0 100644 --- a/test/language/expressions/async-generator/params-trailing-comma-multiple-param.js +++ b/test/language/expressions/async-generator/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (async generator function expression) diff --git a/test/language/expressions/async-generator/params-trailing-comma-single-param.js b/test/language/expressions/async-generator/params-trailing-comma-single.js similarity index 95% rename from test/language/expressions/async-generator/params-trailing-comma-single-param.js rename to test/language/expressions/async-generator/params-trailing-comma-single.js index 37f6acf467..891dfb3169 100644 --- a/test/language/expressions/async-generator/params-trailing-comma-single-param.js +++ b/test/language/expressions/async-generator/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/async-gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (async generator function expression) diff --git a/test/language/expressions/async-generator/params-trailing-comma-rest-early-error.js b/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js similarity index 94% rename from test/language/expressions/async-generator/params-trailing-comma-rest-early-error.js rename to test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js index f76477bd79..fc6f8f7ffa 100644 --- a/test/language/expressions/async-generator/params-trailing-comma-rest-early-error.js +++ b/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/async-gen-func-expr.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator function expression) diff --git a/test/language/expressions/class/async-gen-meth-args-trailing-comma-multiple.js b/test/language/expressions/class/async-gen-meth-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..f1b4d919ea --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-args-trailing-comma-multiple.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/cls-expr-async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + diff --git a/test/language/expressions/class/async-gen-meth-args-trailing-comma-null.js b/test/language/expressions/class/async-gen-meth-args-trailing-comma-null.js new file mode 100644 index 0000000000..017d66fda8 --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-args-trailing-comma-null.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/cls-expr-async-gen-meth.template +/*--- +description: A trailing comma after null should not increase the arguments.length (class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + diff --git a/test/language/expressions/class/async-gen-meth-args-trailing-comma-single-args.js b/test/language/expressions/class/async-gen-meth-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..788ece51ca --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-args-trailing-comma-single-args.js @@ -0,0 +1,66 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/cls-expr-async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + async *method() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + diff --git a/test/language/expressions/class/async-gen-meth-args-trailing-comma-undefined.js b/test/language/expressions/class/async-gen-meth-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..da98971f97 --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-args-trailing-comma-undefined.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/cls-expr-async-gen-meth.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-abrupt.js b/test/language/expressions/class/async-gen-meth-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-dflt-abrupt.js rename to test/language/expressions/class/async-gen-meth-dflt-params-abrupt.js index 31997bc474..fe0b2fe683 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-abrupt.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-async-gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/class/async-gen-meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/async-gen-meth-dflt-params-arg-val-not-undefined.js index 6577ab2255..cb41e01eef 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: Use of intializer when argument value is not `undefined` (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-arg-val-undefined.js b/test/language/expressions/class/async-gen-meth-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-dflt-arg-val-undefined.js rename to test/language/expressions/class/async-gen-meth-dflt-params-arg-val-undefined.js index a8aada3a16..89e11b59a5 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: Use of intializer when argument value is `undefined` (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-duplicates.js b/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-dflt-duplicates.js rename to test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js index 0c6c0e847b..e06bc841e5 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-duplicates.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-async-gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-ref-later.js b/test/language/expressions/class/async-gen-meth-dflt-params-ref-later.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-dflt-ref-later.js rename to test/language/expressions/class/async-gen-meth-dflt-params-ref-later.js index 865587e582..b71c7f8fad 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-ref-later.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-async-gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-ref-prior.js b/test/language/expressions/class/async-gen-meth-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-dflt-ref-prior.js rename to test/language/expressions/class/async-gen-meth-dflt-params-ref-prior.js index 7ea7e79a01..fc461de65c 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-ref-prior.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-ref-self.js b/test/language/expressions/class/async-gen-meth-dflt-params-ref-self.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-dflt-ref-self.js rename to test/language/expressions/class/async-gen-meth-dflt-params-ref-self.js index 277fbb870b..c6d2076949 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-ref-self.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-async-gen-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-dflt-rest.js b/test/language/expressions/class/async-gen-meth-dflt-params-rest.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-dflt-rest.js rename to test/language/expressions/class/async-gen-meth-dflt-params-rest.js index 47ece76592..7f75839710 100644 --- a/test/language/expressions/class/params-async-gen-meth-dflt-rest.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-async-gen-meth.template /*--- description: RestParameter does not support an initializer (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-trailing-comma-dflt-param.js b/test/language/expressions/class/async-gen-meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-trailing-comma-dflt-param.js rename to test/language/expressions/class/async-gen-meth-dflt-params-trailing-comma.js index 1231bfdd51..0b11e8badb 100644 --- a/test/language/expressions/class/params-async-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/async-gen-meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-trailing-comma-multiple-param.js b/test/language/expressions/class/async-gen-meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-trailing-comma-multiple-param.js rename to test/language/expressions/class/async-gen-meth-params-trailing-comma-multiple.js index 20bee541d9..2f6c2b2e54 100644 --- a/test/language/expressions/class/params-async-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/async-gen-meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-trailing-comma-single-param.js b/test/language/expressions/class/async-gen-meth-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-trailing-comma-single-param.js rename to test/language/expressions/class/async-gen-meth-params-trailing-comma-single.js index 1a85e1d05f..7e9950d05d 100644 --- a/test/language/expressions/class/params-async-gen-meth-trailing-comma-single-param.js +++ b/test/language/expressions/class/async-gen-meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-trailing-comma-rest-early-error.js b/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/class/params-async-gen-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js index fb9681cd29..07c784ebee 100644 --- a/test/language/expressions/class/params-async-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-async-gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression async generator method) diff --git a/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-multiple.js b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..5cf7bfcd83 --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-multiple.js @@ -0,0 +1,66 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/cls-expr-async-gen-meth-static.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (static class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-null.js b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-null.js new file mode 100644 index 0000000000..d8bf42cdbf --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-null.js @@ -0,0 +1,66 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/cls-expr-async-gen-meth-static.template +/*--- +description: A trailing comma after null should not increase the arguments.length (static class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-single-args.js b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..afa2552bb3 --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-single-args.js @@ -0,0 +1,65 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/cls-expr-async-gen-meth-static.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (static class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + static async *method() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-undefined.js b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..d058cc877f --- /dev/null +++ b/test/language/expressions/class/async-gen-meth-static-args-trailing-comma-undefined.js @@ -0,0 +1,66 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/cls-expr-async-gen-meth-static.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (static class expression async generator method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +var C = class { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-abrupt.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-abrupt.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-abrupt.js index ed210d5ba2..cf1aa87631 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-abrupt.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-async-gen-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js index 6ef13f769f..3a77e88fc2 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: Use of intializer when argument value is not `undefined` (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-undefined.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-undefined.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-undefined.js index 1ce9866a9b..8bc41710b1 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: Use of intializer when argument value is `undefined` (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-duplicates.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-duplicates.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js index 3b84b2f060..1a7fa9bdaa 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-duplicates.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-async-gen-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-later.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-ref-later.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-ref-later.js index 3b44924c40..9c44a43071 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-later.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-async-gen-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-prior.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-ref-prior.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-ref-prior.js index 86b450c9d2..65b302e355 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-prior.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-self.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-ref-self.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-ref-self.js index b42b984e4e..3e47505fbf 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-ref-self.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-async-gen-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-dflt-rest.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-dflt-rest.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js index 4e96b42d8a..1945fbc167 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-dflt-rest.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-async-gen-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-dflt-param.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-trailing-comma-dflt-param.js rename to test/language/expressions/class/async-gen-meth-static-dflt-params-trailing-comma.js index e58f44d670..511db6c298 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using default parameters (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-multiple-param.js b/test/language/expressions/class/async-gen-meth-static-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-trailing-comma-multiple-param.js rename to test/language/expressions/class/async-gen-meth-static-params-trailing-comma-multiple.js index 71f951534f..326dfe367e 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/async-gen-meth-static-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-single-param.js b/test/language/expressions/class/async-gen-meth-static-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-async-gen-meth-static-trailing-comma-single-param.js rename to test/language/expressions/class/async-gen-meth-static-params-trailing-comma-single.js index 0a7734fe9f..1234b19cbd 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-single-param.js +++ b/test/language/expressions/class/async-gen-meth-static-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-async-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (static class expression async generator method) diff --git a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js b/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js rename to test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js index e35726387f..972297221e 100644 --- a/test/language/expressions/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-async-gen-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression async generator method) diff --git a/test/language/expressions/class/async-meth-dflt-params-abrupt.js b/test/language/expressions/class/async-meth-dflt-params-abrupt.js new file mode 100644 index 0000000000..3d022ae7eb --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-abrupt.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/cls-expr-async-meth.template +/*--- +description: Abrupt completion returned by evaluation of initializer (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +var C = class { + async method(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; + } +}; + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..c5cbc33936 --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,89 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: Use of intializer when argument value is not `undefined` (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + +var callCount = 0; +var C = class { + async method(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js b/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..5671ac7f8f --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-arg-val-undefined.js @@ -0,0 +1,72 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: Use of intializer when argument value is `undefined` (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + +var callCount = 0; +var C = class { + async method(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-dflt-params-duplicates.js b/test/language/expressions/class/async-meth-dflt-params-duplicates.js new file mode 100644 index 0000000000..8c1bb59aef --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-duplicates.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/cls-expr-async-meth.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + +var C = class { + static async method(x = 0, x) { + + } +}; diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-later.js b/test/language/expressions/class/async-meth-dflt-params-ref-later.js new file mode 100644 index 0000000000..d0e8d3885b --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-ref-later.js @@ -0,0 +1,70 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/cls-expr-async-meth.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var C = class { + async method(x = y, y) { + + callCount = callCount + 1; + } +}; + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-prior.js b/test/language/expressions/class/async-meth-dflt-params-ref-prior.js new file mode 100644 index 0000000000..bc3daf029e --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-ref-prior.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + +var callCount = 0; +var C = class { + async method(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-dflt-params-ref-self.js b/test/language/expressions/class/async-meth-dflt-params-ref-self.js new file mode 100644 index 0000000000..7610efb1c4 --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-ref-self.js @@ -0,0 +1,70 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/cls-expr-async-meth.template +/*--- +description: Referencing a parameter from within its own initializer (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var C = class { + async method(x = x) { + + callCount = callCount + 1; + } +}; + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-dflt-params-rest.js b/test/language/expressions/class/async-meth-dflt-params-rest.js new file mode 100644 index 0000000000..adaaf724bf --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-rest.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/cls-expr-async-meth.template +/*--- +description: RestParameter does not support an initializer (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + +var C = class { + static async method(...x = []) { + + } +}; diff --git a/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js b/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..1b25649662 --- /dev/null +++ b/test/language/expressions/class/async-meth-dflt-params-trailing-comma.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + async method(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js b/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..12f3375a8d --- /dev/null +++ b/test/language/expressions/class/async-meth-params-trailing-comma-multiple.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + async method(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-params-trailing-comma-single.js b/test/language/expressions/class/async-meth-params-trailing-comma-single.js new file mode 100644 index 0000000000..b3db8e16e9 --- /dev/null +++ b/test/language/expressions/class/async-meth-params-trailing-comma-single.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/cls-expr-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + async method(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..871c79360d --- /dev/null +++ b/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js @@ -0,0 +1,59 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/cls-expr-async-meth.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + +var C = class { + static async method(...a,) { + + } +}; diff --git a/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js b/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js new file mode 100644 index 0000000000..3bdd1a3c90 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-abrupt.js @@ -0,0 +1,70 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/cls-expr-async-meth-static.template +/*--- +description: Abrupt completion returned by evaluation of initializer (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; + +var C = class { + static async method(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; + } +}; + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..ba8c07f2bd --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,89 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: Use of intializer when argument value is not `undefined` (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + +var callCount = 0; +var C = class { + static async method(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..31114a9519 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-arg-val-undefined.js @@ -0,0 +1,72 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: Use of intializer when argument value is `undefined` (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + +var callCount = 0; +var C = class { + static async method(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js b/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js new file mode 100644 index 0000000000..6d5d586ace --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/cls-expr-async-meth-static.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + +var C = class { + static async method(x = 0, x) { + + } +}; diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js new file mode 100644 index 0000000000..321f7ac4c7 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-later.js @@ -0,0 +1,71 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/cls-expr-async-meth-static.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +var C = class { + static async method(x = y, y) { + + callCount = callCount + 1; + } +}; + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js new file mode 100644 index 0000000000..903438149e --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-prior.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + +var callCount = 0; +var C = class { + static async method(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js b/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js new file mode 100644 index 0000000000..e7b3af1f59 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-ref-self.js @@ -0,0 +1,71 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/cls-expr-async-meth-static.template +/*--- +description: Referencing a parameter from within its own initializer (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +var C = class { + static async method(x = x) { + + callCount = callCount + 1; + } +}; + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/class/async-meth-static-dflt-params-rest.js b/test/language/expressions/class/async-meth-static-dflt-params-rest.js new file mode 100644 index 0000000000..0b98841282 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-rest.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/cls-expr-async-meth-static.template +/*--- +description: RestParameter does not support an initializer (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + +var C = class { + static async method(...x = []) { + + } +}; diff --git a/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js b/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..9afa64ed45 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-dflt-params-trailing-comma.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + static async method(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js b/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..172b92ce92 --- /dev/null +++ b/test/language/expressions/class/async-meth-static-params-trailing-comma-multiple.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + static async method(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js b/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js new file mode 100644 index 0000000000..8177a8e1fc --- /dev/null +++ b/test/language/expressions/class/async-meth-static-params-trailing-comma-single.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/cls-expr-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + +var callCount = 0; +var C = class { + static async method(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..f1e1e00d0b --- /dev/null +++ b/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js @@ -0,0 +1,59 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/cls-expr-async-meth-static.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassExpression : class BindingIdentifieropt ClassTail + + 1. If BindingIdentifieropt is not present, let className be undefined. + 2. Else, let className be StringValue of BindingIdentifier. + 3. Let value be the result of ClassDefinitionEvaluation of ClassTail + with argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + +var C = class { + static async method(...a,) { + + } +}; diff --git a/test/language/expressions/class/params-gen-meth-dflt-abrupt.js b/test/language/expressions/class/gen-meth-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-abrupt.js rename to test/language/expressions/class/gen-meth-dflt-params-abrupt.js index b9bc3be8a2..b393d79d57 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-abrupt.js +++ b/test/language/expressions/class/gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/class/gen-meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/gen-meth-dflt-params-arg-val-not-undefined.js index 9ad9e24688..22138efe23 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: Use of intializer when argument value is not `undefined` (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-arg-val-undefined.js b/test/language/expressions/class/gen-meth-dflt-params-arg-val-undefined.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-arg-val-undefined.js rename to test/language/expressions/class/gen-meth-dflt-params-arg-val-undefined.js index 792329a81e..6dc6f3353f 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/gen-meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: Use of intializer when argument value is `undefined` (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-duplicates.js b/test/language/expressions/class/gen-meth-dflt-params-duplicates.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-duplicates.js rename to test/language/expressions/class/gen-meth-dflt-params-duplicates.js index 6396ed595c..c6f327d6f6 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-duplicates.js +++ b/test/language/expressions/class/gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-ref-later.js b/test/language/expressions/class/gen-meth-dflt-params-ref-later.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-ref-later.js rename to test/language/expressions/class/gen-meth-dflt-params-ref-later.js index c20298514d..aec1a0e50d 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-ref-later.js +++ b/test/language/expressions/class/gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-ref-prior.js b/test/language/expressions/class/gen-meth-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-ref-prior.js rename to test/language/expressions/class/gen-meth-dflt-params-ref-prior.js index 2cc5413dd3..20025cc04f 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-ref-prior.js +++ b/test/language/expressions/class/gen-meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-ref-self.js b/test/language/expressions/class/gen-meth-dflt-params-ref-self.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-ref-self.js rename to test/language/expressions/class/gen-meth-dflt-params-ref-self.js index 30dd53f47e..7144f655bf 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-ref-self.js +++ b/test/language/expressions/class/gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-gen-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-dflt-rest.js b/test/language/expressions/class/gen-meth-dflt-params-rest.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-dflt-rest.js rename to test/language/expressions/class/gen-meth-dflt-params-rest.js index 106dc70c27..6ce951503b 100644 --- a/test/language/expressions/class/params-gen-meth-dflt-rest.js +++ b/test/language/expressions/class/gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-gen-meth.template /*--- description: RestParameter does not support an initializer (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-trailing-comma-dflt-param.js b/test/language/expressions/class/gen-meth-dflt-params-trailing-comma.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-trailing-comma-dflt-param.js rename to test/language/expressions/class/gen-meth-dflt-params-trailing-comma.js index 0b910445e6..210a23b365 100644 --- a/test/language/expressions/class/params-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/gen-meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-trailing-comma-multiple-param.js b/test/language/expressions/class/gen-meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-trailing-comma-multiple-param.js rename to test/language/expressions/class/gen-meth-params-trailing-comma-multiple.js index a485e44ee8..958e0d4e56 100644 --- a/test/language/expressions/class/params-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/gen-meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-trailing-comma-single-param.js b/test/language/expressions/class/gen-meth-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-trailing-comma-single-param.js rename to test/language/expressions/class/gen-meth-params-trailing-comma-single.js index 63a26f7b56..f9a484d54f 100644 --- a/test/language/expressions/class/params-gen-meth-trailing-comma-single-param.js +++ b/test/language/expressions/class/gen-meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-trailing-comma-rest-early-error.js b/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js index 0737dd45b0..fbd4a01ef6 100644 --- a/test/language/expressions/class/params-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-abrupt.js b/test/language/expressions/class/gen-meth-static-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-abrupt.js rename to test/language/expressions/class/gen-meth-static-dflt-params-abrupt.js index 782ee0f9a3..a467d22058 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-abrupt.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-gen-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-arg-val-not-undefined.js b/test/language/expressions/class/gen-meth-static-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/gen-meth-static-dflt-params-arg-val-not-undefined.js index a40aee7bc9..53f378de62 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: Use of intializer when argument value is not `undefined` (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-arg-val-undefined.js b/test/language/expressions/class/gen-meth-static-dflt-params-arg-val-undefined.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-arg-val-undefined.js rename to test/language/expressions/class/gen-meth-static-dflt-params-arg-val-undefined.js index 1ca7363ab3..55f75b366d 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: Use of intializer when argument value is `undefined` (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-duplicates.js b/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-duplicates.js rename to test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js index c46878e085..9c8d30685e 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-duplicates.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-gen-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-ref-later.js b/test/language/expressions/class/gen-meth-static-dflt-params-ref-later.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-ref-later.js rename to test/language/expressions/class/gen-meth-static-dflt-params-ref-later.js index 24dab85e8c..5c0b19503e 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-ref-later.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-gen-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-ref-prior.js b/test/language/expressions/class/gen-meth-static-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-ref-prior.js rename to test/language/expressions/class/gen-meth-static-dflt-params-ref-prior.js index c7d8b4bd42..f23a898026 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-ref-prior.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-ref-self.js b/test/language/expressions/class/gen-meth-static-dflt-params-ref-self.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-ref-self.js rename to test/language/expressions/class/gen-meth-static-dflt-params-ref-self.js index 0daf83b82e..a05ae7116e 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-ref-self.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-gen-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-dflt-rest.js b/test/language/expressions/class/gen-meth-static-dflt-params-rest.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-dflt-rest.js rename to test/language/expressions/class/gen-meth-static-dflt-params-rest.js index 6bf05035f9..e48b66f9af 100644 --- a/test/language/expressions/class/params-gen-meth-static-dflt-rest.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-gen-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-trailing-comma-dflt-param.js b/test/language/expressions/class/gen-meth-static-dflt-params-trailing-comma.js similarity index 98% rename from test/language/expressions/class/params-gen-meth-static-trailing-comma-dflt-param.js rename to test/language/expressions/class/gen-meth-static-dflt-params-trailing-comma.js index 5e5af9cb3c..e31f613d0d 100644 --- a/test/language/expressions/class/params-gen-meth-static-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/gen-meth-static-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using default parameters (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-trailing-comma-multiple-param.js b/test/language/expressions/class/gen-meth-static-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-static-trailing-comma-multiple-param.js rename to test/language/expressions/class/gen-meth-static-params-trailing-comma-multiple.js index 94ccc4b6ce..067edc3706 100644 --- a/test/language/expressions/class/params-gen-meth-static-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/gen-meth-static-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-trailing-comma-single-param.js b/test/language/expressions/class/gen-meth-static-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-static-trailing-comma-single-param.js rename to test/language/expressions/class/gen-meth-static-params-trailing-comma-single.js index 670864212f..c0cb9887b0 100644 --- a/test/language/expressions/class/params-gen-meth-static-trailing-comma-single-param.js +++ b/test/language/expressions/class/gen-meth-static-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (static class expression generator method) diff --git a/test/language/expressions/class/params-gen-meth-static-trailing-comma-rest-early-error.js b/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/expressions/class/params-gen-meth-static-trailing-comma-rest-early-error.js rename to test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js index 4b462a0e46..7522a65cc8 100644 --- a/test/language/expressions/class/params-gen-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-gen-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression generator method) diff --git a/test/language/expressions/class/params-meth-dflt-abrupt.js b/test/language/expressions/class/meth-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-abrupt.js rename to test/language/expressions/class/meth-dflt-params-abrupt.js index 2cca3bcb03..e1bf762d78 100644 --- a/test/language/expressions/class/params-meth-dflt-abrupt.js +++ b/test/language/expressions/class/meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/class/meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/meth-dflt-params-arg-val-not-undefined.js index 3d940d179b..e145327546 100644 --- a/test/language/expressions/class/params-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-meth.template /*--- description: Use of intializer when argument value is not `undefined` (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-arg-val-undefined.js b/test/language/expressions/class/meth-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/class/params-meth-dflt-arg-val-undefined.js rename to test/language/expressions/class/meth-dflt-params-arg-val-undefined.js index 2ebc185c23..72bcdb93fd 100644 --- a/test/language/expressions/class/params-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-meth.template /*--- description: Use of intializer when argument value is `undefined` (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-duplicates.js b/test/language/expressions/class/meth-dflt-params-duplicates.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-duplicates.js rename to test/language/expressions/class/meth-dflt-params-duplicates.js index a214faeeca..cf5086bef4 100644 --- a/test/language/expressions/class/params-meth-dflt-duplicates.js +++ b/test/language/expressions/class/meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-ref-later.js b/test/language/expressions/class/meth-dflt-params-ref-later.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-ref-later.js rename to test/language/expressions/class/meth-dflt-params-ref-later.js index 7a2c81ab4a..002696105d 100644 --- a/test/language/expressions/class/params-meth-dflt-ref-later.js +++ b/test/language/expressions/class/meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-ref-prior.js b/test/language/expressions/class/meth-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-ref-prior.js rename to test/language/expressions/class/meth-dflt-params-ref-prior.js index c6336a5767..197514e47b 100644 --- a/test/language/expressions/class/params-meth-dflt-ref-prior.js +++ b/test/language/expressions/class/meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-ref-self.js b/test/language/expressions/class/meth-dflt-params-ref-self.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-ref-self.js rename to test/language/expressions/class/meth-dflt-params-ref-self.js index 49c0d70f22..aacddc328d 100644 --- a/test/language/expressions/class/params-meth-dflt-ref-self.js +++ b/test/language/expressions/class/meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression method) diff --git a/test/language/expressions/class/params-meth-dflt-rest.js b/test/language/expressions/class/meth-dflt-params-rest.js similarity index 98% rename from test/language/expressions/class/params-meth-dflt-rest.js rename to test/language/expressions/class/meth-dflt-params-rest.js index 43199aa0bd..ff6401a5fb 100644 --- a/test/language/expressions/class/params-meth-dflt-rest.js +++ b/test/language/expressions/class/meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-meth.template /*--- description: RestParameter does not support an initializer (class expression method) diff --git a/test/language/expressions/class/params-meth-trailing-comma-dflt-param.js b/test/language/expressions/class/meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/class/params-meth-trailing-comma-dflt-param.js rename to test/language/expressions/class/meth-dflt-params-trailing-comma.js index 8323bc14c8..8c347459ae 100644 --- a/test/language/expressions/class/params-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (class expression method) diff --git a/test/language/expressions/class/params-meth-trailing-comma-multiple-param.js b/test/language/expressions/class/meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-meth-trailing-comma-multiple-param.js rename to test/language/expressions/class/meth-params-trailing-comma-multiple.js index 03ff141e27..e749c149fb 100644 --- a/test/language/expressions/class/params-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (class expression method) diff --git a/test/language/expressions/class/params-meth-trailing-comma-single-param.js b/test/language/expressions/class/meth-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-meth-trailing-comma-single-param.js rename to test/language/expressions/class/meth-params-trailing-comma-single.js index cddfc6643b..559f969850 100644 --- a/test/language/expressions/class/params-meth-trailing-comma-single-param.js +++ b/test/language/expressions/class/meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (class expression method) diff --git a/test/language/expressions/class/params-meth-trailing-comma-rest-early-error.js b/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/expressions/class/params-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js index 6703152b56..0d60556379 100644 --- a/test/language/expressions/class/params-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-abrupt.js b/test/language/expressions/class/meth-static-dflt-params-abrupt.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-abrupt.js rename to test/language/expressions/class/meth-static-dflt-params-abrupt.js index d19ddc46a5..a19cb3a93a 100644 --- a/test/language/expressions/class/params-meth-static-dflt-abrupt.js +++ b/test/language/expressions/class/meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-expr-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-arg-val-not-undefined.js b/test/language/expressions/class/meth-static-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-arg-val-not-undefined.js rename to test/language/expressions/class/meth-static-dflt-params-arg-val-not-undefined.js index a6a04dc5fd..210287f8e2 100644 --- a/test/language/expressions/class/params-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/class/meth-static-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: Use of intializer when argument value is not `undefined` (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-arg-val-undefined.js b/test/language/expressions/class/meth-static-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/class/params-meth-static-dflt-arg-val-undefined.js rename to test/language/expressions/class/meth-static-dflt-params-arg-val-undefined.js index 08c0112fdd..5854132c70 100644 --- a/test/language/expressions/class/params-meth-static-dflt-arg-val-undefined.js +++ b/test/language/expressions/class/meth-static-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: Use of intializer when argument value is `undefined` (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-duplicates.js b/test/language/expressions/class/meth-static-dflt-params-duplicates.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-duplicates.js rename to test/language/expressions/class/meth-static-dflt-params-duplicates.js index 57fd5eb26a..80b48b38f4 100644 --- a/test/language/expressions/class/params-meth-static-dflt-duplicates.js +++ b/test/language/expressions/class/meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-expr-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-ref-later.js b/test/language/expressions/class/meth-static-dflt-params-ref-later.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-ref-later.js rename to test/language/expressions/class/meth-static-dflt-params-ref-later.js index 81583141eb..d414001f23 100644 --- a/test/language/expressions/class/params-meth-static-dflt-ref-later.js +++ b/test/language/expressions/class/meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-expr-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-ref-prior.js b/test/language/expressions/class/meth-static-dflt-params-ref-prior.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-ref-prior.js rename to test/language/expressions/class/meth-static-dflt-params-ref-prior.js index 77aa35555d..f7af2cc1c6 100644 --- a/test/language/expressions/class/params-meth-static-dflt-ref-prior.js +++ b/test/language/expressions/class/meth-static-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-ref-self.js b/test/language/expressions/class/meth-static-dflt-params-ref-self.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-ref-self.js rename to test/language/expressions/class/meth-static-dflt-params-ref-self.js index 5b74043e31..129ee534c9 100644 --- a/test/language/expressions/class/params-meth-static-dflt-ref-self.js +++ b/test/language/expressions/class/meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-expr-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-dflt-rest.js b/test/language/expressions/class/meth-static-dflt-params-rest.js similarity index 98% rename from test/language/expressions/class/params-meth-static-dflt-rest.js rename to test/language/expressions/class/meth-static-dflt-params-rest.js index 1b83468802..12569abcfc 100644 --- a/test/language/expressions/class/params-meth-static-dflt-rest.js +++ b/test/language/expressions/class/meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-expr-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-trailing-comma-dflt-param.js b/test/language/expressions/class/meth-static-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/class/params-meth-static-trailing-comma-dflt-param.js rename to test/language/expressions/class/meth-static-dflt-params-trailing-comma.js index 68c81f18a8..76f6728d5a 100644 --- a/test/language/expressions/class/params-meth-static-trailing-comma-dflt-param.js +++ b/test/language/expressions/class/meth-static-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: A trailing comma should not increase the respective length, using default parameters (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-trailing-comma-multiple-param.js b/test/language/expressions/class/meth-static-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/class/params-meth-static-trailing-comma-multiple-param.js rename to test/language/expressions/class/meth-static-params-trailing-comma-multiple.js index bb4c13ec2c..010e5b5c20 100644 --- a/test/language/expressions/class/params-meth-static-trailing-comma-multiple-param.js +++ b/test/language/expressions/class/meth-static-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-trailing-comma-single-param.js b/test/language/expressions/class/meth-static-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/class/params-meth-static-trailing-comma-single-param.js rename to test/language/expressions/class/meth-static-params-trailing-comma-single.js index 560c4babdc..8a8bb4650a 100644 --- a/test/language/expressions/class/params-meth-static-trailing-comma-single-param.js +++ b/test/language/expressions/class/meth-static-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-expr-meth-static.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (static class expression method) diff --git a/test/language/expressions/class/params-meth-static-trailing-comma-rest-early-error.js b/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/expressions/class/params-meth-static-trailing-comma-rest-early-error.js rename to test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js index 94424dc21d..466e998ef5 100644 --- a/test/language/expressions/class/params-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-expr-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression method) diff --git a/test/language/expressions/function/params-dflt-abrupt.js b/test/language/expressions/function/dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/function/params-dflt-abrupt.js rename to test/language/expressions/function/dflt-params-abrupt.js index 54732890ef..441fb8bad6 100644 --- a/test/language/expressions/function/params-dflt-abrupt.js +++ b/test/language/expressions/function/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/func-expr.template /*--- description: Abrupt completion returned by evaluation of initializer (function expression) diff --git a/test/language/expressions/function/params-dflt-arg-val-not-undefined.js b/test/language/expressions/function/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/function/params-dflt-arg-val-not-undefined.js rename to test/language/expressions/function/dflt-params-arg-val-not-undefined.js index da52bd1a7b..a2bdd7b8ce 100644 --- a/test/language/expressions/function/params-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/function/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/func-expr.template /*--- description: Use of intializer when argument value is not `undefined` (function expression) diff --git a/test/language/expressions/function/params-dflt-arg-val-undefined.js b/test/language/expressions/function/dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/function/params-dflt-arg-val-undefined.js rename to test/language/expressions/function/dflt-params-arg-val-undefined.js index 4e8b2a7d9a..6ece640d5c 100644 --- a/test/language/expressions/function/params-dflt-arg-val-undefined.js +++ b/test/language/expressions/function/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/func-expr.template /*--- description: Use of intializer when argument value is `undefined` (function expression) diff --git a/test/language/expressions/function/params-dflt-duplicates.js b/test/language/expressions/function/dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/function/params-dflt-duplicates.js rename to test/language/expressions/function/dflt-params-duplicates.js index c5b6ceb7aa..930fed9778 100644 --- a/test/language/expressions/function/params-dflt-duplicates.js +++ b/test/language/expressions/function/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/func-expr.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (function expression) diff --git a/test/language/expressions/function/params-dflt-ref-later.js b/test/language/expressions/function/dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/function/params-dflt-ref-later.js rename to test/language/expressions/function/dflt-params-ref-later.js index f781306ce4..52fa732eb6 100644 --- a/test/language/expressions/function/params-dflt-ref-later.js +++ b/test/language/expressions/function/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/func-expr.template /*--- description: Referencing a parameter that occurs later in the ParameterList (function expression) diff --git a/test/language/expressions/function/params-dflt-ref-prior.js b/test/language/expressions/function/dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/function/params-dflt-ref-prior.js rename to test/language/expressions/function/dflt-params-ref-prior.js index 6b86c63684..59e49aad5b 100644 --- a/test/language/expressions/function/params-dflt-ref-prior.js +++ b/test/language/expressions/function/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/func-expr.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (function expression) diff --git a/test/language/expressions/function/params-dflt-ref-self.js b/test/language/expressions/function/dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/function/params-dflt-ref-self.js rename to test/language/expressions/function/dflt-params-ref-self.js index bcf935cae3..0bcd2c81c2 100644 --- a/test/language/expressions/function/params-dflt-ref-self.js +++ b/test/language/expressions/function/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/func-expr.template /*--- description: Referencing a parameter from within its own initializer (function expression) diff --git a/test/language/expressions/function/params-dflt-rest.js b/test/language/expressions/function/dflt-params-rest.js similarity index 97% rename from test/language/expressions/function/params-dflt-rest.js rename to test/language/expressions/function/dflt-params-rest.js index 69bcde8df4..f5bab2d327 100644 --- a/test/language/expressions/function/params-dflt-rest.js +++ b/test/language/expressions/function/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/func-expr.template /*--- description: RestParameter does not support an initializer (function expression) diff --git a/test/language/expressions/function/params-trailing-comma-dflt-param.js b/test/language/expressions/function/dflt-params-trailing-comma.js similarity index 96% rename from test/language/expressions/function/params-trailing-comma-dflt-param.js rename to test/language/expressions/function/dflt-params-trailing-comma.js index dc83d13e30..a7954f5804 100644 --- a/test/language/expressions/function/params-trailing-comma-dflt-param.js +++ b/test/language/expressions/function/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/func-expr.template /*--- description: A trailing comma should not increase the respective length, using default parameters (function expression) diff --git a/test/language/expressions/function/params-trailing-comma-multiple-param.js b/test/language/expressions/function/params-trailing-comma-multiple.js similarity index 96% rename from test/language/expressions/function/params-trailing-comma-multiple-param.js rename to test/language/expressions/function/params-trailing-comma-multiple.js index c0d1c436e5..efe0a16494 100644 --- a/test/language/expressions/function/params-trailing-comma-multiple-param.js +++ b/test/language/expressions/function/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/func-expr.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (function expression) diff --git a/test/language/expressions/function/params-trailing-comma-single-param.js b/test/language/expressions/function/params-trailing-comma-single.js similarity index 96% rename from test/language/expressions/function/params-trailing-comma-single-param.js rename to test/language/expressions/function/params-trailing-comma-single.js index baed40509b..01541faf6a 100644 --- a/test/language/expressions/function/params-trailing-comma-single-param.js +++ b/test/language/expressions/function/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/func-expr.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (function expression) diff --git a/test/language/expressions/function/params-trailing-comma-rest-early-error.js b/test/language/expressions/function/rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/function/params-trailing-comma-rest-early-error.js rename to test/language/expressions/function/rest-params-trailing-comma-early-error.js index ede500aa21..34fd920cef 100644 --- a/test/language/expressions/function/params-trailing-comma-rest-early-error.js +++ b/test/language/expressions/function/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/func-expr.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (function expression) diff --git a/test/language/expressions/generators/params-dflt-abrupt.js b/test/language/expressions/generators/dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/generators/params-dflt-abrupt.js rename to test/language/expressions/generators/dflt-params-abrupt.js index 3a8b1e8eb9..42b32132b0 100644 --- a/test/language/expressions/generators/params-dflt-abrupt.js +++ b/test/language/expressions/generators/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/gen-func-expr.template /*--- description: Abrupt completion returned by evaluation of initializer (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-arg-val-not-undefined.js b/test/language/expressions/generators/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/generators/params-dflt-arg-val-not-undefined.js rename to test/language/expressions/generators/dflt-params-arg-val-not-undefined.js index 68e6485caf..5ac89d6115 100644 --- a/test/language/expressions/generators/params-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/generators/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/gen-func-expr.template /*--- description: Use of intializer when argument value is not `undefined` (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-arg-val-undefined.js b/test/language/expressions/generators/dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/generators/params-dflt-arg-val-undefined.js rename to test/language/expressions/generators/dflt-params-arg-val-undefined.js index 83edde353f..179d239d44 100644 --- a/test/language/expressions/generators/params-dflt-arg-val-undefined.js +++ b/test/language/expressions/generators/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/gen-func-expr.template /*--- description: Use of intializer when argument value is `undefined` (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-duplicates.js b/test/language/expressions/generators/dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/generators/params-dflt-duplicates.js rename to test/language/expressions/generators/dflt-params-duplicates.js index e42c77dc63..11c95daac1 100644 --- a/test/language/expressions/generators/params-dflt-duplicates.js +++ b/test/language/expressions/generators/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/gen-func-expr.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-ref-later.js b/test/language/expressions/generators/dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/generators/params-dflt-ref-later.js rename to test/language/expressions/generators/dflt-params-ref-later.js index 53feb83f15..d8abc79f02 100644 --- a/test/language/expressions/generators/params-dflt-ref-later.js +++ b/test/language/expressions/generators/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/gen-func-expr.template /*--- description: Referencing a parameter that occurs later in the ParameterList (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-ref-prior.js b/test/language/expressions/generators/dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/generators/params-dflt-ref-prior.js rename to test/language/expressions/generators/dflt-params-ref-prior.js index bb686793c8..065090c06d 100644 --- a/test/language/expressions/generators/params-dflt-ref-prior.js +++ b/test/language/expressions/generators/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/gen-func-expr.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-ref-self.js b/test/language/expressions/generators/dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/generators/params-dflt-ref-self.js rename to test/language/expressions/generators/dflt-params-ref-self.js index fb99b68755..22fca77f2f 100644 --- a/test/language/expressions/generators/params-dflt-ref-self.js +++ b/test/language/expressions/generators/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/gen-func-expr.template /*--- description: Referencing a parameter from within its own initializer (generator function expression) diff --git a/test/language/expressions/generators/params-dflt-rest.js b/test/language/expressions/generators/dflt-params-rest.js similarity index 97% rename from test/language/expressions/generators/params-dflt-rest.js rename to test/language/expressions/generators/dflt-params-rest.js index 7bb5aeceda..0e3cd3bd21 100644 --- a/test/language/expressions/generators/params-dflt-rest.js +++ b/test/language/expressions/generators/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/gen-func-expr.template /*--- description: RestParameter does not support an initializer (generator function expression) diff --git a/test/language/expressions/generators/params-trailing-comma-dflt-param.js b/test/language/expressions/generators/dflt-params-trailing-comma.js similarity index 96% rename from test/language/expressions/generators/params-trailing-comma-dflt-param.js rename to test/language/expressions/generators/dflt-params-trailing-comma.js index 476577cbaf..c787e175bd 100644 --- a/test/language/expressions/generators/params-trailing-comma-dflt-param.js +++ b/test/language/expressions/generators/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using default parameters (generator function expression) diff --git a/test/language/expressions/generators/params-trailing-comma-multiple-param.js b/test/language/expressions/generators/params-trailing-comma-multiple.js similarity index 96% rename from test/language/expressions/generators/params-trailing-comma-multiple-param.js rename to test/language/expressions/generators/params-trailing-comma-multiple.js index 667358035f..557ec68595 100644 --- a/test/language/expressions/generators/params-trailing-comma-multiple-param.js +++ b/test/language/expressions/generators/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (generator function expression) diff --git a/test/language/expressions/generators/params-trailing-comma-single-param.js b/test/language/expressions/generators/params-trailing-comma-single.js similarity index 96% rename from test/language/expressions/generators/params-trailing-comma-single-param.js rename to test/language/expressions/generators/params-trailing-comma-single.js index ddad8b0f16..25df59033a 100644 --- a/test/language/expressions/generators/params-trailing-comma-single-param.js +++ b/test/language/expressions/generators/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/gen-func-expr.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (generator function expression) diff --git a/test/language/expressions/generators/params-trailing-comma-rest-early-error.js b/test/language/expressions/generators/rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/generators/params-trailing-comma-rest-early-error.js rename to test/language/expressions/generators/rest-params-trailing-comma-early-error.js index 826a347a42..2aa7735050 100644 --- a/test/language/expressions/generators/params-trailing-comma-rest-early-error.js +++ b/test/language/expressions/generators/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/gen-func-expr.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator function expression) diff --git a/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-multiple.js b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..656e979764 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-multiple.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (async generator method) +esid: sec-asyncgenerator-definitions-propertydefinitionevaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +var obj = { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = obj.method; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'generator method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-null.js b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-null.js new file mode 100644 index 0000000000..0bdc228f9b --- /dev/null +++ b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-null.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/async-gen-meth.template +/*--- +description: A trailing comma after null should not increase the arguments.length (async generator method) +esid: sec-asyncgenerator-definitions-propertydefinitionevaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +var obj = { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = obj.method; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'generator method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-single-args.js b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..905ca395fe --- /dev/null +++ b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-single-args.js @@ -0,0 +1,45 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (async generator method) +esid: sec-asyncgenerator-definitions-propertydefinitionevaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +var obj = { + async *method() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = obj.method; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'generator method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-undefined.js b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..b9fc31fcbe --- /dev/null +++ b/test/language/expressions/object/method-definition/async-gen-meth-args-trailing-comma-undefined.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/async-gen-meth.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (async generator method) +esid: sec-asyncgenerator-definitions-propertydefinitionevaluation +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +var obj = { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = obj.method; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'generator method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-abrupt.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-abrupt.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-abrupt.js index 32dc959baa..30d6e00f9e 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-abrupt.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/async-gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-not-undefined.js index 2ed89209b0..bf3dfb95ad 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/async-gen-meth.template /*--- description: Use of intializer when argument value is not `undefined` (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-undefined.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-undefined.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-undefined.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-undefined.js index a5a2cdb01e..2c19f815ea 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/async-gen-meth.template /*--- description: Use of intializer when argument value is `undefined` (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-duplicates.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-duplicates.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js index 4755683d9d..8120c0e620 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-duplicates.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/async-gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-later.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-later.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-later.js index b66c4d9fc1..40cc9de664 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-later.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/async-gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-prior.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-prior.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-prior.js index 3432e64bd6..d7b07d73b3 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-prior.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/async-gen-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-self.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-self.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-self.js index 63b53ff25c..876cf947ff 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-ref-self.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/async-gen-meth.template /*--- description: Referencing a parameter from within its own initializer (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-rest.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-dflt-rest.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js index b75306e590..be3eafda5e 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-dflt-rest.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/async-gen-meth.template /*--- description: RestParameter does not support an initializer (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-dflt-param.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-trailing-comma.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-dflt-param.js rename to test/language/expressions/object/method-definition/async-gen-meth-dflt-params-trailing-comma.js index a3dce45401..2ac6f78763 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-multiple-param.js b/test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-multiple.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-multiple-param.js rename to test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-multiple.js index d357e487f6..fb46babf23 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-single-param.js b/test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-single.js similarity index 96% rename from test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-single-param.js rename to test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-single.js index 274e46d70c..5712c60642 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-single-param.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/async-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (async generator method) diff --git a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-rest-early-error.js b/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js similarity index 95% rename from test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js index d9de6650b1..3ac0cbd918 100644 --- a/test/language/expressions/object/method-definition/params-async-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/async-gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator method) diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js new file mode 100644 index 0000000000..21052dbf34 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-abrupt.js @@ -0,0 +1,45 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/async-meth.template +/*--- +description: Abrupt completion returned by evaluation of initializer (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; + +var obj = { + async method(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; + } +}; + +obj.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..2e73f929bd --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,65 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/async-meth.template +/*--- +description: Use of intializer when argument value is not `undefined` (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; +var __obj = { + async method(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..7fca9a24fa --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-arg-val-undefined.js @@ -0,0 +1,48 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/async-meth.template +/*--- +description: Use of intializer when argument value is `undefined` (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; +var __obj = { + async method(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js new file mode 100644 index 0000000000..f968ff5066 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/async-meth.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +({ + async *method(x = 0, x) { + + } +}); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js new file mode 100644 index 0000000000..66dc44b258 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-later.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/async-meth.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +var obj = { + async method(x = y, y) { + + callCount = callCount + 1; + } +}; + +obj.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js new file mode 100644 index 0000000000..e73bd575d0 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-prior.js @@ -0,0 +1,45 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/async-meth.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +var __obj = { + async method(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js new file mode 100644 index 0000000000..4e5a1efd7d --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-ref-self.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/async-meth.template +/*--- +description: Referencing a parameter from within its own initializer (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +var obj = { + async method(x = x) { + + callCount = callCount + 1; + } +}; + +obj.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js new file mode 100644 index 0000000000..ac83ef99e5 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/async-meth.template +/*--- +description: RestParameter does not support an initializer (async method) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +({ + async *method(...x = []) { + + } +}); diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..f7420e796f --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-trailing-comma.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (async method) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +var __obj = { + async method(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..35ac30a44a --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-multiple.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (async method) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +var __obj = { + async method(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js new file mode 100644 index 0000000000..daebc1b107 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-params-trailing-comma-single.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (async method) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +var __obj = { + async method(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; + } +}; + +// Stores a reference `ref` for case evaluation +var ref = __obj.method; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'async method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..eb1a994e60 --- /dev/null +++ b/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js @@ -0,0 +1,34 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/async-meth.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async method) +esid: sec-async-function-definitions +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncMethod : + async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +({ + async *method(...a,) { + + } +}); diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-abrupt.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-abrupt.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-abrupt.js index 05b9e50ea6..0721454cd8 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-abrupt.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-not-undefined.js index 61a5d6ac01..631b5c8cd0 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/gen-meth.template /*--- description: Use of intializer when argument value is not `undefined` (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-undefined.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-undefined.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-undefined.js index e226a700d0..4312dad4d5 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/gen-meth.template /*--- description: Use of intializer when argument value is `undefined` (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-duplicates.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-duplicates.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js index 69fda8637e..74f4b1f5ae 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-duplicates.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-later.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-later.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-later.js index 76a83f062f..28543598be 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-later.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-prior.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-prior.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-prior.js index 29c960ea53..7c5a600583 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-prior.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/gen-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-self.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-self.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-self.js index 80dbde9ab5..16973080fd 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-ref-self.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/gen-meth.template /*--- description: Referencing a parameter from within its own initializer (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-dflt-rest.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-dflt-rest.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js index 3a89cee509..e1171d4889 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-dflt-rest.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/gen-meth.template /*--- description: RestParameter does not support an initializer (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-dflt-param.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-dflt-param.js rename to test/language/expressions/object/method-definition/gen-meth-dflt-params-trailing-comma.js index bbf900a2e8..ecfd480e99 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/gen-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-multiple-param.js b/test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-multiple-param.js rename to test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-multiple.js index 364c56ff5f..a21e8788a2 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/gen-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-single-param.js b/test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-single.js similarity index 97% rename from test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-single-param.js rename to test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-single.js index 1f4bb9c060..e7153fdc7a 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-single-param.js +++ b/test/language/expressions/object/method-definition/gen-meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/gen-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (generator method) diff --git a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-rest-early-error.js b/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js index 462a153c17..1fafda10c0 100644 --- a/test/language/expressions/object/method-definition/params-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-abrupt.js b/test/language/expressions/object/method-definition/meth-dflt-params-abrupt.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-abrupt.js rename to test/language/expressions/object/method-definition/meth-dflt-params-abrupt.js index ab75eb37f4..a8ad20ea13 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-abrupt.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/meth.template /*--- description: Abrupt completion returned by evaluation of initializer (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-arg-val-not-undefined.js b/test/language/expressions/object/method-definition/meth-dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-arg-val-not-undefined.js rename to test/language/expressions/object/method-definition/meth-dflt-params-arg-val-not-undefined.js index 544019e6aa..c91a52d3db 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-arg-val-not-undefined.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/meth.template /*--- description: Use of intializer when argument value is not `undefined` (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-arg-val-undefined.js b/test/language/expressions/object/method-definition/meth-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-arg-val-undefined.js rename to test/language/expressions/object/method-definition/meth-dflt-params-arg-val-undefined.js index ce6608249e..2f8b4ee587 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-arg-val-undefined.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/meth.template /*--- description: Use of intializer when argument value is `undefined` (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-duplicates.js b/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-duplicates.js rename to test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js index 1021a5e91b..ca6b30f3e6 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-duplicates.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-ref-later.js b/test/language/expressions/object/method-definition/meth-dflt-params-ref-later.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-ref-later.js rename to test/language/expressions/object/method-definition/meth-dflt-params-ref-later.js index ebf9db451d..ee8e96ce88 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-ref-later.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-ref-prior.js b/test/language/expressions/object/method-definition/meth-dflt-params-ref-prior.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-ref-prior.js rename to test/language/expressions/object/method-definition/meth-dflt-params-ref-prior.js index 893c8d82a5..ba8490b8e6 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-ref-prior.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-ref-self.js b/test/language/expressions/object/method-definition/meth-dflt-params-ref-self.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-ref-self.js rename to test/language/expressions/object/method-definition/meth-dflt-params-ref-self.js index 8c9edc68d7..df160d7183 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-ref-self.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/meth.template /*--- description: Referencing a parameter from within its own initializer (method) diff --git a/test/language/expressions/object/method-definition/params-meth-dflt-rest.js b/test/language/expressions/object/method-definition/meth-dflt-params-rest.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-dflt-rest.js rename to test/language/expressions/object/method-definition/meth-dflt-params-rest.js index 5654997b02..8536874de7 100644 --- a/test/language/expressions/object/method-definition/params-meth-dflt-rest.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/meth.template /*--- description: RestParameter does not support an initializer (method) diff --git a/test/language/expressions/object/method-definition/params-meth-trailing-comma-dflt-param.js b/test/language/expressions/object/method-definition/meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/expressions/object/method-definition/params-meth-trailing-comma-dflt-param.js rename to test/language/expressions/object/method-definition/meth-dflt-params-trailing-comma.js index 82deafb006..278b59f83b 100644 --- a/test/language/expressions/object/method-definition/params-meth-trailing-comma-dflt-param.js +++ b/test/language/expressions/object/method-definition/meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (method) diff --git a/test/language/expressions/object/method-definition/params-meth-trailing-comma-multiple-param.js b/test/language/expressions/object/method-definition/meth-params-trailing-comma-multiple.js similarity index 96% rename from test/language/expressions/object/method-definition/params-meth-trailing-comma-multiple-param.js rename to test/language/expressions/object/method-definition/meth-params-trailing-comma-multiple.js index 7d9296c001..03835458ad 100644 --- a/test/language/expressions/object/method-definition/params-meth-trailing-comma-multiple-param.js +++ b/test/language/expressions/object/method-definition/meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (method) diff --git a/test/language/expressions/object/method-definition/params-meth-trailing-comma-single-param.js b/test/language/expressions/object/method-definition/meth-params-trailing-comma-single.js similarity index 96% rename from test/language/expressions/object/method-definition/params-meth-trailing-comma-single-param.js rename to test/language/expressions/object/method-definition/meth-params-trailing-comma-single.js index d3f3278200..c2d1053951 100644 --- a/test/language/expressions/object/method-definition/params-meth-trailing-comma-single-param.js +++ b/test/language/expressions/object/method-definition/meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (method) diff --git a/test/language/expressions/object/method-definition/params-meth-trailing-comma-rest-early-error.js b/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/expressions/object/method-definition/params-meth-trailing-comma-rest-early-error.js rename to test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js index 5afb841d99..bc1d5dd470 100644 --- a/test/language/expressions/object/method-definition/params-meth-trailing-comma-rest-early-error.js +++ b/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (method) diff --git a/test/language/statements/async-function/dflt-params-abrupt.js b/test/language/statements/async-function/dflt-params-abrupt.js new file mode 100644 index 0000000000..90a7c98c3b --- /dev/null +++ b/test/language/statements/async-function/dflt-params-abrupt.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/async-func-decl.template +/*--- +description: Abrupt completion returned by evaluation of initializer (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +async function f(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js b/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..da0415c505 --- /dev/null +++ b/test/language/statements/async-function/dflt-params-arg-val-not-undefined.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: Use of intializer when argument value is not `undefined` (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; +} + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/statements/async-function/dflt-params-arg-val-undefined.js b/test/language/statements/async-function/dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..7ed59a5a5d --- /dev/null +++ b/test/language/statements/async-function/dflt-params-arg-val-undefined.js @@ -0,0 +1,45 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: Use of intializer when argument value is `undefined` (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; +} + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-function/dflt-params-duplicates.js b/test/language/statements/async-function/dflt-params-duplicates.js new file mode 100644 index 0000000000..116b8b6c2b --- /dev/null +++ b/test/language/statements/async-function/dflt-params-duplicates.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/async-func-decl.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +async function f(x = 0, x) { + +} diff --git a/test/language/statements/async-function/dflt-params-ref-later.js b/test/language/statements/async-function/dflt-params-ref-later.js new file mode 100644 index 0000000000..aa56ea0dcf --- /dev/null +++ b/test/language/statements/async-function/dflt-params-ref-later.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/async-func-decl.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +async function f(x = y, y) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/async-function/dflt-params-ref-prior.js b/test/language/statements/async-function/dflt-params-ref-prior.js new file mode 100644 index 0000000000..b97df71c52 --- /dev/null +++ b/test/language/statements/async-function/dflt-params-ref-prior.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; +} + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-function/dflt-params-ref-self.js b/test/language/statements/async-function/dflt-params-ref-self.js new file mode 100644 index 0000000000..714f611e92 --- /dev/null +++ b/test/language/statements/async-function/dflt-params-ref-self.js @@ -0,0 +1,43 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/async-func-decl.template +/*--- +description: Referencing a parameter from within its own initializer (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +async function f(x = x) { + + callCount = callCount + 1; +} + +f() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/async-function/dflt-params-rest.js b/test/language/statements/async-function/dflt-params-rest.js new file mode 100644 index 0000000000..80db4e9953 --- /dev/null +++ b/test/language/statements/async-function/dflt-params-rest.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/async-func-decl.template +/*--- +description: RestParameter does not support an initializer (async function declaration) +esid: sec-async-function-definitions +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +async function f(...x = []) { + +} diff --git a/test/language/statements/async-function/dflt-params-trailing-comma.js b/test/language/statements/async-function/dflt-params-trailing-comma.js new file mode 100644 index 0000000000..f4fb4deb65 --- /dev/null +++ b/test/language/statements/async-function/dflt-params-trailing-comma.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (async function declaration) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +} + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/async-function/params-trailing-comma-multiple.js b/test/language/statements/async-function/params-trailing-comma-multiple.js new file mode 100644 index 0000000000..5a74e80f7c --- /dev/null +++ b/test/language/statements/async-function/params-trailing-comma-multiple.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (async function declaration) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; +} + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/statements/async-function/params-trailing-comma-single.js b/test/language/statements/async-function/params-trailing-comma-single.js new file mode 100644 index 0000000000..3a88578ec0 --- /dev/null +++ b/test/language/statements/async-function/params-trailing-comma-single.js @@ -0,0 +1,35 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/async-func-decl.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (async function declaration) +esid: sec-async-function-definitions +flags: [generated, async] +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; + +// Stores a reference `ref` for case evaluation +async function ref(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; +} + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'function invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/async-function/rest-params-trailing-comma-early-error.js b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..c01a639e17 --- /dev/null +++ b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js @@ -0,0 +1,32 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/async-func-decl.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function declaration) +esid: sec-async-function-definitions +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + 14.6 Async Function Definitions + + AsyncFunctionDeclaration : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +async function f(...a,) { + +} diff --git a/test/language/statements/async-generator/args-trailing-comma-multiple.js b/test/language/statements/async-generator/args-trailing-comma-multiple.js new file mode 100644 index 0000000000..3fa5bf10c1 --- /dev/null +++ b/test/language/statements/async-generator/args-trailing-comma-multiple.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/async-gen-func-decl.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (async generator function declaration) +esid: sec-asyncgenerator-definitions-instantiatefunctionobject +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, + scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +async function* ref() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; +} + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-generator/args-trailing-comma-null.js b/test/language/statements/async-generator/args-trailing-comma-null.js new file mode 100644 index 0000000000..e909f6fd29 --- /dev/null +++ b/test/language/statements/async-generator/args-trailing-comma-null.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/async-gen-func-decl.template +/*--- +description: A trailing comma after null should not increase the arguments.length (async generator function declaration) +esid: sec-asyncgenerator-definitions-instantiatefunctionobject +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, + scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +async function* ref() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; +} + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-generator/args-trailing-comma-single-args.js b/test/language/statements/async-generator/args-trailing-comma-single-args.js new file mode 100644 index 0000000000..d66c25ded3 --- /dev/null +++ b/test/language/statements/async-generator/args-trailing-comma-single-args.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/async-gen-func-decl.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (async generator function declaration) +esid: sec-asyncgenerator-definitions-instantiatefunctionobject +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, + scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +async function* ref() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; +} + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-generator/args-trailing-comma-undefined.js b/test/language/statements/async-generator/args-trailing-comma-undefined.js new file mode 100644 index 0000000000..087c872f78 --- /dev/null +++ b/test/language/statements/async-generator/args-trailing-comma-undefined.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/async-gen-func-decl.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (async generator function declaration) +esid: sec-asyncgenerator-definitions-instantiatefunctionobject +features: [async-iteration] +flags: [generated, async] +info: | + AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier + ( FormalParameters ) { AsyncGeneratorBody } + + [...] + 3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody, + scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +// Stores a reference `ref` for case evaluation +async function* ref() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; +} + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'generator function invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/async-generator/params-dflt-abrupt.js b/test/language/statements/async-generator/dflt-params-abrupt.js similarity index 96% rename from test/language/statements/async-generator/params-dflt-abrupt.js rename to test/language/statements/async-generator/dflt-params-abrupt.js index d8ac2523f3..ac3342d589 100644 --- a/test/language/statements/async-generator/params-dflt-abrupt.js +++ b/test/language/statements/async-generator/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/async-gen-func-decl.template /*--- description: Abrupt completion returned by evaluation of initializer (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-arg-val-not-undefined.js b/test/language/statements/async-generator/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/statements/async-generator/params-dflt-arg-val-not-undefined.js rename to test/language/statements/async-generator/dflt-params-arg-val-not-undefined.js index e840f27b31..a65ebd5b5b 100644 --- a/test/language/statements/async-generator/params-dflt-arg-val-not-undefined.js +++ b/test/language/statements/async-generator/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: Use of intializer when argument value is not `undefined` (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-arg-val-undefined.js b/test/language/statements/async-generator/dflt-params-arg-val-undefined.js similarity index 96% rename from test/language/statements/async-generator/params-dflt-arg-val-undefined.js rename to test/language/statements/async-generator/dflt-params-arg-val-undefined.js index 0af23ba1b4..7f4841cd52 100644 --- a/test/language/statements/async-generator/params-dflt-arg-val-undefined.js +++ b/test/language/statements/async-generator/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: Use of intializer when argument value is `undefined` (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-duplicates.js b/test/language/statements/async-generator/dflt-params-duplicates.js similarity index 95% rename from test/language/statements/async-generator/params-dflt-duplicates.js rename to test/language/statements/async-generator/dflt-params-duplicates.js index 564016b44b..d333063cbe 100644 --- a/test/language/statements/async-generator/params-dflt-duplicates.js +++ b/test/language/statements/async-generator/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/async-gen-func-decl.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-ref-later.js b/test/language/statements/async-generator/dflt-params-ref-later.js similarity index 96% rename from test/language/statements/async-generator/params-dflt-ref-later.js rename to test/language/statements/async-generator/dflt-params-ref-later.js index e247ef69d9..54255d5fd0 100644 --- a/test/language/statements/async-generator/params-dflt-ref-later.js +++ b/test/language/statements/async-generator/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/async-gen-func-decl.template /*--- description: Referencing a parameter that occurs later in the ParameterList (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-ref-prior.js b/test/language/statements/async-generator/dflt-params-ref-prior.js similarity index 96% rename from test/language/statements/async-generator/params-dflt-ref-prior.js rename to test/language/statements/async-generator/dflt-params-ref-prior.js index e692f5700a..1714a5666f 100644 --- a/test/language/statements/async-generator/params-dflt-ref-prior.js +++ b/test/language/statements/async-generator/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-ref-self.js b/test/language/statements/async-generator/dflt-params-ref-self.js similarity index 96% rename from test/language/statements/async-generator/params-dflt-ref-self.js rename to test/language/statements/async-generator/dflt-params-ref-self.js index 80ef75878b..97d18e1b5f 100644 --- a/test/language/statements/async-generator/params-dflt-ref-self.js +++ b/test/language/statements/async-generator/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/async-gen-func-decl.template /*--- description: Referencing a parameter from within its own initializer (async generator function declaration) diff --git a/test/language/statements/async-generator/params-dflt-rest.js b/test/language/statements/async-generator/dflt-params-rest.js similarity index 95% rename from test/language/statements/async-generator/params-dflt-rest.js rename to test/language/statements/async-generator/dflt-params-rest.js index 71204f4555..3e1e67aaf5 100644 --- a/test/language/statements/async-generator/params-dflt-rest.js +++ b/test/language/statements/async-generator/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/async-gen-func-decl.template /*--- description: RestParameter does not support an initializer (async generator function declaration) diff --git a/test/language/statements/async-generator/params-trailing-comma-dflt-param.js b/test/language/statements/async-generator/dflt-params-trailing-comma.js similarity index 95% rename from test/language/statements/async-generator/params-trailing-comma-dflt-param.js rename to test/language/statements/async-generator/dflt-params-trailing-comma.js index 0392bc0db0..7031740019 100644 --- a/test/language/statements/async-generator/params-trailing-comma-dflt-param.js +++ b/test/language/statements/async-generator/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using default parameters (async generator function declaration) diff --git a/test/language/statements/async-generator/params-trailing-comma-multiple-param.js b/test/language/statements/async-generator/params-trailing-comma-multiple.js similarity index 95% rename from test/language/statements/async-generator/params-trailing-comma-multiple-param.js rename to test/language/statements/async-generator/params-trailing-comma-multiple.js index bcfe76cb18..c06861d38b 100644 --- a/test/language/statements/async-generator/params-trailing-comma-multiple-param.js +++ b/test/language/statements/async-generator/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (async generator function declaration) diff --git a/test/language/statements/async-generator/params-trailing-comma-single-param.js b/test/language/statements/async-generator/params-trailing-comma-single.js similarity index 95% rename from test/language/statements/async-generator/params-trailing-comma-single-param.js rename to test/language/statements/async-generator/params-trailing-comma-single.js index d27a76514c..0f8e992835 100644 --- a/test/language/statements/async-generator/params-trailing-comma-single-param.js +++ b/test/language/statements/async-generator/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/async-gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (async generator function declaration) diff --git a/test/language/statements/async-generator/params-trailing-comma-rest-early-error.js b/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js similarity index 94% rename from test/language/statements/async-generator/params-trailing-comma-rest-early-error.js rename to test/language/statements/async-generator/rest-params-trailing-comma-early-error.js index 58287fe081..f6a42b8bdf 100644 --- a/test/language/statements/async-generator/params-trailing-comma-rest-early-error.js +++ b/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/async-gen-func-decl.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async generator function declaration) diff --git a/test/language/statements/class/async-gen-meth-args-trailing-comma-multiple.js b/test/language/statements/class/async-gen-meth-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..9ee31b06bf --- /dev/null +++ b/test/language/statements/class/async-gen-meth-args-trailing-comma-multiple.js @@ -0,0 +1,64 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/cls-decl-async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (class expression method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +class C { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-args-trailing-comma-null.js b/test/language/statements/class/async-gen-meth-args-trailing-comma-null.js new file mode 100644 index 0000000000..33833dcd73 --- /dev/null +++ b/test/language/statements/class/async-gen-meth-args-trailing-comma-null.js @@ -0,0 +1,64 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/cls-decl-async-gen-meth.template +/*--- +description: A trailing comma after null should not increase the arguments.length (class expression method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +class C { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-args-trailing-comma-single-args.js b/test/language/statements/class/async-gen-meth-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..b3e6e0f98d --- /dev/null +++ b/test/language/statements/class/async-gen-meth-args-trailing-comma-single-args.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/cls-decl-async-gen-meth.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (class expression method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +class C { + async *method() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-args-trailing-comma-undefined.js b/test/language/statements/class/async-gen-meth-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..9b9c4a3c3a --- /dev/null +++ b/test/language/statements/class/async-gen-meth-args-trailing-comma-undefined.js @@ -0,0 +1,64 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/cls-decl-async-gen-meth.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (class expression method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + +var callCount = 0; +class C { + async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/params-async-gen-meth-dflt-abrupt.js b/test/language/statements/class/async-gen-meth-dflt-params-abrupt.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-dflt-abrupt.js rename to test/language/statements/class/async-gen-meth-dflt-params-abrupt.js index 1314065524..1e2f473e35 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-abrupt.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-async-gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression method) diff --git a/test/language/statements/class/params-async-gen-meth-dflt-arg-val-not-undefined.js b/test/language/statements/class/async-gen-meth-dflt-params-arg-val-not-undefined.js similarity index 96% rename from test/language/statements/class/params-async-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/statements/class/async-gen-meth-dflt-params-arg-val-not-undefined.js index fbbdf0795f..34e66257d0 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: Use of intializer when argument value is not `undefined` (class expression method) +description: Use of intializer when argument value is not `undefined` (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-dflt-arg-val-undefined.js b/test/language/statements/class/async-gen-meth-dflt-params-arg-val-undefined.js similarity index 95% rename from test/language/statements/class/params-async-gen-meth-dflt-arg-val-undefined.js rename to test/language/statements/class/async-gen-meth-dflt-params-arg-val-undefined.js index 2e537d137d..08c0068b1d 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-arg-val-undefined.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: Use of intializer when argument value is `undefined` (class expression method) +description: Use of intializer when argument value is `undefined` (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-dflt-duplicates.js b/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-dflt-duplicates.js rename to test/language/statements/class/async-gen-meth-dflt-params-duplicates.js index a017606419..6ccbdf276b 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-duplicates.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-async-gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression method) diff --git a/test/language/statements/class/params-async-gen-meth-dflt-ref-later.js b/test/language/statements/class/async-gen-meth-dflt-params-ref-later.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-dflt-ref-later.js rename to test/language/statements/class/async-gen-meth-dflt-params-ref-later.js index 9199416357..439ca95214 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-ref-later.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-async-gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression method) diff --git a/test/language/statements/class/params-async-gen-meth-dflt-ref-prior.js b/test/language/statements/class/async-gen-meth-dflt-params-ref-prior.js similarity index 95% rename from test/language/statements/class/params-async-gen-meth-dflt-ref-prior.js rename to test/language/statements/class/async-gen-meth-dflt-params-ref-prior.js index 4e0b22d6bf..ff1fa505eb 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-ref-prior.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-ref-prior.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: Referencing a parameter that occurs earlier in the ParameterList (class expression method) +description: Referencing a parameter that occurs earlier in the ParameterList (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-dflt-ref-self.js b/test/language/statements/class/async-gen-meth-dflt-params-ref-self.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-dflt-ref-self.js rename to test/language/statements/class/async-gen-meth-dflt-params-ref-self.js index 44f5d36ba4..a06a514785 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-ref-self.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-async-gen-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression method) diff --git a/test/language/statements/class/params-async-gen-meth-dflt-rest.js b/test/language/statements/class/async-gen-meth-dflt-params-rest.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-dflt-rest.js rename to test/language/statements/class/async-gen-meth-dflt-params-rest.js index 64711af942..ebbaec465c 100644 --- a/test/language/statements/class/params-async-gen-meth-dflt-rest.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-async-gen-meth.template /*--- description: RestParameter does not support an initializer (class expression method) diff --git a/test/language/statements/class/params-async-gen-meth-trailing-comma-dflt-param.js b/test/language/statements/class/async-gen-meth-dflt-params-trailing-comma.js similarity index 94% rename from test/language/statements/class/params-async-gen-meth-trailing-comma-dflt-param.js rename to test/language/statements/class/async-gen-meth-dflt-params-trailing-comma.js index de1ae76e03..b8b6d693bb 100644 --- a/test/language/statements/class/params-async-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/statements/class/async-gen-meth-dflt-params-trailing-comma.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: A trailing comma should not increase the respective length, using default parameters (class expression method) +description: A trailing comma should not increase the respective length, using default parameters (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-trailing-comma-multiple-param.js b/test/language/statements/class/async-gen-meth-params-trailing-comma-multiple.js similarity index 93% rename from test/language/statements/class/params-async-gen-meth-trailing-comma-multiple-param.js rename to test/language/statements/class/async-gen-meth-params-trailing-comma-multiple.js index 2e543f2c40..f1170b8bc4 100644 --- a/test/language/statements/class/params-async-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/statements/class/async-gen-meth-params-trailing-comma-multiple.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: A trailing comma should not increase the respective length, using multiple parameters (class expression method) +description: A trailing comma should not increase the respective length, using multiple parameters (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-trailing-comma-single-param.js b/test/language/statements/class/async-gen-meth-params-trailing-comma-single.js similarity index 93% rename from test/language/statements/class/params-async-gen-meth-trailing-comma-single-param.js rename to test/language/statements/class/async-gen-meth-params-trailing-comma-single.js index 87a817ff6d..0e24533405 100644 --- a/test/language/statements/class/params-async-gen-meth-trailing-comma-single-param.js +++ b/test/language/statements/class/async-gen-meth-params-trailing-comma-single.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-async-gen-meth.template /*--- -description: A trailing comma should not increase the respective length, using a single parameter (class expression method) +description: A trailing comma should not increase the respective length, using a single parameter (class declaration async generator method) esid: sec-class-definitions-runtime-semantics-evaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-trailing-comma-rest-early-error.js b/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/statements/class/params-async-gen-meth-trailing-comma-rest-early-error.js rename to test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js index 0abaaaf97d..6cbb12d019 100644 --- a/test/language/statements/class/params-async-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-async-gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression method) diff --git a/test/language/statements/class/async-gen-meth-static-args-trailing-comma-multiple.js b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-multiple.js new file mode 100644 index 0000000000..fbbe19913c --- /dev/null +++ b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-multiple.js @@ -0,0 +1,65 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-multiple.case +// - src/arguments/default/cls-decl-async-gen-meth-static.template +/*--- +description: A trailing comma should not increase the arguments.length, using multiple args (static class expression generator method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +class C { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], 'TC39'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 'TC39',).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-static-args-trailing-comma-null.js b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-null.js new file mode 100644 index 0000000000..d91abd06bc --- /dev/null +++ b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-null.js @@ -0,0 +1,65 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-null.case +// - src/arguments/default/cls-decl-async-gen-meth-static.template +/*--- +description: A trailing comma after null should not increase the arguments.length (static class expression generator method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +class C { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], null); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, null,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-static-args-trailing-comma-single-args.js b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-single-args.js new file mode 100644 index 0000000000..1e583efe98 --- /dev/null +++ b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-single-args.js @@ -0,0 +1,64 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-single-args.case +// - src/arguments/default/cls-decl-async-gen-meth-static.template +/*--- +description: A trailing comma should not increase the arguments.length, using a single arg (static class expression generator method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +class C { + static async *method() { + assert.sameValue(arguments.length, 1); + assert.sameValue(arguments[0], 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-gen-meth-static-args-trailing-comma-undefined.js b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-undefined.js new file mode 100644 index 0000000000..d3938284ea --- /dev/null +++ b/test/language/statements/class/async-gen-meth-static-args-trailing-comma-undefined.js @@ -0,0 +1,65 @@ +// This file was procedurally generated from the following sources: +// - src/arguments/args-trailing-comma-undefined.case +// - src/arguments/default/cls-decl-async-gen-meth-static.template +/*--- +description: A trailing comma after undefined should not increase the arguments.length (static class expression generator method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [async-iteration] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncGeneratorMethod : + async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) + { AsyncGeneratorBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true. + Otherwise let strict be false. + 4. Let scope be the running execution context's LexicalEnvironment. + 5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters, + AsyncGeneratorBody, scope, strict). + [...] + + + Trailing comma in the arguments list + + 12.3 Left-Hand-Side Expressions + + Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , ) +---*/ + + +var callCount = 0; +class C { + static async *method() { + assert.sameValue(arguments.length, 2); + assert.sameValue(arguments[0], 42); + assert.sameValue(arguments[1], undefined); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, undefined,).next().then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-abrupt.js b/test/language/statements/class/async-gen-meth-static-dflt-params-abrupt.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-static-dflt-abrupt.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-abrupt.js index be54932371..747e9e4765 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-abrupt.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-async-gen-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression generator method) diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js b/test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js similarity index 96% rename from test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js index fb05a00f78..40678d93bb 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-not-undefined.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: Use of intializer when argument value is not `undefined` (static class expression generator method) +description: Use of intializer when argument value is not `undefined` (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-undefined.js b/test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-undefined.js similarity index 95% rename from test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-undefined.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-undefined.js index 6fe42ef812..4f17e57744 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-arg-val-undefined.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-arg-val-undefined.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: Use of intializer when argument value is `undefined` (static class expression generator method) +description: Use of intializer when argument value is `undefined` (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-duplicates.js b/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-static-dflt-duplicates.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js index 75fc99c7e1..93cde2a2fc 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-duplicates.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-async-gen-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression generator method) diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-later.js b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-later.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-static-dflt-ref-later.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-ref-later.js index 0a37d30354..a85285759b 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-later.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-async-gen-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression generator method) diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-prior.js b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-prior.js similarity index 95% rename from test/language/statements/class/params-async-gen-meth-static-dflt-ref-prior.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-ref-prior.js index 68eb0d3b6d..1da07641ef 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-prior.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-prior.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: Referencing a parameter that occurs earlier in the ParameterList (static class expression generator method) +description: Referencing a parameter that occurs earlier in the ParameterList (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [default-parameters, async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-self.js b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-self.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-static-dflt-ref-self.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-ref-self.js index c9e34b61fd..349d64e977 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-ref-self.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-async-gen-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression generator method) diff --git a/test/language/statements/class/params-async-gen-meth-static-dflt-rest.js b/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js similarity index 97% rename from test/language/statements/class/params-async-gen-meth-static-dflt-rest.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-rest.js index cb55ecd724..2d80a1a9d0 100644 --- a/test/language/statements/class/params-async-gen-meth-static-dflt-rest.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-async-gen-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression generator method) diff --git a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-dflt-param.js b/test/language/statements/class/async-gen-meth-static-dflt-params-trailing-comma.js similarity index 93% rename from test/language/statements/class/params-async-gen-meth-static-trailing-comma-dflt-param.js rename to test/language/statements/class/async-gen-meth-static-dflt-params-trailing-comma.js index cf551cd262..46f0885cf5 100644 --- a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-dflt-param.js +++ b/test/language/statements/class/async-gen-meth-static-dflt-params-trailing-comma.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: A trailing comma should not increase the respective length, using default parameters (static class expression generator method) +description: A trailing comma should not increase the respective length, using default parameters (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-multiple-param.js b/test/language/statements/class/async-gen-meth-static-params-trailing-comma-multiple.js similarity index 93% rename from test/language/statements/class/params-async-gen-meth-static-trailing-comma-multiple-param.js rename to test/language/statements/class/async-gen-meth-static-params-trailing-comma-multiple.js index 4d5cb5ac28..51c4b0f7fc 100644 --- a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-multiple-param.js +++ b/test/language/statements/class/async-gen-meth-static-params-trailing-comma-multiple.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: A trailing comma should not increase the respective length, using multiple parameters (static class expression generator method) +description: A trailing comma should not increase the respective length, using multiple parameters (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-single-param.js b/test/language/statements/class/async-gen-meth-static-params-trailing-comma-single.js similarity index 93% rename from test/language/statements/class/params-async-gen-meth-static-trailing-comma-single-param.js rename to test/language/statements/class/async-gen-meth-static-params-trailing-comma-single.js index 4787526f25..0760254fbc 100644 --- a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-single-param.js +++ b/test/language/statements/class/async-gen-meth-static-params-trailing-comma-single.js @@ -1,8 +1,8 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-async-gen-meth-static.template /*--- -description: A trailing comma should not increase the respective length, using a single parameter (static class expression generator method) +description: A trailing comma should not increase the respective length, using a single parameter (static class declaration async generator method) esid: sec-runtime-semantics-bindingclassdeclarationevaluation features: [async-iteration] flags: [generated, async] diff --git a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js b/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/statements/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js rename to test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js index b6c26bce6a..09113accbd 100644 --- a/test/language/statements/class/params-async-gen-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-async-gen-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression generator method) diff --git a/test/language/statements/class/async-meth-dflt-params-abrupt.js b/test/language/statements/class/async-meth-dflt-params-abrupt.js new file mode 100644 index 0000000000..6fb6af0068 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-abrupt.js @@ -0,0 +1,68 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/cls-decl-async-meth.template +/*--- +description: Abrupt completion returned by evaluation of initializer (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +class C { + async method(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; + } +} + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js b/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..2f857b0881 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,89 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: Use of intializer when argument value is not `undefined` (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; +class C { + async method(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js b/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..810e644068 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-arg-val-undefined.js @@ -0,0 +1,72 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: Use of intializer when argument value is `undefined` (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; +class C { + async method(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-dflt-params-duplicates.js b/test/language/statements/class/async-meth-dflt-params-duplicates.js new file mode 100644 index 0000000000..5e44eb47f1 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-duplicates.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/cls-decl-async-meth.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +class C { + async method(x = 0, x) { + + } +} diff --git a/test/language/statements/class/async-meth-dflt-params-ref-later.js b/test/language/statements/class/async-meth-dflt-params-ref-later.js new file mode 100644 index 0000000000..673c3e4e7c --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-ref-later.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/cls-decl-async-meth.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + async method(x = y, y) { + + callCount = callCount + 1; + } +} + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-dflt-params-ref-prior.js b/test/language/statements/class/async-meth-dflt-params-ref-prior.js new file mode 100644 index 0000000000..f6eae505d4 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-ref-prior.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + async method(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-dflt-params-ref-self.js b/test/language/statements/class/async-meth-dflt-params-ref-self.js new file mode 100644 index 0000000000..b85d2c1c13 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-ref-self.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/cls-decl-async-meth.template +/*--- +description: Referencing a parameter from within its own initializer (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + async method(x = x) { + + callCount = callCount + 1; + } +} + +C.prototype.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-dflt-params-rest.js b/test/language/statements/class/async-meth-dflt-params-rest.js new file mode 100644 index 0000000000..df894a820c --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-rest.js @@ -0,0 +1,67 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/cls-decl-async-meth.template +/*--- +description: RestParameter does not support an initializer (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +class C { + async method(...x = []) { + + } +} diff --git a/test/language/statements/class/async-meth-dflt-params-trailing-comma.js b/test/language/statements/class/async-meth-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..2dfc6a9888 --- /dev/null +++ b/test/language/statements/class/async-meth-dflt-params-trailing-comma.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + async method(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-params-trailing-comma-multiple.js b/test/language/statements/class/async-meth-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..3ceb1d6d58 --- /dev/null +++ b/test/language/statements/class/async-meth-params-trailing-comma-multiple.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + async method(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-params-trailing-comma-single.js b/test/language/statements/class/async-meth-params-trailing-comma-single.js new file mode 100644 index 0000000000..5b86f97ee4 --- /dev/null +++ b/test/language/statements/class/async-meth-params-trailing-comma-single.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/cls-decl-async-meth.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + async method(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.prototype.method; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..15660680a7 --- /dev/null +++ b/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js @@ -0,0 +1,59 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/cls-decl-async-meth.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class declaration async method) +esid: sec-class-definitions-runtime-semantics-evaluation +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing + PropertyDefinitionEvaluation for m with arguments proto and + false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +class C { + async method(...a,) { + + } +} diff --git a/test/language/statements/class/async-meth-static-dflt-params-abrupt.js b/test/language/statements/class/async-meth-static-dflt-params-abrupt.js new file mode 100644 index 0000000000..3d58d2ab3d --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-abrupt.js @@ -0,0 +1,68 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-abrupt.case +// - src/function-forms/error/cls-decl-async-meth-static.template +/*--- +description: Abrupt completion returned by evaluation of initializer (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ + + +var callCount = 0; +class C { + static async method(_ = (function() { throw new Test262Error(); }())) { + + callCount = callCount + 1; + } +} + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, Test262Error)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js b/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js new file mode 100644 index 0000000000..1309bcfd43 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-arg-val-not-undefined.js @@ -0,0 +1,89 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-not-undefined.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: Use of intializer when argument value is not `undefined` (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ +var obj = {}; +var falseCount = 0; +var stringCount = 0; +var nanCount = 0; +var zeroCount = 0; +var nullCount = 0; +var objCount = 0; + + +var callCount = 0; +class C { + static async method(aFalse = falseCount +=1, aString = stringCount += 1, aNaN = nanCount += 1, a0 = zeroCount += 1, aNull = nullCount += 1, aObj = objCount +=1) { + assert.sameValue(aFalse, false); + assert.sameValue(aString, ''); + assert.sameValue(aNaN, NaN); + assert.sameValue(a0, 0); + assert.sameValue(aNull, null); + assert.sameValue(aObj, obj); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(false, '', NaN, 0, null, obj).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(falseCount, 0, 'initializer not evaluated: false'); +assert.sameValue(stringCount, 0, 'initializer not evaluated: string'); +assert.sameValue(nanCount, 0, 'initializer not evaluated: NaN'); +assert.sameValue(zeroCount, 0, 'initializer not evaluated: 0'); +assert.sameValue(nullCount, 0, 'initializer not evaluated: null'); +assert.sameValue(objCount, 0, 'initializer not evaluated: object'); diff --git a/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js b/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js new file mode 100644 index 0000000000..af76655fe2 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-arg-val-undefined.js @@ -0,0 +1,72 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-arg-val-undefined.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: Use of intializer when argument value is `undefined` (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + [...] + 23. Let iteratorRecord be Record {[[Iterator]]: + CreateListIterator(argumentsList), [[Done]]: false}. + 24. If hasDuplicates is true, then + [...] + 25. Else, + a. Perform ? IteratorBindingInitialization for formals with + iteratorRecord and env as arguments. + [...] + +---*/ + + +var callCount = 0; +class C { + static async method(fromLiteral = 23, fromExpr = 45, fromHole = 99) { + assert.sameValue(fromLiteral, 23); + assert.sameValue(fromExpr, 45); + assert.sameValue(fromHole, 99); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(undefined, void 0).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-static-dflt-params-duplicates.js b/test/language/statements/class/async-meth-static-dflt-params-duplicates.js new file mode 100644 index 0000000000..79458288d1 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-duplicates.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-duplicates.case +// - src/function-forms/syntax/cls-decl-async-meth-static.template +/*--- +description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + 14.1.2 Static Semantics: Early Errors + + StrictFormalParameters : FormalParameters + + - It is a Syntax Error if BoundNames of FormalParameters contains any + duplicate elements. + + FormalParameters : FormalParameterList + + - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is + false and BoundNames of FormalParameterList contains any duplicate + elements. + +---*/ + + +class C { + static async method(x = 0, x) { + + } +} diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-later.js b/test/language/statements/class/async-meth-static-dflt-params-ref-later.js new file mode 100644 index 0000000000..f089ed8553 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-ref-later.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-later.case +// - src/function-forms/error/cls-decl-async-meth-static.template +/*--- +description: Referencing a parameter that occurs later in the ParameterList (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + static async method(x = y, y) { + + callCount = callCount + 1; + } +} + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js b/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js new file mode 100644 index 0000000000..2e2126f89a --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-ref-prior.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-prior.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: Referencing a parameter that occurs earlier in the ParameterList (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + static async method(x, y = x, z = y) { + assert.sameValue(x, 3, 'first argument value'); + assert.sameValue(y, 3, 'second argument value'); + assert.sameValue(z, 3, 'third argument value'); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(3).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-static-dflt-params-ref-self.js b/test/language/statements/class/async-meth-static-dflt-params-ref-self.js new file mode 100644 index 0000000000..716f786d47 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-ref-self.js @@ -0,0 +1,69 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-ref-self.case +// - src/function-forms/error/cls-decl-async-meth-static.template +/*--- +description: Referencing a parameter from within its own initializer (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + 14.1.19 Runtime Semantics: IteratorBindingInitialization + + FormalsList : FormalsList , FormalParameter + + 1. Let status be the result of performing IteratorBindingInitialization for + FormalsList using iteratorRecord and environment as the arguments. + 2. ReturnIfAbrupt(status). + 3. Return the result of performing IteratorBindingInitialization for + FormalParameter using iteratorRecord and environment as the arguments. + +---*/ +var x = 0; + + +var callCount = 0; +class C { + static async method(x = x) { + + callCount = callCount + 1; + } +} + +C.method() + .then(_ => { + throw new Test262Error('function should not be resolved'); + }, error => assert.sameValue(error.constructor, ReferenceError)) + .then(() => { + assert.sameValue(callCount, 0, 'function body is not evaluated'); + }, $DONE) + .then($DONE, $DONE); diff --git a/test/language/statements/class/async-meth-static-dflt-params-rest.js b/test/language/statements/class/async-meth-static-dflt-params-rest.js new file mode 100644 index 0000000000..79052753e6 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-rest.js @@ -0,0 +1,66 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-rest.case +// - src/function-forms/syntax/cls-decl-async-meth-static.template +/*--- +description: RestParameter does not support an initializer (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +features: [default-parameters] +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + 14.1 Function Definitions + + Syntax + + FunctionRestParameter[Yield] : + + BindingRestElement[?Yield] + + 13.3.3 Destructuring Binding Patterns + + Syntax + + BindingRestElement[Yield] : + + ...BindingIdentifier[?Yield] + ...BindingPattern[?Yield] + +---*/ + + +class C { + static async method(...x = []) { + + } +} diff --git a/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js b/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js new file mode 100644 index 0000000000..e9a769b125 --- /dev/null +++ b/test/language/statements/class/async-meth-static-dflt-params-trailing-comma.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/dflt-params-trailing-comma.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using default parameters (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + static async method(a, b = 39,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, undefined, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js b/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js new file mode 100644 index 0000000000..7c0bebd538 --- /dev/null +++ b/test/language/statements/class/async-meth-static-params-trailing-comma-multiple.js @@ -0,0 +1,63 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-multiple.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using multiple parameters (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + static async method(a, b,) { + assert.sameValue(a, 42); + assert.sameValue(b, 39); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 39, 1).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 2, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-static-params-trailing-comma-single.js b/test/language/statements/class/async-meth-static-params-trailing-comma-single.js new file mode 100644 index 0000000000..ef5179ae28 --- /dev/null +++ b/test/language/statements/class/async-meth-static-params-trailing-comma-single.js @@ -0,0 +1,62 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/params-trailing-comma-single.case +// - src/function-forms/default/cls-decl-async-meth-static.template +/*--- +description: A trailing comma should not increase the respective length, using a single parameter (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +flags: [generated, async] +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , +---*/ + + +var callCount = 0; +class C { + static async method(a,) { + assert.sameValue(a, 42); + callCount = callCount + 1; + } +} + +// Stores a reference `ref` for case evaluation +var ref = C.method; + +ref(42, 39).then(() => { + assert.sameValue(callCount, 1, 'method invoked exactly once'); +}).then($DONE, $DONE); + +assert.sameValue(ref.length, 1, 'length is properly set'); diff --git a/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js new file mode 100644 index 0000000000..4747ba7436 --- /dev/null +++ b/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js @@ -0,0 +1,58 @@ +// This file was procedurally generated from the following sources: +// - src/function-forms/rest-params-trailing-comma-early-error.case +// - src/function-forms/syntax/cls-decl-async-meth-static.template +/*--- +description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class declaration async method) +esid: sec-runtime-semantics-bindingclassdeclarationevaluation +flags: [generated] +negative: + phase: early + type: SyntaxError +info: | + ClassDeclaration : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with + argument className. + [...] + + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation + + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + b. Else, + Let status be the result of performing PropertyDefinitionEvaluation for + m with arguments F and false. + [...] + + Runtime Semantics: PropertyDefinitionEvaluation + + AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } + + 1. Let propKey be the result of evaluating PropertyName. + 2. ReturnIfAbrupt(propKey). + 3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise + let strict be false. + 4. Let scope be the LexicalEnvironment of the running execution context. + 5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody, + scope, strict). + [...] + + Trailing comma in the parameters list + + 14.1 Function Definitions + + FormalParameters[Yield, Await] : + [empty] + FunctionRestParameter[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] + FormalParameterList[?Yield, ?Await] , + FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] +---*/ + + +class C { + static async method(...a,) { + + } +} diff --git a/test/language/statements/class/params-gen-meth-dflt-abrupt.js b/test/language/statements/class/gen-meth-dflt-params-abrupt.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-abrupt.js rename to test/language/statements/class/gen-meth-dflt-params-abrupt.js index e79d372269..394a059b0a 100644 --- a/test/language/statements/class/params-gen-meth-dflt-abrupt.js +++ b/test/language/statements/class/gen-meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-gen-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-arg-val-not-undefined.js b/test/language/statements/class/gen-meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-arg-val-not-undefined.js rename to test/language/statements/class/gen-meth-dflt-params-arg-val-not-undefined.js index 196f38df2a..3c6ea0fb00 100644 --- a/test/language/statements/class/params-gen-meth-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/gen-meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: Use of intializer when argument value is not `undefined` (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-arg-val-undefined.js b/test/language/statements/class/gen-meth-dflt-params-arg-val-undefined.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-arg-val-undefined.js rename to test/language/statements/class/gen-meth-dflt-params-arg-val-undefined.js index cbac42231b..6fb2d48a4a 100644 --- a/test/language/statements/class/params-gen-meth-dflt-arg-val-undefined.js +++ b/test/language/statements/class/gen-meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: Use of intializer when argument value is `undefined` (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-duplicates.js b/test/language/statements/class/gen-meth-dflt-params-duplicates.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-duplicates.js rename to test/language/statements/class/gen-meth-dflt-params-duplicates.js index 2455c678e7..74465d8f63 100644 --- a/test/language/statements/class/params-gen-meth-dflt-duplicates.js +++ b/test/language/statements/class/gen-meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-gen-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-ref-later.js b/test/language/statements/class/gen-meth-dflt-params-ref-later.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-ref-later.js rename to test/language/statements/class/gen-meth-dflt-params-ref-later.js index ac3d735668..394235c5b6 100644 --- a/test/language/statements/class/params-gen-meth-dflt-ref-later.js +++ b/test/language/statements/class/gen-meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-gen-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-ref-prior.js b/test/language/statements/class/gen-meth-dflt-params-ref-prior.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-ref-prior.js rename to test/language/statements/class/gen-meth-dflt-params-ref-prior.js index 08187adfc4..8c723c6336 100644 --- a/test/language/statements/class/params-gen-meth-dflt-ref-prior.js +++ b/test/language/statements/class/gen-meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-ref-self.js b/test/language/statements/class/gen-meth-dflt-params-ref-self.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-ref-self.js rename to test/language/statements/class/gen-meth-dflt-params-ref-self.js index 13ebde0d5a..c4d4ca6bee 100644 --- a/test/language/statements/class/params-gen-meth-dflt-ref-self.js +++ b/test/language/statements/class/gen-meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-gen-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression method) diff --git a/test/language/statements/class/params-gen-meth-dflt-rest.js b/test/language/statements/class/gen-meth-dflt-params-rest.js similarity index 98% rename from test/language/statements/class/params-gen-meth-dflt-rest.js rename to test/language/statements/class/gen-meth-dflt-params-rest.js index 6fb84b04da..16523d9e23 100644 --- a/test/language/statements/class/params-gen-meth-dflt-rest.js +++ b/test/language/statements/class/gen-meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-gen-meth.template /*--- description: RestParameter does not support an initializer (class expression method) diff --git a/test/language/statements/class/params-gen-meth-trailing-comma-dflt-param.js b/test/language/statements/class/gen-meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/statements/class/params-gen-meth-trailing-comma-dflt-param.js rename to test/language/statements/class/gen-meth-dflt-params-trailing-comma.js index 5351dd9291..691b4d5b77 100644 --- a/test/language/statements/class/params-gen-meth-trailing-comma-dflt-param.js +++ b/test/language/statements/class/gen-meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (class expression method) diff --git a/test/language/statements/class/params-gen-meth-trailing-comma-multiple-param.js b/test/language/statements/class/gen-meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/statements/class/params-gen-meth-trailing-comma-multiple-param.js rename to test/language/statements/class/gen-meth-params-trailing-comma-multiple.js index 8d874bdcb3..113572bdee 100644 --- a/test/language/statements/class/params-gen-meth-trailing-comma-multiple-param.js +++ b/test/language/statements/class/gen-meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (class expression method) diff --git a/test/language/statements/class/params-gen-meth-trailing-comma-single-param.js b/test/language/statements/class/gen-meth-params-trailing-comma-single.js similarity index 97% rename from test/language/statements/class/params-gen-meth-trailing-comma-single-param.js rename to test/language/statements/class/gen-meth-params-trailing-comma-single.js index a1263452e0..d02f0be4c8 100644 --- a/test/language/statements/class/params-gen-meth-trailing-comma-single-param.js +++ b/test/language/statements/class/gen-meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-gen-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (class expression method) diff --git a/test/language/statements/class/params-gen-meth-trailing-comma-rest-early-error.js b/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/statements/class/params-gen-meth-trailing-comma-rest-early-error.js rename to test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js index bf104c98d4..46f85a422d 100644 --- a/test/language/statements/class/params-gen-meth-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-gen-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-abrupt.js b/test/language/statements/class/gen-meth-static-dflt-params-abrupt.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-abrupt.js rename to test/language/statements/class/gen-meth-static-dflt-params-abrupt.js index e6dd84234c..302f06d823 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-abrupt.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-gen-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-arg-val-not-undefined.js b/test/language/statements/class/gen-meth-static-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-arg-val-not-undefined.js rename to test/language/statements/class/gen-meth-static-dflt-params-arg-val-not-undefined.js index f07e043bd8..5cc3ddcc94 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: Use of intializer when argument value is not `undefined` (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-arg-val-undefined.js b/test/language/statements/class/gen-meth-static-dflt-params-arg-val-undefined.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-arg-val-undefined.js rename to test/language/statements/class/gen-meth-static-dflt-params-arg-val-undefined.js index c7bf75f103..5254273e14 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-arg-val-undefined.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: Use of intializer when argument value is `undefined` (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-duplicates.js b/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-duplicates.js rename to test/language/statements/class/gen-meth-static-dflt-params-duplicates.js index 803c6e13b5..f2625674f0 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-duplicates.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-gen-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-ref-later.js b/test/language/statements/class/gen-meth-static-dflt-params-ref-later.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-ref-later.js rename to test/language/statements/class/gen-meth-static-dflt-params-ref-later.js index 7d232ffe1c..bb681e8c4b 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-ref-later.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-gen-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-ref-prior.js b/test/language/statements/class/gen-meth-static-dflt-params-ref-prior.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-ref-prior.js rename to test/language/statements/class/gen-meth-static-dflt-params-ref-prior.js index c75ef40cc2..948c3c4a7c 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-ref-prior.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-ref-self.js b/test/language/statements/class/gen-meth-static-dflt-params-ref-self.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-ref-self.js rename to test/language/statements/class/gen-meth-static-dflt-params-ref-self.js index 7d3a0c5e18..b8495b8b0d 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-ref-self.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-gen-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-dflt-rest.js b/test/language/statements/class/gen-meth-static-dflt-params-rest.js similarity index 98% rename from test/language/statements/class/params-gen-meth-static-dflt-rest.js rename to test/language/statements/class/gen-meth-static-dflt-params-rest.js index 8c7d510950..b8a91bc8c2 100644 --- a/test/language/statements/class/params-gen-meth-static-dflt-rest.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-gen-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-trailing-comma-dflt-param.js b/test/language/statements/class/gen-meth-static-dflt-params-trailing-comma.js similarity index 97% rename from test/language/statements/class/params-gen-meth-static-trailing-comma-dflt-param.js rename to test/language/statements/class/gen-meth-static-dflt-params-trailing-comma.js index dd1359843a..1212184a9b 100644 --- a/test/language/statements/class/params-gen-meth-static-trailing-comma-dflt-param.js +++ b/test/language/statements/class/gen-meth-static-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using default parameters (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-trailing-comma-multiple-param.js b/test/language/statements/class/gen-meth-static-params-trailing-comma-multiple.js similarity index 97% rename from test/language/statements/class/params-gen-meth-static-trailing-comma-multiple-param.js rename to test/language/statements/class/gen-meth-static-params-trailing-comma-multiple.js index 6621187e18..8fe94f1ed9 100644 --- a/test/language/statements/class/params-gen-meth-static-trailing-comma-multiple-param.js +++ b/test/language/statements/class/gen-meth-static-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-trailing-comma-single-param.js b/test/language/statements/class/gen-meth-static-params-trailing-comma-single.js similarity index 97% rename from test/language/statements/class/params-gen-meth-static-trailing-comma-single-param.js rename to test/language/statements/class/gen-meth-static-params-trailing-comma-single.js index 619855a215..44986590a4 100644 --- a/test/language/statements/class/params-gen-meth-static-trailing-comma-single-param.js +++ b/test/language/statements/class/gen-meth-static-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-gen-meth-static.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (static class expression generator method) diff --git a/test/language/statements/class/params-gen-meth-static-trailing-comma-rest-early-error.js b/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/statements/class/params-gen-meth-static-trailing-comma-rest-early-error.js rename to test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js index c8136f1c1e..83f2d043fb 100644 --- a/test/language/statements/class/params-gen-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-gen-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression generator method) diff --git a/test/language/statements/class/params-meth-dflt-abrupt.js b/test/language/statements/class/meth-dflt-params-abrupt.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-abrupt.js rename to test/language/statements/class/meth-dflt-params-abrupt.js index ef260c25e9..875a18bd33 100644 --- a/test/language/statements/class/params-meth-dflt-abrupt.js +++ b/test/language/statements/class/meth-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-meth.template /*--- description: Abrupt completion returned by evaluation of initializer (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-arg-val-not-undefined.js b/test/language/statements/class/meth-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-arg-val-not-undefined.js rename to test/language/statements/class/meth-dflt-params-arg-val-not-undefined.js index 09a8b28b85..8235818609 100644 --- a/test/language/statements/class/params-meth-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/meth-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-meth.template /*--- description: Use of intializer when argument value is not `undefined` (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-arg-val-undefined.js b/test/language/statements/class/meth-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/statements/class/params-meth-dflt-arg-val-undefined.js rename to test/language/statements/class/meth-dflt-params-arg-val-undefined.js index a07d4bdcd9..4167abaf38 100644 --- a/test/language/statements/class/params-meth-dflt-arg-val-undefined.js +++ b/test/language/statements/class/meth-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-meth.template /*--- description: Use of intializer when argument value is `undefined` (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-duplicates.js b/test/language/statements/class/meth-dflt-params-duplicates.js similarity index 97% rename from test/language/statements/class/params-meth-dflt-duplicates.js rename to test/language/statements/class/meth-dflt-params-duplicates.js index 91716c3056..f0fa074939 100644 --- a/test/language/statements/class/params-meth-dflt-duplicates.js +++ b/test/language/statements/class/meth-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-meth.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-ref-later.js b/test/language/statements/class/meth-dflt-params-ref-later.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-ref-later.js rename to test/language/statements/class/meth-dflt-params-ref-later.js index 6a0cee8527..ddd5b44df2 100644 --- a/test/language/statements/class/params-meth-dflt-ref-later.js +++ b/test/language/statements/class/meth-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-meth.template /*--- description: Referencing a parameter that occurs later in the ParameterList (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-ref-prior.js b/test/language/statements/class/meth-dflt-params-ref-prior.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-ref-prior.js rename to test/language/statements/class/meth-dflt-params-ref-prior.js index 8a5eb4eacd..a5c38482de 100644 --- a/test/language/statements/class/params-meth-dflt-ref-prior.js +++ b/test/language/statements/class/meth-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-meth.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-ref-self.js b/test/language/statements/class/meth-dflt-params-ref-self.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-ref-self.js rename to test/language/statements/class/meth-dflt-params-ref-self.js index fdbbc5519d..232b5847bb 100644 --- a/test/language/statements/class/params-meth-dflt-ref-self.js +++ b/test/language/statements/class/meth-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-meth.template /*--- description: Referencing a parameter from within its own initializer (class expression method) diff --git a/test/language/statements/class/params-meth-dflt-rest.js b/test/language/statements/class/meth-dflt-params-rest.js similarity index 98% rename from test/language/statements/class/params-meth-dflt-rest.js rename to test/language/statements/class/meth-dflt-params-rest.js index 86223eb3a7..80e3f050a6 100644 --- a/test/language/statements/class/params-meth-dflt-rest.js +++ b/test/language/statements/class/meth-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-meth.template /*--- description: RestParameter does not support an initializer (class expression method) diff --git a/test/language/statements/class/params-meth-trailing-comma-dflt-param.js b/test/language/statements/class/meth-dflt-params-trailing-comma.js similarity index 97% rename from test/language/statements/class/params-meth-trailing-comma-dflt-param.js rename to test/language/statements/class/meth-dflt-params-trailing-comma.js index f421dfaf2f..b86193890e 100644 --- a/test/language/statements/class/params-meth-trailing-comma-dflt-param.js +++ b/test/language/statements/class/meth-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-meth.template /*--- description: A trailing comma should not increase the respective length, using default parameters (class expression method) diff --git a/test/language/statements/class/params-meth-trailing-comma-multiple-param.js b/test/language/statements/class/meth-params-trailing-comma-multiple.js similarity index 97% rename from test/language/statements/class/params-meth-trailing-comma-multiple-param.js rename to test/language/statements/class/meth-params-trailing-comma-multiple.js index 9298f8a45d..c081597b80 100644 --- a/test/language/statements/class/params-meth-trailing-comma-multiple-param.js +++ b/test/language/statements/class/meth-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-meth.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (class expression method) diff --git a/test/language/statements/class/params-meth-trailing-comma-single-param.js b/test/language/statements/class/meth-params-trailing-comma-single.js similarity index 97% rename from test/language/statements/class/params-meth-trailing-comma-single-param.js rename to test/language/statements/class/meth-params-trailing-comma-single.js index 6fb779a2cf..41cf799832 100644 --- a/test/language/statements/class/params-meth-trailing-comma-single-param.js +++ b/test/language/statements/class/meth-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-meth.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (class expression method) diff --git a/test/language/statements/class/params-meth-trailing-comma-rest-early-error.js b/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/statements/class/params-meth-trailing-comma-rest-early-error.js rename to test/language/statements/class/meth-rest-params-trailing-comma-early-error.js index a13b0f2f13..edbc81bd14 100644 --- a/test/language/statements/class/params-meth-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-meth.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-abrupt.js b/test/language/statements/class/meth-static-dflt-params-abrupt.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-abrupt.js rename to test/language/statements/class/meth-static-dflt-params-abrupt.js index 13b1d442ee..fe67013971 100644 --- a/test/language/statements/class/params-meth-static-dflt-abrupt.js +++ b/test/language/statements/class/meth-static-dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/cls-decl-meth-static.template /*--- description: Abrupt completion returned by evaluation of initializer (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-arg-val-not-undefined.js b/test/language/statements/class/meth-static-dflt-params-arg-val-not-undefined.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-arg-val-not-undefined.js rename to test/language/statements/class/meth-static-dflt-params-arg-val-not-undefined.js index b7ac45e474..f55b36e52d 100644 --- a/test/language/statements/class/params-meth-static-dflt-arg-val-not-undefined.js +++ b/test/language/statements/class/meth-static-dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: Use of intializer when argument value is not `undefined` (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-arg-val-undefined.js b/test/language/statements/class/meth-static-dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/statements/class/params-meth-static-dflt-arg-val-undefined.js rename to test/language/statements/class/meth-static-dflt-params-arg-val-undefined.js index 8b051c0a67..2ab1300e9c 100644 --- a/test/language/statements/class/params-meth-static-dflt-arg-val-undefined.js +++ b/test/language/statements/class/meth-static-dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: Use of intializer when argument value is `undefined` (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-duplicates.js b/test/language/statements/class/meth-static-dflt-params-duplicates.js similarity index 97% rename from test/language/statements/class/params-meth-static-dflt-duplicates.js rename to test/language/statements/class/meth-static-dflt-params-duplicates.js index ba658c7812..5e86018ecc 100644 --- a/test/language/statements/class/params-meth-static-dflt-duplicates.js +++ b/test/language/statements/class/meth-static-dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/cls-decl-meth-static.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-ref-later.js b/test/language/statements/class/meth-static-dflt-params-ref-later.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-ref-later.js rename to test/language/statements/class/meth-static-dflt-params-ref-later.js index b23f668275..d16b13a1e0 100644 --- a/test/language/statements/class/params-meth-static-dflt-ref-later.js +++ b/test/language/statements/class/meth-static-dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/cls-decl-meth-static.template /*--- description: Referencing a parameter that occurs later in the ParameterList (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-ref-prior.js b/test/language/statements/class/meth-static-dflt-params-ref-prior.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-ref-prior.js rename to test/language/statements/class/meth-static-dflt-params-ref-prior.js index 7c3748c3b0..9bcc6103fd 100644 --- a/test/language/statements/class/params-meth-static-dflt-ref-prior.js +++ b/test/language/statements/class/meth-static-dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-ref-self.js b/test/language/statements/class/meth-static-dflt-params-ref-self.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-ref-self.js rename to test/language/statements/class/meth-static-dflt-params-ref-self.js index e935e2e8df..a609f7242a 100644 --- a/test/language/statements/class/params-meth-static-dflt-ref-self.js +++ b/test/language/statements/class/meth-static-dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/cls-decl-meth-static.template /*--- description: Referencing a parameter from within its own initializer (static class expression method) diff --git a/test/language/statements/class/params-meth-static-dflt-rest.js b/test/language/statements/class/meth-static-dflt-params-rest.js similarity index 98% rename from test/language/statements/class/params-meth-static-dflt-rest.js rename to test/language/statements/class/meth-static-dflt-params-rest.js index 2303bf8e71..f8128ca870 100644 --- a/test/language/statements/class/params-meth-static-dflt-rest.js +++ b/test/language/statements/class/meth-static-dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/cls-decl-meth-static.template /*--- description: RestParameter does not support an initializer (static class expression method) diff --git a/test/language/statements/class/params-meth-static-trailing-comma-dflt-param.js b/test/language/statements/class/meth-static-dflt-params-trailing-comma.js similarity index 97% rename from test/language/statements/class/params-meth-static-trailing-comma-dflt-param.js rename to test/language/statements/class/meth-static-dflt-params-trailing-comma.js index 61227f21af..38309b406f 100644 --- a/test/language/statements/class/params-meth-static-trailing-comma-dflt-param.js +++ b/test/language/statements/class/meth-static-dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: A trailing comma should not increase the respective length, using default parameters (static class expression method) diff --git a/test/language/statements/class/params-meth-static-trailing-comma-multiple-param.js b/test/language/statements/class/meth-static-params-trailing-comma-multiple.js similarity index 97% rename from test/language/statements/class/params-meth-static-trailing-comma-multiple-param.js rename to test/language/statements/class/meth-static-params-trailing-comma-multiple.js index fff7d216f6..c685407165 100644 --- a/test/language/statements/class/params-meth-static-trailing-comma-multiple-param.js +++ b/test/language/statements/class/meth-static-params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (static class expression method) diff --git a/test/language/statements/class/params-meth-static-trailing-comma-single-param.js b/test/language/statements/class/meth-static-params-trailing-comma-single.js similarity index 97% rename from test/language/statements/class/params-meth-static-trailing-comma-single-param.js rename to test/language/statements/class/meth-static-params-trailing-comma-single.js index ddd38dd2f8..ebc60bb79f 100644 --- a/test/language/statements/class/params-meth-static-trailing-comma-single-param.js +++ b/test/language/statements/class/meth-static-params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/cls-decl-meth-static.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (static class expression method) diff --git a/test/language/statements/class/params-meth-static-trailing-comma-rest-early-error.js b/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js similarity index 97% rename from test/language/statements/class/params-meth-static-trailing-comma-rest-early-error.js rename to test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js index 996080c2f8..30d84ba960 100644 --- a/test/language/statements/class/params-meth-static-trailing-comma-rest-early-error.js +++ b/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/cls-decl-meth-static.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (static class expression method) diff --git a/test/language/statements/function/params-dflt-abrupt.js b/test/language/statements/function/dflt-params-abrupt.js similarity index 97% rename from test/language/statements/function/params-dflt-abrupt.js rename to test/language/statements/function/dflt-params-abrupt.js index be2943bea0..d269400192 100644 --- a/test/language/statements/function/params-dflt-abrupt.js +++ b/test/language/statements/function/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/func-decl.template /*--- description: Abrupt completion returned by evaluation of initializer (function declaration) diff --git a/test/language/statements/function/params-dflt-arg-val-not-undefined.js b/test/language/statements/function/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/statements/function/params-dflt-arg-val-not-undefined.js rename to test/language/statements/function/dflt-params-arg-val-not-undefined.js index 5940a3b49f..c53ad2e2dc 100644 --- a/test/language/statements/function/params-dflt-arg-val-not-undefined.js +++ b/test/language/statements/function/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/func-decl.template /*--- description: Use of intializer when argument value is not `undefined` (function declaration) diff --git a/test/language/statements/function/params-dflt-arg-val-undefined.js b/test/language/statements/function/dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/statements/function/params-dflt-arg-val-undefined.js rename to test/language/statements/function/dflt-params-arg-val-undefined.js index 94ac62b05f..6665612f1e 100644 --- a/test/language/statements/function/params-dflt-arg-val-undefined.js +++ b/test/language/statements/function/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/func-decl.template /*--- description: Use of intializer when argument value is `undefined` (function declaration) diff --git a/test/language/statements/function/params-dflt-duplicates.js b/test/language/statements/function/dflt-params-duplicates.js similarity index 97% rename from test/language/statements/function/params-dflt-duplicates.js rename to test/language/statements/function/dflt-params-duplicates.js index c6bd4d05de..e3301291aa 100644 --- a/test/language/statements/function/params-dflt-duplicates.js +++ b/test/language/statements/function/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/func-decl.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (function declaration) diff --git a/test/language/statements/function/params-dflt-ref-later.js b/test/language/statements/function/dflt-params-ref-later.js similarity index 97% rename from test/language/statements/function/params-dflt-ref-later.js rename to test/language/statements/function/dflt-params-ref-later.js index 3fac60a259..f2a0ef2d03 100644 --- a/test/language/statements/function/params-dflt-ref-later.js +++ b/test/language/statements/function/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/func-decl.template /*--- description: Referencing a parameter that occurs later in the ParameterList (function declaration) diff --git a/test/language/statements/function/params-dflt-ref-prior.js b/test/language/statements/function/dflt-params-ref-prior.js similarity index 97% rename from test/language/statements/function/params-dflt-ref-prior.js rename to test/language/statements/function/dflt-params-ref-prior.js index 4a160ca5a5..504dade308 100644 --- a/test/language/statements/function/params-dflt-ref-prior.js +++ b/test/language/statements/function/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/func-decl.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (function declaration) diff --git a/test/language/statements/function/params-dflt-ref-self.js b/test/language/statements/function/dflt-params-ref-self.js similarity index 97% rename from test/language/statements/function/params-dflt-ref-self.js rename to test/language/statements/function/dflt-params-ref-self.js index c87facdce3..65a7a124f5 100644 --- a/test/language/statements/function/params-dflt-ref-self.js +++ b/test/language/statements/function/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/func-decl.template /*--- description: Referencing a parameter from within its own initializer (function declaration) diff --git a/test/language/statements/function/params-dflt-rest.js b/test/language/statements/function/dflt-params-rest.js similarity index 97% rename from test/language/statements/function/params-dflt-rest.js rename to test/language/statements/function/dflt-params-rest.js index 0698f79808..577185b131 100644 --- a/test/language/statements/function/params-dflt-rest.js +++ b/test/language/statements/function/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/func-decl.template /*--- description: RestParameter does not support an initializer (function declaration) diff --git a/test/language/statements/function/params-trailing-comma-dflt-param.js b/test/language/statements/function/dflt-params-trailing-comma.js similarity index 96% rename from test/language/statements/function/params-trailing-comma-dflt-param.js rename to test/language/statements/function/dflt-params-trailing-comma.js index cffac9665a..61ac65498f 100644 --- a/test/language/statements/function/params-trailing-comma-dflt-param.js +++ b/test/language/statements/function/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/func-decl.template /*--- description: A trailing comma should not increase the respective length, using default parameters (function declaration) diff --git a/test/language/statements/function/params-trailing-comma-multiple-param.js b/test/language/statements/function/params-trailing-comma-multiple.js similarity index 96% rename from test/language/statements/function/params-trailing-comma-multiple-param.js rename to test/language/statements/function/params-trailing-comma-multiple.js index 1e6edb0df8..5dfed438e9 100644 --- a/test/language/statements/function/params-trailing-comma-multiple-param.js +++ b/test/language/statements/function/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/func-decl.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (function declaration) diff --git a/test/language/statements/function/params-trailing-comma-single-param.js b/test/language/statements/function/params-trailing-comma-single.js similarity index 96% rename from test/language/statements/function/params-trailing-comma-single-param.js rename to test/language/statements/function/params-trailing-comma-single.js index 1c575780a6..0cdaa47e1c 100644 --- a/test/language/statements/function/params-trailing-comma-single-param.js +++ b/test/language/statements/function/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/func-decl.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (function declaration) diff --git a/test/language/statements/function/params-trailing-comma-rest-early-error.js b/test/language/statements/function/rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/statements/function/params-trailing-comma-rest-early-error.js rename to test/language/statements/function/rest-params-trailing-comma-early-error.js index 254d616c8b..094615c259 100644 --- a/test/language/statements/function/params-trailing-comma-rest-early-error.js +++ b/test/language/statements/function/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/func-decl.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (function declaration) diff --git a/test/language/statements/generators/params-dflt-abrupt.js b/test/language/statements/generators/dflt-params-abrupt.js similarity index 97% rename from test/language/statements/generators/params-dflt-abrupt.js rename to test/language/statements/generators/dflt-params-abrupt.js index be0d0f1b79..14d99ef7b9 100644 --- a/test/language/statements/generators/params-dflt-abrupt.js +++ b/test/language/statements/generators/dflt-params-abrupt.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-abrupt.case +// - src/function-forms/dflt-params-abrupt.case // - src/function-forms/error/gen-func-decl.template /*--- description: Abrupt completion returned by evaluation of initializer (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-arg-val-not-undefined.js b/test/language/statements/generators/dflt-params-arg-val-not-undefined.js similarity index 97% rename from test/language/statements/generators/params-dflt-arg-val-not-undefined.js rename to test/language/statements/generators/dflt-params-arg-val-not-undefined.js index 82a607d1c5..f08c4a5258 100644 --- a/test/language/statements/generators/params-dflt-arg-val-not-undefined.js +++ b/test/language/statements/generators/dflt-params-arg-val-not-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-not-undefined.case +// - src/function-forms/dflt-params-arg-val-not-undefined.case // - src/function-forms/default/gen-func-decl.template /*--- description: Use of intializer when argument value is not `undefined` (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-arg-val-undefined.js b/test/language/statements/generators/dflt-params-arg-val-undefined.js similarity index 97% rename from test/language/statements/generators/params-dflt-arg-val-undefined.js rename to test/language/statements/generators/dflt-params-arg-val-undefined.js index 8270c9050d..0d50fc6835 100644 --- a/test/language/statements/generators/params-dflt-arg-val-undefined.js +++ b/test/language/statements/generators/dflt-params-arg-val-undefined.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-arg-val-undefined.case +// - src/function-forms/dflt-params-arg-val-undefined.case // - src/function-forms/default/gen-func-decl.template /*--- description: Use of intializer when argument value is `undefined` (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-duplicates.js b/test/language/statements/generators/dflt-params-duplicates.js similarity index 97% rename from test/language/statements/generators/params-dflt-duplicates.js rename to test/language/statements/generators/dflt-params-duplicates.js index dab5023306..455c19738d 100644 --- a/test/language/statements/generators/params-dflt-duplicates.js +++ b/test/language/statements/generators/dflt-params-duplicates.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-duplicates.case +// - src/function-forms/dflt-params-duplicates.case // - src/function-forms/syntax/gen-func-decl.template /*--- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-ref-later.js b/test/language/statements/generators/dflt-params-ref-later.js similarity index 97% rename from test/language/statements/generators/params-dflt-ref-later.js rename to test/language/statements/generators/dflt-params-ref-later.js index cfdb9377a5..6c351f0186 100644 --- a/test/language/statements/generators/params-dflt-ref-later.js +++ b/test/language/statements/generators/dflt-params-ref-later.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-later.case +// - src/function-forms/dflt-params-ref-later.case // - src/function-forms/error/gen-func-decl.template /*--- description: Referencing a parameter that occurs later in the ParameterList (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-ref-prior.js b/test/language/statements/generators/dflt-params-ref-prior.js similarity index 97% rename from test/language/statements/generators/params-dflt-ref-prior.js rename to test/language/statements/generators/dflt-params-ref-prior.js index 9498dcade2..39eb6654db 100644 --- a/test/language/statements/generators/params-dflt-ref-prior.js +++ b/test/language/statements/generators/dflt-params-ref-prior.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-prior.case +// - src/function-forms/dflt-params-ref-prior.case // - src/function-forms/default/gen-func-decl.template /*--- description: Referencing a parameter that occurs earlier in the ParameterList (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-ref-self.js b/test/language/statements/generators/dflt-params-ref-self.js similarity index 97% rename from test/language/statements/generators/params-dflt-ref-self.js rename to test/language/statements/generators/dflt-params-ref-self.js index c9f041bcf4..387f8db2ee 100644 --- a/test/language/statements/generators/params-dflt-ref-self.js +++ b/test/language/statements/generators/dflt-params-ref-self.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-ref-self.case +// - src/function-forms/dflt-params-ref-self.case // - src/function-forms/error/gen-func-decl.template /*--- description: Referencing a parameter from within its own initializer (generator function declaration) diff --git a/test/language/statements/generators/params-dflt-rest.js b/test/language/statements/generators/dflt-params-rest.js similarity index 97% rename from test/language/statements/generators/params-dflt-rest.js rename to test/language/statements/generators/dflt-params-rest.js index e4cafaece4..150421d26e 100644 --- a/test/language/statements/generators/params-dflt-rest.js +++ b/test/language/statements/generators/dflt-params-rest.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/dflt-rest.case +// - src/function-forms/dflt-params-rest.case // - src/function-forms/syntax/gen-func-decl.template /*--- description: RestParameter does not support an initializer (generator function declaration) diff --git a/test/language/statements/generators/params-trailing-comma-dflt-param.js b/test/language/statements/generators/dflt-params-trailing-comma.js similarity index 96% rename from test/language/statements/generators/params-trailing-comma-dflt-param.js rename to test/language/statements/generators/dflt-params-trailing-comma.js index 602c6749ff..37125ebe7f 100644 --- a/test/language/statements/generators/params-trailing-comma-dflt-param.js +++ b/test/language/statements/generators/dflt-params-trailing-comma.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-dflt-param.case +// - src/function-forms/dflt-params-trailing-comma.case // - src/function-forms/default/gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using default parameters (generator function declaration) diff --git a/test/language/statements/generators/params-trailing-comma-multiple-param.js b/test/language/statements/generators/params-trailing-comma-multiple.js similarity index 96% rename from test/language/statements/generators/params-trailing-comma-multiple-param.js rename to test/language/statements/generators/params-trailing-comma-multiple.js index 13e6370a2c..368f87868d 100644 --- a/test/language/statements/generators/params-trailing-comma-multiple-param.js +++ b/test/language/statements/generators/params-trailing-comma-multiple.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-multiple-param.case +// - src/function-forms/params-trailing-comma-multiple.case // - src/function-forms/default/gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using multiple parameters (generator function declaration) diff --git a/test/language/statements/generators/params-trailing-comma-single-param.js b/test/language/statements/generators/params-trailing-comma-single.js similarity index 96% rename from test/language/statements/generators/params-trailing-comma-single-param.js rename to test/language/statements/generators/params-trailing-comma-single.js index dcce7705ee..0627fab764 100644 --- a/test/language/statements/generators/params-trailing-comma-single-param.js +++ b/test/language/statements/generators/params-trailing-comma-single.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-single-param.case +// - src/function-forms/params-trailing-comma-single.case // - src/function-forms/default/gen-func-decl.template /*--- description: A trailing comma should not increase the respective length, using a single parameter (generator function declaration) diff --git a/test/language/statements/generators/params-trailing-comma-rest-early-error.js b/test/language/statements/generators/rest-params-trailing-comma-early-error.js similarity index 96% rename from test/language/statements/generators/params-trailing-comma-rest-early-error.js rename to test/language/statements/generators/rest-params-trailing-comma-early-error.js index 464669ec1f..b6a1753a57 100644 --- a/test/language/statements/generators/params-trailing-comma-rest-early-error.js +++ b/test/language/statements/generators/rest-params-trailing-comma-early-error.js @@ -1,5 +1,5 @@ // This file was procedurally generated from the following sources: -// - src/function-forms/trailing-comma-rest-early-error.case +// - src/function-forms/rest-params-trailing-comma-early-error.case // - src/function-forms/syntax/gen-func-decl.template /*--- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator function declaration)