Skip to content

Commit

Permalink
Add a failing test for dependent parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Andarist committed Nov 3, 2021
1 parent 831b770 commit 3e87dec
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 0 deletions.
24 changes: 24 additions & 0 deletions tests/baselines/reference/dependentParameters.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//// [dependentParameters.ts]
type Args = ['A', number] | ['B', string]

declare function fn10(cb: (...args: Args) => void): void

fn10((kind, data) => {
if (kind === 'A') {
data.toFixed();
}
if (kind === 'B') {
data.toUpperCase();
}
})


//// [dependentParameters.js]
fn10(function (kind, data) {
if (kind === 'A') {
data.toFixed();
}
if (kind === 'B') {
data.toUpperCase();
}
});
29 changes: 29 additions & 0 deletions tests/baselines/reference/dependentParameters.symbols
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
=== tests/cases/conformance/controlFlow/dependentParameters.ts ===
type Args = ['A', number] | ['B', string]
>Args : Symbol(Args, Decl(dependentParameters.ts, 0, 0))

declare function fn10(cb: (...args: Args) => void): void
>fn10 : Symbol(fn10, Decl(dependentParameters.ts, 0, 41))
>cb : Symbol(cb, Decl(dependentParameters.ts, 2, 22))
>args : Symbol(args, Decl(dependentParameters.ts, 2, 27))
>Args : Symbol(Args, Decl(dependentParameters.ts, 0, 0))

fn10((kind, data) => {
>fn10 : Symbol(fn10, Decl(dependentParameters.ts, 0, 41))
>kind : Symbol(kind, Decl(dependentParameters.ts, 4, 6))
>data : Symbol(data, Decl(dependentParameters.ts, 4, 11))

if (kind === 'A') {
>kind : Symbol(kind, Decl(dependentParameters.ts, 4, 6))

data.toFixed();
>data : Symbol(data, Decl(dependentParameters.ts, 4, 11))
}
if (kind === 'B') {
>kind : Symbol(kind, Decl(dependentParameters.ts, 4, 6))

data.toUpperCase();
>data : Symbol(data, Decl(dependentParameters.ts, 4, 11))
}
})

40 changes: 40 additions & 0 deletions tests/baselines/reference/dependentParameters.types
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
=== tests/cases/conformance/controlFlow/dependentParameters.ts ===
type Args = ['A', number] | ['B', string]
>Args : Args

declare function fn10(cb: (...args: Args) => void): void
>fn10 : (cb: (...args: Args) => void) => void
>cb : (...args: Args) => void
>args : Args

fn10((kind, data) => {
>fn10((kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }}) : void
>fn10 : (cb: (...args: Args) => void) => void
>(kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }} : (kind: "A" | "B", data: string | number) => void
>kind : "A" | "B"
>data : string | number

if (kind === 'A') {
>kind === 'A' : boolean
>kind : "A" | "B"
>'A' : "A"

data.toFixed();
>data.toFixed() : any
>data.toFixed : any
>data : string | number
>toFixed : any
}
if (kind === 'B') {
>kind === 'B' : boolean
>kind : "A" | "B"
>'B' : "B"

data.toUpperCase();
>data.toUpperCase() : any
>data.toUpperCase : any
>data : string | number
>toUpperCase : any
}
})

12 changes: 12 additions & 0 deletions tests/cases/conformance/controlFlow/dependentParameters.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
type Args = ['A', number] | ['B', string]

declare function fn10(cb: (...args: Args) => void): void

fn10((kind, data) => {
if (kind === 'A') {
data.toFixed();
}
if (kind === 'B') {
data.toUpperCase();
}
})

0 comments on commit 3e87dec

Please sign in to comment.