mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-19 10:41:56 -05:00
Check that Symbol properties are proper, and support downlevel type checking
This commit is contained in:
11
tests/cases/conformance/Symbols/ES5SymbolProperty1.ts
Normal file
11
tests/cases/conformance/Symbols/ES5SymbolProperty1.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
//@target: ES5
|
||||
interface SymbolConstructor {
|
||||
foo: string;
|
||||
}
|
||||
var Symbol: SymbolConstructor;
|
||||
|
||||
var obj = {
|
||||
[Symbol.foo]: 0
|
||||
}
|
||||
|
||||
obj[Symbol.foo];
|
||||
11
tests/cases/conformance/Symbols/ES5SymbolProperty2.ts
Normal file
11
tests/cases/conformance/Symbols/ES5SymbolProperty2.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
//@target: ES5
|
||||
module M {
|
||||
var Symbol;
|
||||
|
||||
export class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
(new C)[Symbol.iterator];
|
||||
}
|
||||
|
||||
(new M.C)[Symbol.iterator];
|
||||
8
tests/cases/conformance/Symbols/ES5SymbolProperty3.ts
Normal file
8
tests/cases/conformance/Symbols/ES5SymbolProperty3.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
//@target: ES5
|
||||
var Symbol;
|
||||
|
||||
class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
|
||||
(new C)[Symbol.iterator]
|
||||
8
tests/cases/conformance/Symbols/ES5SymbolProperty4.ts
Normal file
8
tests/cases/conformance/Symbols/ES5SymbolProperty4.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
//@target: ES5
|
||||
var Symbol: { iterator: string };
|
||||
|
||||
class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
|
||||
(new C)[Symbol.iterator]
|
||||
8
tests/cases/conformance/Symbols/ES5SymbolProperty5.ts
Normal file
8
tests/cases/conformance/Symbols/ES5SymbolProperty5.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
//@target: ES5
|
||||
var Symbol: { iterator: symbol };
|
||||
|
||||
class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
|
||||
(new C)[Symbol.iterator](0) // Should error
|
||||
6
tests/cases/conformance/Symbols/ES5SymbolProperty6.ts
Normal file
6
tests/cases/conformance/Symbols/ES5SymbolProperty6.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
//@target: ES5
|
||||
class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
|
||||
(new C)[Symbol.iterator]
|
||||
8
tests/cases/conformance/Symbols/ES5SymbolProperty7.ts
Normal file
8
tests/cases/conformance/Symbols/ES5SymbolProperty7.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
//@target: ES5
|
||||
var Symbol: { iterator: any };
|
||||
|
||||
class C {
|
||||
[Symbol.iterator]() { }
|
||||
}
|
||||
|
||||
(new C)[Symbol.iterator]
|
||||
3
tests/cases/conformance/Symbols/ES5SymbolType1.ts
Normal file
3
tests/cases/conformance/Symbols/ES5SymbolType1.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
//@target: ES5
|
||||
var s: symbol;
|
||||
s.toString();
|
||||
8
tests/cases/conformance/es6/Symbols/symbolProperty58.ts
Normal file
8
tests/cases/conformance/es6/Symbols/symbolProperty58.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
//@target: ES6
|
||||
interface SymbolConstructor {
|
||||
foo: string;
|
||||
}
|
||||
|
||||
var obj = {
|
||||
[Symbol.foo]: 0
|
||||
}
|
||||
Reference in New Issue
Block a user