mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-12 20:01:02 -05:00
Tests:more JS static property assignments
export default fails right now; I haven't got it to work and it's not in dev tools, so I don't know if it's worth the effort.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
tests/cases/conformance/salsa/b.js(2,4): error TS2339: Property 'bar' does not exist on type '() => void'.
|
||||
tests/cases/conformance/salsa/b.js(3,12): error TS2503: Cannot find namespace 'MC'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/salsa/a.js (0 errors) ====
|
||||
export default function MyClass() {
|
||||
}
|
||||
MyClass.bar = class C {
|
||||
}
|
||||
MyClass.bar
|
||||
|
||||
==== tests/cases/conformance/salsa/b.js (2 errors) ====
|
||||
import MC from './a'
|
||||
MC.bar
|
||||
~~~
|
||||
!!! error TS2339: Property 'bar' does not exist on type '() => void'.
|
||||
/** @type {MC.bar} */
|
||||
~~
|
||||
!!! error TS2503: Cannot find namespace 'MC'.
|
||||
var x
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
export default function MyClass() {
|
||||
>MyClass : Symbol(MyClass, Decl(a.js, 0, 0))
|
||||
}
|
||||
MyClass.bar = class C {
|
||||
>MyClass : Symbol(MyClass, Decl(a.js, 0, 0))
|
||||
>C : Symbol(C, Decl(a.js, 2, 13))
|
||||
}
|
||||
MyClass.bar
|
||||
>MyClass : Symbol(MyClass, Decl(a.js, 0, 0))
|
||||
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
import MC from './a'
|
||||
>MC : Symbol(MC, Decl(b.js, 0, 6))
|
||||
|
||||
MC.bar
|
||||
>MC : Symbol(MC, Decl(b.js, 0, 6))
|
||||
|
||||
/** @type {MC.bar} */
|
||||
var x
|
||||
>x : Symbol(x, Decl(b.js, 3, 3))
|
||||
|
||||
30
tests/baselines/reference/typeFromPropertyAssignment5.types
Normal file
30
tests/baselines/reference/typeFromPropertyAssignment5.types
Normal file
@@ -0,0 +1,30 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
export default function MyClass() {
|
||||
>MyClass : () => void
|
||||
}
|
||||
MyClass.bar = class C {
|
||||
>MyClass.bar = class C {} : typeof C
|
||||
>MyClass.bar : any
|
||||
>MyClass : any
|
||||
>bar : any
|
||||
>class C {} : typeof C
|
||||
>C : typeof C
|
||||
}
|
||||
MyClass.bar
|
||||
>MyClass.bar : any
|
||||
>MyClass : any
|
||||
>bar : any
|
||||
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
import MC from './a'
|
||||
>MC : () => void
|
||||
|
||||
MC.bar
|
||||
>MC.bar : any
|
||||
>MC : () => void
|
||||
>bar : any
|
||||
|
||||
/** @type {MC.bar} */
|
||||
var x
|
||||
>x : any
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var Outer = class { }
|
||||
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 21), Decl(a.js, 3, 1))
|
||||
|
||||
Outer.Inner = class {
|
||||
>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 21))
|
||||
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 21), Decl(a.js, 3, 1))
|
||||
>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 21))
|
||||
|
||||
messages() { return [] }
|
||||
>messages : Symbol((Anonymous class).messages, Decl(a.js, 1, 21))
|
||||
}
|
||||
/** @type {!Outer.Inner} */
|
||||
Outer.i
|
||||
>Outer.i : Symbol(Outer.i, Decl(a.js, 3, 1))
|
||||
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 21), Decl(a.js, 3, 1))
|
||||
>i : Symbol(Outer.i, Decl(a.js, 3, 1))
|
||||
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
var msgs = Outer.i.messages()
|
||||
>msgs : Symbol(msgs, Decl(b.js, 0, 3))
|
||||
>Outer.i.messages : Symbol((Anonymous class).messages, Decl(a.js, 1, 21))
|
||||
>Outer.i : Symbol(Outer.i, Decl(a.js, 3, 1))
|
||||
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 21), Decl(a.js, 3, 1))
|
||||
>i : Symbol(Outer.i, Decl(a.js, 3, 1))
|
||||
>messages : Symbol((Anonymous class).messages, Decl(a.js, 1, 21))
|
||||
|
||||
32
tests/baselines/reference/typeFromPropertyAssignment6.types
Normal file
32
tests/baselines/reference/typeFromPropertyAssignment6.types
Normal file
@@ -0,0 +1,32 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var Outer = class { }
|
||||
>Outer : typeof Outer
|
||||
>class { } : typeof Outer
|
||||
|
||||
Outer.Inner = class {
|
||||
>Outer.Inner = class { messages() { return [] }} : typeof (Anonymous class)
|
||||
>Outer.Inner : typeof (Anonymous class)
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof (Anonymous class)
|
||||
>class { messages() { return [] }} : typeof (Anonymous class)
|
||||
|
||||
messages() { return [] }
|
||||
>messages : () => any[]
|
||||
>[] : undefined[]
|
||||
}
|
||||
/** @type {!Outer.Inner} */
|
||||
Outer.i
|
||||
>Outer.i : (Anonymous class)
|
||||
>Outer : typeof Outer
|
||||
>i : (Anonymous class)
|
||||
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
var msgs = Outer.i.messages()
|
||||
>msgs : any[]
|
||||
>Outer.i.messages() : any[]
|
||||
>Outer.i.messages : () => any[]
|
||||
>Outer.i : (Anonymous class)
|
||||
>Outer : typeof Outer
|
||||
>i : (Anonymous class)
|
||||
>messages : () => any[]
|
||||
|
||||
@@ -1773,15 +1773,11 @@ node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(150,44): error TS2694: Namespace '"/home/nathansa/ts/tests/cases/user/chrome-devtools-frontend/node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer".CriticalRequestChainRenderer' has no exported member 'CRCDetailsJSON'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(158,9): error TS2304: Cannot find name 'Util'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(161,9): error TS2304: Cannot find name 'Util'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(182,3): error TS2309: An export assignment cannot be used in a module with other exported elements.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(184,8): error TS2339: Property 'CriticalRequestChainRenderer' does not exist on type 'Window'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(188,2): error TS1131: Property or signature expected.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(194,30): error TS2339: Property 'CRCDetailsJSON' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(197,2): error TS1131: Property or signature expected.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(204,30): error TS2339: Property 'CRCRequest' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(211,30): error TS2339: Property 'CRCNode' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(214,30): error TS2339: Property 'CRCNode' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(217,30): error TS2339: Property 'CRCNode' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(220,2): error TS1131: Property or signature expected.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/crc-details-renderer.js(228,30): error TS2339: Property 'CRCSegment' does not exist on type 'typeof CriticalRequestChainRenderer'.
|
||||
node_modules/chrome-devtools-frontend/front_end/audits2/lighthouse/renderer/details-renderer.js(12,15): error TS2304: Cannot find name 'DOM'.
|
||||
|
||||
16
tests/cases/conformance/salsa/typeFromPropertyAssignment5.ts
Normal file
16
tests/cases/conformance/salsa/typeFromPropertyAssignment5.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// @noEmit: true
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @Filename: a.js
|
||||
// @target: es6
|
||||
export default function MyClass() {
|
||||
}
|
||||
MyClass.bar = class C {
|
||||
}
|
||||
MyClass.bar
|
||||
|
||||
// @Filename: b.js
|
||||
import MC from './a'
|
||||
MC.bar
|
||||
/** @type {MC.bar} */
|
||||
var x
|
||||
14
tests/cases/conformance/salsa/typeFromPropertyAssignment6.ts
Normal file
14
tests/cases/conformance/salsa/typeFromPropertyAssignment6.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
// @noEmit: true
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @Filename: a.js
|
||||
// @target: es6
|
||||
var Outer = class { }
|
||||
Outer.Inner = class {
|
||||
messages() { return [] }
|
||||
}
|
||||
/** @type {!Outer.Inner} */
|
||||
Outer.i
|
||||
|
||||
// @Filename: b.js
|
||||
var msgs = Outer.i.messages()
|
||||
@@ -7,6 +7,7 @@
|
||||
"types": []
|
||||
},
|
||||
"include": [
|
||||
"./node_modules/chrome-devtools-frontend/front_end/**/*.js"
|
||||
"./node_modules/chrome-devtools-frontend/front_end/**/*.js",
|
||||
"definitions.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user