kittenipc/kitcom/internal/tsgo/fourslash/tests/gen/deprecatedInheritedJSDocOverload_test.go
2025-10-15 10:12:44 +03:00

42 lines
1.6 KiB
Go

package fourslash_test
import (
"testing"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
)
func TestDeprecatedInheritedJSDocOverload(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `interface PartialObserver<T> {}
interface Subscription {}
interface Unsubscribable {}
export interface Subscribable<T> {
subscribe(observer?: PartialObserver<T>): Unsubscribable;
/** @deprecated Base deprecation 1 */
subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable;
/** @deprecated Base deprecation 2 */
subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Unsubscribable;
/** @deprecated Base deprecation 3 */
subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable;
subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Unsubscribable;
}
interface ThingWithDeprecations<T> extends Subscribable<T> {
subscribe(observer?: PartialObserver<T>): Subscription;
/** @deprecated 'real' deprecation */
subscribe(next: null | undefined, error: null | undefined, complete: () => void): Subscription;
/** @deprecated 'real' deprecation */
subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Subscription;
}
declare const a: ThingWithDeprecations<void>
a.subscribe/**/(() => {
console.log('something happened');
});`
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
f.VerifyBaselineHover(t)
}