mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-30 10:29:18 -05:00
Test:basic var x = x || {} support in JS
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
// TODO: JSDoc would provide a contextual type, so ... I should test that
|
||||
// TODO: Try initializer of function or class I guess (though classes aren't context sensitive)
|
||||
var my = my || {};
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
|
||||
my.m = function() {
|
||||
>my.m : Symbol(m, Decl(a.js, 2, 18))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>m : Symbol(m, Decl(a.js, 2, 18))
|
||||
|
||||
return 1;
|
||||
}
|
||||
my.p = {};
|
||||
>my.p : Symbol(p, Decl(a.js, 5, 1))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>p : Symbol(p, Decl(a.js, 5, 1))
|
||||
|
||||
my.n = 1;
|
||||
>my.n : Symbol(n, Decl(a.js, 6, 10))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>n : Symbol(n, Decl(a.js, 6, 10))
|
||||
|
||||
my.m
|
||||
>my.m : Symbol(m, Decl(a.js, 2, 18))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>m : Symbol(m, Decl(a.js, 2, 18))
|
||||
|
||||
my.p
|
||||
>my.p : Symbol(p, Decl(a.js, 5, 1))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>p : Symbol(p, Decl(a.js, 5, 1))
|
||||
|
||||
my.n
|
||||
>my.n : Symbol(n, Decl(a.js, 6, 10))
|
||||
>my : Symbol(my, Decl(a.js, 2, 3), Decl(a.js, 2, 18))
|
||||
>n : Symbol(n, Decl(a.js, 6, 10))
|
||||
|
||||
48
tests/baselines/reference/typeFromPropertyAssignment9.types
Normal file
48
tests/baselines/reference/typeFromPropertyAssignment9.types
Normal file
@@ -0,0 +1,48 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
// TODO: JSDoc would provide a contextual type, so ... I should test that
|
||||
// TODO: Try initializer of function or class I guess (though classes aren't context sensitive)
|
||||
var my = my || {};
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>my || {} : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>{} : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
|
||||
my.m = function() {
|
||||
>my.m = function() { return 1;} : () => number
|
||||
>my.m : () => number
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>m : () => number
|
||||
>function() { return 1;} : () => number
|
||||
|
||||
return 1;
|
||||
>1 : 1
|
||||
}
|
||||
my.p = {};
|
||||
>my.p = {} : { [x: string]: any; }
|
||||
>my.p : { [x: string]: any; }
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>p : { [x: string]: any; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
my.n = 1;
|
||||
>my.n = 1 : 1
|
||||
>my.n : number
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>n : number
|
||||
>1 : 1
|
||||
|
||||
my.m
|
||||
>my.m : () => number
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>m : () => number
|
||||
|
||||
my.p
|
||||
>my.p : { [x: string]: any; }
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>p : { [x: string]: any; }
|
||||
|
||||
my.n
|
||||
>my.n : number
|
||||
>my : { [x: string]: any; m: () => number; p: { [x: string]: any; }; n: number; }
|
||||
>n : number
|
||||
|
||||
17
tests/cases/conformance/salsa/typeFromPropertyAssignment9.ts
Normal file
17
tests/cases/conformance/salsa/typeFromPropertyAssignment9.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
// @noEmit: true
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @target: es6
|
||||
// @Filename: a.js
|
||||
|
||||
// TODO: JSDoc would provide a contextual type, so ... I should test that
|
||||
// TODO: Try initializer of function or class I guess (though classes aren't context sensitive)
|
||||
var my = my || {};
|
||||
my.m = function() {
|
||||
return 1;
|
||||
}
|
||||
my.p = {};
|
||||
my.n = 1;
|
||||
my.m
|
||||
my.p
|
||||
my.n
|
||||
Reference in New Issue
Block a user