From 0575d4d7a80dcadff2971a358c2a6ab8033fd81e Mon Sep 17 00:00:00 2001 From: Leo Balter <leonardo.balter@gmail.com> Date: Wed, 7 Nov 2018 18:13:15 -0500 Subject: [PATCH] Add cases for early error deleting private names --- ...xpression-private-method-accessor-get.case | 22 +++++++++++++++++++ ...xpression-private-method-accessor-set.case | 22 +++++++++++++++++++ ...l-expression-private-method-async-gen.case | 6 +++-- ...-call-expression-private-method-async.case | 6 +++-- ...te-call-expression-private-method-gen.case | 6 +++-- ...delete-call-expression-private-method.case | 6 +++-- ...-call-expression-private-no-reference.case | 20 +++++++++++++++++ ...rr-delete-call-expression-privatename.case | 5 +++-- ...xpression-private-method-accessor-get.case | 16 ++++++++++++++ ...xpression-private-method-accessor-set.case | 16 ++++++++++++++ ...r-expression-private-method-async-gen.case | 8 ++++--- ...ember-expression-private-method-async.case | 8 ++++--- ...-member-expression-private-method-gen.case | 8 ++++--- ...lete-member-expression-private-method.case | 4 +++- ...ember-expression-private-no-reference.case | 12 ++++++++++ ...-delete-member-expression-privatename.case | 5 +++-- 16 files changed, 148 insertions(+), 22 deletions(-) create mode 100644 src/class-elements/err-delete-call-expression-private-method-accessor-get.case create mode 100644 src/class-elements/err-delete-call-expression-private-method-accessor-set.case create mode 100644 src/class-elements/err-delete-call-expression-private-no-reference.case create mode 100644 src/class-elements/err-delete-member-expression-private-method-accessor-get.case create mode 100644 src/class-elements/err-delete-member-expression-private-method-accessor-set.case create mode 100644 src/class-elements/err-delete-member-expression-private-no-reference.case diff --git a/src/class-elements/err-delete-call-expression-private-method-accessor-get.case b/src/class-elements/err-delete-call-expression-private-method-accessor-get.case new file mode 100644 index 0000000000..04c72122a4 --- /dev/null +++ b/src/class-elements/err-delete-call-expression-private-method-accessor-get.case @@ -0,0 +1,22 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + accessor get method +template: delete-error +features: [class-methods-private, class-fields-public] +---*/ + +//- infieldsetup +g = this.f; +//- infunctionsetup +var g = this.f; +//- expression +g().#m +//- functiondeclaration +f() { +return this; +} +get #m() {} \ No newline at end of file diff --git a/src/class-elements/err-delete-call-expression-private-method-accessor-set.case b/src/class-elements/err-delete-call-expression-private-method-accessor-set.case new file mode 100644 index 0000000000..ea6458151e --- /dev/null +++ b/src/class-elements/err-delete-call-expression-private-method-accessor-set.case @@ -0,0 +1,22 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + accessor set method +template: delete-error +features: [class, class-fields-private, class-methods-private, class-fields-public] +---*/ + +//- infieldsetup +g = this.f; +//- infunctionsetup +var g = this.f; +//- expression +g().#m +//- functiondeclaration +f() { +return this; +} +set #m(arg) {} \ No newline at end of file diff --git a/src/class-elements/err-delete-call-expression-private-method-async-gen.case b/src/class-elements/err-delete-call-expression-private-method-async-gen.case index 76ca4b50ab..74eed5f647 100644 --- a/src/class-elements/err-delete-call-expression-private-method-async-gen.case +++ b/src/class-elements/err-delete-call-expression-private-method-async-gen.case @@ -2,9 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + async generator template: delete-error -features: [class, class-fields-private, class-methods-private, class-fields-public] +features: [class-methods-private, async-iteration] ---*/ //- infieldsetup diff --git a/src/class-elements/err-delete-call-expression-private-method-async.case b/src/class-elements/err-delete-call-expression-private-method-async.case index 43a93be491..af2d7ca56f 100644 --- a/src/class-elements/err-delete-call-expression-private-method-async.case +++ b/src/class-elements/err-delete-call-expression-private-method-async.case @@ -2,9 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + async method template: delete-error -features: [class, class-fields-private, class-methods-private, class-fields-public] +features: [class-methods-private, async-functions] ---*/ //- infieldsetup diff --git a/src/class-elements/err-delete-call-expression-private-method-gen.case b/src/class-elements/err-delete-call-expression-private-method-gen.case index 28d878c593..b264571e8c 100644 --- a/src/class-elements/err-delete-call-expression-private-method-gen.case +++ b/src/class-elements/err-delete-call-expression-private-method-gen.case @@ -2,9 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + generator template: delete-error -features: [class, class-fields-private, class-methods-private, class-fields-public] +features: [class-methods-private, generators] ---*/ //- infieldsetup diff --git a/src/class-elements/err-delete-call-expression-private-method.case b/src/class-elements/err-delete-call-expression-private-method.case index e542575dd0..7a70217282 100644 --- a/src/class-elements/err-delete-call-expression-private-method.case +++ b/src/class-elements/err-delete-call-expression-private-method.case @@ -2,9 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + private ordinary method template: delete-error -features: [class, class-fields-private, class-methods-private, class-fields-public] +features: [class-methods-private] ---*/ //- infieldsetup diff --git a/src/class-elements/err-delete-call-expression-private-no-reference.case b/src/class-elements/err-delete-call-expression-private-no-reference.case new file mode 100644 index 0000000000..6ae6b52c5b --- /dev/null +++ b/src/class-elements/err-delete-call-expression-private-no-reference.case @@ -0,0 +1,20 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + no referencing class element +template: delete-error +---*/ + +//- infieldsetup +g = this.f; +//- infunctionsetup +var g = this.f; +//- expression +g().#m +//- functiondeclaration +f() { +return this; +} diff --git a/src/class-elements/err-delete-call-expression-privatename.case b/src/class-elements/err-delete-call-expression-privatename.case index 22918e62df..25e1339120 100644 --- a/src/class-elements/err-delete-call-expression-privatename.case +++ b/src/class-elements/err-delete-call-expression-privatename.case @@ -2,9 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to CallExpression.PrivateName + private field template: delete-error -features: [class, class-fields-private, class-fields-public] ---*/ //- infieldsetup diff --git a/src/class-elements/err-delete-member-expression-private-method-accessor-get.case b/src/class-elements/err-delete-member-expression-private-method-accessor-get.case new file mode 100644 index 0000000000..925f160ad5 --- /dev/null +++ b/src/class-elements/err-delete-member-expression-private-method-accessor-get.case @@ -0,0 +1,16 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + accessor get method +template: delete-error +features: [class-methods-private] +---*/ + +//- expression +this.#m + +//- functiondeclaration +get #m() {} \ No newline at end of file diff --git a/src/class-elements/err-delete-member-expression-private-method-accessor-set.case b/src/class-elements/err-delete-member-expression-private-method-accessor-set.case new file mode 100644 index 0000000000..e6cbd4760a --- /dev/null +++ b/src/class-elements/err-delete-member-expression-private-method-accessor-set.case @@ -0,0 +1,16 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + accessor set method +template: delete-error +features: [class-methods-private] +---*/ + +//- expression +this.#m + +//- functiondeclaration +set #m(arg) {} \ No newline at end of file diff --git a/src/class-elements/err-delete-member-expression-private-method-async-gen.case b/src/class-elements/err-delete-member-expression-private-method-async-gen.case index 3f8763f3ec..e45c88d826 100644 --- a/src/class-elements/err-delete-member-expression-private-method-async-gen.case +++ b/src/class-elements/err-delete-member-expression-private-method-async-gen.case @@ -2,13 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + async generator template: delete-error -features: [class-methods-private] +features: [class-methods-private, async-iteration] ---*/ //- expression this.#m //- functiondeclaration -async *#m() {} \ No newline at end of file +async *#m() {} diff --git a/src/class-elements/err-delete-member-expression-private-method-async.case b/src/class-elements/err-delete-member-expression-private-method-async.case index e42336f700..05f5689515 100644 --- a/src/class-elements/err-delete-member-expression-private-method-async.case +++ b/src/class-elements/err-delete-member-expression-private-method-async.case @@ -2,13 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + async method template: delete-error -features: [class-methods-private] +features: [class-methods-private, async-functions] ---*/ //- expression this.#m //- functiondeclaration -async #m() {} \ No newline at end of file +async #m() {} diff --git a/src/class-elements/err-delete-member-expression-private-method-gen.case b/src/class-elements/err-delete-member-expression-private-method-gen.case index 7eb0fafe87..4209e1efd1 100644 --- a/src/class-elements/err-delete-member-expression-private-method-gen.case +++ b/src/class-elements/err-delete-member-expression-private-method-gen.case @@ -2,13 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + generator template: delete-error -features: [class-methods-private] +features: [class-methods-private, generators] ---*/ //- expression this.#m //- functiondeclaration -*#m() {} \ No newline at end of file +*#m() {} diff --git a/src/class-elements/err-delete-member-expression-private-method.case b/src/class-elements/err-delete-member-expression-private-method.case index b7dbe03f0a..9b13b6288b 100644 --- a/src/class-elements/err-delete-member-expression-private-method.case +++ b/src/class-elements/err-delete-member-expression-private-method.case @@ -2,7 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + private ordinary method template: delete-error features: [class-methods-private] ---*/ diff --git a/src/class-elements/err-delete-member-expression-private-no-reference.case b/src/class-elements/err-delete-member-expression-private-no-reference.case new file mode 100644 index 0000000000..d22678b02e --- /dev/null +++ b/src/class-elements/err-delete-member-expression-private-no-reference.case @@ -0,0 +1,12 @@ +// Copyright (C) 2018 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + no referencing class element +template: delete-error +---*/ + +//- expression +this.#m diff --git a/src/class-elements/err-delete-member-expression-privatename.case b/src/class-elements/err-delete-member-expression-privatename.case index 6b6a0e0963..0bc0bbd16e 100644 --- a/src/class-elements/err-delete-member-expression-privatename.case +++ b/src/class-elements/err-delete-member-expression-privatename.case @@ -2,9 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName +desc: > + It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName + private field template: delete-error -features: [class-fields-private] ---*/ //- expression -- GitLab