Skip to content

Commit

Permalink
add more test
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack-Works committed Jun 14, 2023
1 parent 36ee08e commit e66a0ec
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/baselines/reference/classFieldSuperAccessible.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//// [tests/cases/compiler/classFieldSuperAccessible.ts] ////

//// [classFieldSuperAccessible.ts]
class A extends class Expr {} {
static {
console.log(super.name);
}
}
class B extends Number {
static {
console.log(super.EPSILON);
}
}
class C extends Array {
foo() {
console.log(super.length);
}
}


//// [classFieldSuperAccessible.js]
class A extends class Expr {
} {
static {
console.log(super.name);
}
}
class B extends Number {
static {
console.log(super.EPSILON);
}
}
class C extends Array {
foo() {
console.log(super.length);
}
}
48 changes: 48 additions & 0 deletions tests/baselines/reference/classFieldSuperAccessible.symbols
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
//// [tests/cases/compiler/classFieldSuperAccessible.ts] ////

=== classFieldSuperAccessible.ts ===
class A extends class Expr {} {
>A : Symbol(A, Decl(classFieldSuperAccessible.ts, 0, 0))
>Expr : Symbol(Expr, Decl(classFieldSuperAccessible.ts, 0, 15))

static {
console.log(super.name);
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>super.name : Symbol(Function.name, Decl(lib.es2015.core.d.ts, --, --))
>super : Symbol(Expr, Decl(classFieldSuperAccessible.ts, 0, 15))
>name : Symbol(Function.name, Decl(lib.es2015.core.d.ts, --, --))
}
}
class B extends Number {
>B : Symbol(B, Decl(classFieldSuperAccessible.ts, 4, 1))
>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2020.number.d.ts, --, --))

static {
console.log(super.EPSILON);
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>super.EPSILON : Symbol(NumberConstructor.EPSILON, Decl(lib.es2015.core.d.ts, --, --))
>super : Symbol(NumberConstructor, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --))
>EPSILON : Symbol(NumberConstructor.EPSILON, Decl(lib.es2015.core.d.ts, --, --))
}
}
class C extends Array {
>C : Symbol(C, Decl(classFieldSuperAccessible.ts, 9, 1))
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 4 more)

foo() {
>foo : Symbol(C.foo, Decl(classFieldSuperAccessible.ts, 10, 23))

console.log(super.length);
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>super.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
>super : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 4 more)
>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
}
}

52 changes: 52 additions & 0 deletions tests/baselines/reference/classFieldSuperAccessible.types
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
//// [tests/cases/compiler/classFieldSuperAccessible.ts] ////

=== classFieldSuperAccessible.ts ===
class A extends class Expr {} {
>A : A
>class Expr {} : Expr
>Expr : typeof Expr

static {
console.log(super.name);
>console.log(super.name) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>super.name : string
>super : typeof Expr
>name : string
}
}
class B extends Number {
>B : B
>Number : Number

static {
console.log(super.EPSILON);
>console.log(super.EPSILON) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>super.EPSILON : number
>super : NumberConstructor
>EPSILON : number
}
}
class C extends Array {
>C : C
>Array : any[]

foo() {
>foo : () => void

console.log(super.length);
>console.log(super.length) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>super.length : number
>super : any[]
>length : number
}
}

16 changes: 16 additions & 0 deletions tests/cases/compiler/classFieldSuperAccessible.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// @target: esnext
class A extends class Expr {} {
static {
console.log(super.name);
}
}
class B extends Number {
static {
console.log(super.EPSILON);
}
}
class C extends Array {
foo() {
console.log(super.length);
}
}

0 comments on commit e66a0ec

Please sign in to comment.