More tests and update baselines

This commit is contained in:
Nathan Shively-Sanders 2017-11-21 15:03:44 -08:00
parent 1d1a7d8353
commit fa96bd4b01
6 changed files with 78 additions and 6 deletions

View file

@ -1,6 +1,6 @@
=== tests/cases/conformance/salsa/a.js ===
var Outer = class O {
>Outer : Symbol(Outer, Decl(a.js, 0, 3))
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1))
>O : Symbol(O, Decl(a.js, 0, 11))
m(x, y) { }
@ -10,7 +10,7 @@ var Outer = class O {
}
Outer.Inner = class I {
>Outer.Inner : Symbol(O.Inner, Decl(a.js, 2, 1))
>Outer : Symbol(Outer, Decl(a.js, 0, 3))
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1))
>Inner : Symbol(O.Inner, Decl(a.js, 2, 1))
>I : Symbol(I, Decl(a.js, 3, 13))

View file

@ -1,13 +1,13 @@
=== tests/cases/conformance/salsa/a.js ===
function Outer() {
>Outer : Symbol(Outer, Decl(a.js, 0, 0))
>Outer : Symbol(Outer, Decl(a.js, 0, 0), Decl(a.js, 2, 1))
this.y = 2
>y : Symbol(Outer.y, Decl(a.js, 0, 18))
}
Outer.Inner = class I {
>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1))
>Outer : Symbol(Outer, Decl(a.js, 0, 0))
>Outer : Symbol(Outer, Decl(a.js, 0, 0), Decl(a.js, 2, 1))
>Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1))
>I : Symbol(I, Decl(a.js, 3, 13))

View file

@ -1,6 +1,6 @@
=== tests/cases/conformance/salsa/a.js ===
var Outer = function O() {
>Outer : Symbol(Outer, Decl(a.js, 0, 3))
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1))
>O : Symbol(O, Decl(a.js, 0, 11))
this.y = 2
@ -8,7 +8,7 @@ var Outer = function O() {
}
Outer.Inner = class I {
>Outer.Inner : Symbol(O.Inner, Decl(a.js, 2, 1))
>Outer : Symbol(Outer, Decl(a.js, 0, 3))
>Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1))
>Inner : Symbol(O.Inner, Decl(a.js, 2, 1))
>I : Symbol(I, Decl(a.js, 3, 13))

View file

@ -0,0 +1,25 @@
=== tests/cases/conformance/salsa/a.js ===
var Common = {};
>Common : Symbol(Common, Decl(a.js, 0, 3), Decl(a.js, 0, 16))
Common.Outer = class {
>Common : Symbol(Common, Decl(a.js, 0, 3), Decl(a.js, 0, 16))
constructor() {
/** @type {number} */
this.y = 12
>this.y : Symbol((Anonymous class).y, Decl(a.js, 2, 19))
>this : Symbol((Anonymous class), Decl(a.js, 1, 14))
>y : Symbol((Anonymous class).y, Decl(a.js, 2, 19))
}
}
/** @type {Common.Outer} */
var x;
>x : Symbol(x, Decl(a.js, 9, 3))
x.y
>x.y : Symbol((Anonymous class).y, Decl(a.js, 2, 19))
>x : Symbol(x, Decl(a.js, 9, 3))
>y : Symbol((Anonymous class).y, Decl(a.js, 2, 19))

View file

@ -0,0 +1,32 @@
=== tests/cases/conformance/salsa/a.js ===
var Common = {};
>Common : { [x: string]: any; }
>{} : { [x: string]: any; }
Common.Outer = class {
>Common.Outer = class { constructor() { /** @type {number} */ this.y = 12 }} : typeof (Anonymous class)
>Common.Outer : any
>Common : { [x: string]: any; }
>Outer : any
>class { constructor() { /** @type {number} */ this.y = 12 }} : typeof (Anonymous class)
constructor() {
/** @type {number} */
this.y = 12
>this.y = 12 : 12
>this.y : number
>this : this
>y : number
>12 : 12
}
}
/** @type {Common.Outer} */
var x;
>x : (Anonymous class)
x.y
>x.y : number
>x : (Anonymous class)
>y : number

View file

@ -0,0 +1,15 @@
// @noEmit: true
// @allowJs: true
// @checkJs: true
// @Filename: a.js
var Common = {};
Common.Outer = class {
constructor() {
/** @type {number} */
this.y = 12
}
}
/** @type {Common.Outer} */
var x;
x.y