Skip to content

Commit 8ea8044

Browse files
add new tests and accept baselines
1 parent 2e8bbf0 commit 8ea8044

18 files changed

+607
-5
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
tests/cases/conformance/async/es2017/await_unaryExpression_es2017_1.ts(7,12): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/async/es2017/await_unaryExpression_es2017_1.ts(11,12): error TS2698: The operand of a delete operator must be a property reference
3+
4+
5+
==== tests/cases/conformance/async/es2017/await_unaryExpression_es2017_1.ts (2 errors) ====
6+
7+
async function bar() {
8+
!await 42; // OK
9+
}
10+
11+
async function bar1() {
12+
delete await 42; // OK
13+
~~~~~~~~
14+
!!! error TS2698: The operand of a delete operator must be a property reference
15+
}
16+
17+
async function bar2() {
18+
delete await 42; // OK
19+
~~~~~~~~
20+
!!! error TS2698: The operand of a delete operator must be a property reference
21+
}
22+
23+
async function bar3() {
24+
void await 42;
25+
}
26+
27+
async function bar4() {
28+
+await 42;
29+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
tests/cases/conformance/async/es2017/await_unaryExpression_es2017_2.ts(3,12): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/async/es2017/await_unaryExpression_es2017_2.ts(7,12): error TS2698: The operand of a delete operator must be a property reference
3+
4+
5+
==== tests/cases/conformance/async/es2017/await_unaryExpression_es2017_2.ts (2 errors) ====
6+
7+
async function bar1() {
8+
delete await 42;
9+
~~~~~~~~
10+
!!! error TS2698: The operand of a delete operator must be a property reference
11+
}
12+
13+
async function bar2() {
14+
delete await 42;
15+
~~~~~~~~
16+
!!! error TS2698: The operand of a delete operator must be a property reference
17+
}
18+
19+
async function bar3() {
20+
void await 42;
21+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
tests/cases/conformance/async/es6/await_unaryExpression_es6_1.ts(7,12): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/async/es6/await_unaryExpression_es6_1.ts(11,12): error TS2698: The operand of a delete operator must be a property reference
3+
4+
5+
==== tests/cases/conformance/async/es6/await_unaryExpression_es6_1.ts (2 errors) ====
6+
7+
async function bar() {
8+
!await 42; // OK
9+
}
10+
11+
async function bar1() {
12+
delete await 42; // OK
13+
~~~~~~~~
14+
!!! error TS2698: The operand of a delete operator must be a property reference
15+
}
16+
17+
async function bar2() {
18+
delete await 42; // OK
19+
~~~~~~~~
20+
!!! error TS2698: The operand of a delete operator must be a property reference
21+
}
22+
23+
async function bar3() {
24+
void await 42;
25+
}
26+
27+
async function bar4() {
28+
+await 42;
29+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
tests/cases/conformance/async/es6/await_unaryExpression_es6_2.ts(3,12): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/async/es6/await_unaryExpression_es6_2.ts(7,12): error TS2698: The operand of a delete operator must be a property reference
3+
4+
5+
==== tests/cases/conformance/async/es6/await_unaryExpression_es6_2.ts (2 errors) ====
6+
7+
async function bar1() {
8+
delete await 42;
9+
~~~~~~~~
10+
!!! error TS2698: The operand of a delete operator must be a property reference
11+
}
12+
13+
async function bar2() {
14+
delete await 42;
15+
~~~~~~~~
16+
!!! error TS2698: The operand of a delete operator must be a property reference
17+
}
18+
19+
async function bar3() {
20+
void await 42;
21+
}

tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
1+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(27,31): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(28,31): error TS2698: The operand of a delete operator must be a property reference
3+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(33,31): error TS2698: The operand of a delete operator must be a property reference
4+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(34,31): error TS2698: The operand of a delete operator must be a property reference
5+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(42,32): error TS2698: The operand of a delete operator must be a property reference
6+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(43,32): error TS2698: The operand of a delete operator must be a property reference
7+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(44,32): error TS2698: The operand of a delete operator must be a property reference
8+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(45,32): error TS2698: The operand of a delete operator must be a property reference
19
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(45,33): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
10+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(46,32): error TS2698: The operand of a delete operator must be a property reference
211
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(46,33): error TS2365: Operator '+' cannot be applied to types 'null' and 'null'.
12+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(47,32): error TS2698: The operand of a delete operator must be a property reference
313
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(47,33): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
14+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(50,32): error TS2698: The operand of a delete operator must be a property reference
15+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(51,32): error TS2698: The operand of a delete operator must be a property reference
16+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(51,39): error TS2698: The operand of a delete operator must be a property reference
17+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts(51,46): error TS2698: The operand of a delete operator must be a property reference
418

519

6-
==== tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts (3 errors) ====
20+
==== tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts (17 errors) ====
721
// delete operator on any type
822

923
var ANY: any;
@@ -31,13 +45,21 @@ tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperator
3145
var ResultIsBoolean1 = delete ANY1;
3246
var ResultIsBoolean2 = delete ANY2;
3347
var ResultIsBoolean3 = delete A;
48+
~
49+
!!! error TS2698: The operand of a delete operator must be a property reference
3450
var ResultIsBoolean4 = delete M;
51+
~
52+
!!! error TS2698: The operand of a delete operator must be a property reference
3553
var ResultIsBoolean5 = delete obj;
3654
var ResultIsBoolean6 = delete obj1;
3755

3856
// any type literal
3957
var ResultIsBoolean7 = delete undefined;
58+
~~~~~~~~~
59+
!!! error TS2698: The operand of a delete operator must be a property reference
4060
var ResultIsBoolean8 = delete null;
61+
~~~~
62+
!!! error TS2698: The operand of a delete operator must be a property reference
4163

4264
// any type expressions
4365
var ResultIsBoolean9 = delete ANY2[0];
@@ -46,21 +68,41 @@ tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperator
4668
var ResultIsBoolean12 = delete objA.a;
4769
var ResultIsBoolean13 = delete M.n;
4870
var ResultIsBoolean14 = delete foo();
71+
~~~~~
72+
!!! error TS2698: The operand of a delete operator must be a property reference
4973
var ResultIsBoolean15 = delete A.foo();
74+
~~~~~~~
75+
!!! error TS2698: The operand of a delete operator must be a property reference
5076
var ResultIsBoolean16 = delete (ANY + ANY1);
77+
~~~~~~~~~~~~
78+
!!! error TS2698: The operand of a delete operator must be a property reference
5179
var ResultIsBoolean17 = delete (null + undefined);
80+
~~~~~~~~~~~~~~~~~~
81+
!!! error TS2698: The operand of a delete operator must be a property reference
5282
~~~~~~~~~~~~~~~~
5383
!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
5484
var ResultIsBoolean18 = delete (null + null);
85+
~~~~~~~~~~~~~
86+
!!! error TS2698: The operand of a delete operator must be a property reference
5587
~~~~~~~~~~~
5688
!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'null'.
5789
var ResultIsBoolean19 = delete (undefined + undefined);
90+
~~~~~~~~~~~~~~~~~~~~~~~
91+
!!! error TS2698: The operand of a delete operator must be a property reference
5892
~~~~~~~~~~~~~~~~~~~~~
5993
!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
6094

6195
// multiple delete operators
6296
var ResultIsBoolean20 = delete delete ANY;
97+
~~~~~~~~~~
98+
!!! error TS2698: The operand of a delete operator must be a property reference
6399
var ResultIsBoolean21 = delete delete delete (ANY + ANY1);
100+
~~~~~~~~~~~~~~~~~~~~~~~~~~
101+
!!! error TS2698: The operand of a delete operator must be a property reference
102+
~~~~~~~~~~~~~~~~~~~
103+
!!! error TS2698: The operand of a delete operator must be a property reference
104+
~~~~~~~~~~~~
105+
!!! error TS2698: The operand of a delete operator must be a property reference
64106

65107
// miss assignment operators
66108
delete ANY;
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(20,31): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(21,31): error TS2698: The operand of a delete operator must be a property reference
3+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(26,31): error TS2698: The operand of a delete operator must be a property reference
4+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(27,31): error TS2698: The operand of a delete operator must be a property reference
5+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(30,31): error TS2698: The operand of a delete operator must be a property reference
6+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(33,8): error TS2698: The operand of a delete operator must be a property reference
7+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(35,8): error TS2698: The operand of a delete operator must be a property reference
8+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts(36,8): error TS2698: The operand of a delete operator must be a property reference
9+
10+
11+
==== tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts (8 errors) ====
12+
// delete operator on boolean type
13+
var BOOLEAN: boolean;
14+
15+
function foo(): boolean { return true; }
16+
17+
class A {
18+
public a: boolean;
19+
static foo() { return false; }
20+
}
21+
module M {
22+
export var n: boolean;
23+
}
24+
25+
var objA = new A();
26+
27+
// boolean type var
28+
var ResultIsBoolean1 = delete BOOLEAN;
29+
30+
// boolean type literal
31+
var ResultIsBoolean2 = delete true;
32+
~~~~
33+
!!! error TS2698: The operand of a delete operator must be a property reference
34+
var ResultIsBoolean3 = delete { x: true, y: false };
35+
~~~~~~~~~~~~~~~~~~~~~
36+
!!! error TS2698: The operand of a delete operator must be a property reference
37+
38+
// boolean type expressions
39+
var ResultIsBoolean4 = delete objA.a;
40+
var ResultIsBoolean5 = delete M.n;
41+
var ResultIsBoolean6 = delete foo();
42+
~~~~~
43+
!!! error TS2698: The operand of a delete operator must be a property reference
44+
var ResultIsBoolean7 = delete A.foo();
45+
~~~~~~~
46+
!!! error TS2698: The operand of a delete operator must be a property reference
47+
48+
// multiple delete operator
49+
var ResultIsBoolean8 = delete delete BOOLEAN;
50+
~~~~~~~~~~~~~~
51+
!!! error TS2698: The operand of a delete operator must be a property reference
52+
53+
// miss assignment operators
54+
delete true;
55+
~~~~
56+
!!! error TS2698: The operand of a delete operator must be a property reference
57+
delete BOOLEAN;
58+
delete foo();
59+
~~~~~
60+
!!! error TS2698: The operand of a delete operator must be a property reference
61+
delete true, false;
62+
~~~~
63+
!!! error TS2698: The operand of a delete operator must be a property reference
64+
delete objA.a;
65+
delete M.n;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(7,31): error TS2698: The operand of a delete operator must be a property reference
2+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(8,31): error TS2698: The operand of a delete operator must be a property reference
3+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(11,31): error TS2699: The operand of a delete operator cannot be a read-only property
4+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(12,31): error TS2698: The operand of a delete operator must be a property reference
5+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(15,31): error TS2698: The operand of a delete operator must be a property reference
6+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(15,38): error TS2698: The operand of a delete operator must be a property reference
7+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(16,31): error TS2698: The operand of a delete operator must be a property reference
8+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(16,38): error TS2698: The operand of a delete operator must be a property reference
9+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(16,45): error TS2698: The operand of a delete operator must be a property reference
10+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(19,8): error TS2698: The operand of a delete operator must be a property reference
11+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(20,8): error TS2698: The operand of a delete operator must be a property reference
12+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(21,8): error TS2699: The operand of a delete operator cannot be a read-only property
13+
tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts(22,8): error TS2698: The operand of a delete operator must be a property reference
14+
15+
16+
==== tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts (13 errors) ====
17+
// delete operator on enum type
18+
19+
enum ENUM { };
20+
enum ENUM1 { A, B, "" };
21+
22+
// enum type var
23+
var ResultIsBoolean1 = delete ENUM;
24+
~~~~
25+
!!! error TS2698: The operand of a delete operator must be a property reference
26+
var ResultIsBoolean2 = delete ENUM1;
27+
~~~~~
28+
!!! error TS2698: The operand of a delete operator must be a property reference
29+
30+
// enum type expressions
31+
var ResultIsBoolean3 = delete ENUM1["A"];
32+
~~~~~~~~~~
33+
!!! error TS2699: The operand of a delete operator cannot be a read-only property
34+
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1["B"]);
35+
~~~~~~~~~~~~~~~~~~~~~~
36+
!!! error TS2698: The operand of a delete operator must be a property reference
37+
38+
// multiple delete operators
39+
var ResultIsBoolean5 = delete delete ENUM;
40+
~~~~~~~~~~~
41+
!!! error TS2698: The operand of a delete operator must be a property reference
42+
~~~~
43+
!!! error TS2698: The operand of a delete operator must be a property reference
44+
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
45+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46+
!!! error TS2698: The operand of a delete operator must be a property reference
47+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48+
!!! error TS2698: The operand of a delete operator must be a property reference
49+
~~~~~~~~~~~~~~~~~~~~~~
50+
!!! error TS2698: The operand of a delete operator must be a property reference
51+
52+
// miss assignment operators
53+
delete ENUM;
54+
~~~~
55+
!!! error TS2698: The operand of a delete operator must be a property reference
56+
delete ENUM1;
57+
~~~~~
58+
!!! error TS2698: The operand of a delete operator must be a property reference
59+
delete ENUM1.B;
60+
~~~~~~~
61+
!!! error TS2699: The operand of a delete operator cannot be a read-only property
62+
delete ENUM, ENUM1;
63+
~~~~
64+
!!! error TS2698: The operand of a delete operator must be a property reference

0 commit comments

Comments
 (0)