diff --git a/tests/baselines/reference/multiline.errors.txt b/tests/baselines/reference/multiline.errors.txt new file mode 100644 index 00000000000..af8bbf64415 --- /dev/null +++ b/tests/baselines/reference/multiline.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/directives/a.ts(10,1): error TS2578: Unused '@ts-expect-error' directive. +tests/cases/conformance/directives/b.tsx(26,1): error TS2578: Unused '@ts-expect-error' directive. + + +==== tests/cases/conformance/directives/a.ts (1 errors) ==== + /** + @ts-ignore */ + export let x: string = 100; + + /** + @ts-expect-error */ + export let y: string = 100; + + /** + @ts-expect-error */ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2578: Unused '@ts-expect-error' directive. + export let ok = 100; + +==== tests/cases/conformance/directives/b.tsx (1 errors) ==== + import * as React from "react"; + + export function MyComponent(props: { foo: string }) { + return
; + } + + let x = ( +
+ {/* + @ts-ignore */} + ; +
+ ); + + let y = ( +
+ {/* + @ts-expect-error */} + ; +
+ ); + + let ok = ( +
+ {/* + @ts-expect-error */} + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2578: Unused '@ts-expect-error' directive. + ; +
+ ); + \ No newline at end of file diff --git a/tests/baselines/reference/multiline.js b/tests/baselines/reference/multiline.js new file mode 100644 index 00000000000..dc01c542b19 --- /dev/null +++ b/tests/baselines/reference/multiline.js @@ -0,0 +1,78 @@ +//// [tests/cases/conformance/directives/multiline.tsx] //// + +//// [a.ts] +/** + @ts-ignore */ +export let x: string = 100; + +/** + @ts-expect-error */ +export let y: string = 100; + +/** + @ts-expect-error */ +export let ok = 100; + +//// [b.tsx] +import * as React from "react"; + +export function MyComponent(props: { foo: string }) { + return
; +} + +let x = ( +
+ {/* + @ts-ignore */} + ; +
+); + +let y = ( +
+ {/* + @ts-expect-error */} + ; +
+); + +let ok = ( +
+ {/* + @ts-expect-error */} + ; +
+); + + +//// [a.js] +"use strict"; +exports.__esModule = true; +exports.ok = exports.y = exports.x = void 0; +/** + @ts-ignore */ +exports.x = 100; +/** + @ts-expect-error */ +exports.y = 100; +/** + @ts-expect-error */ +exports.ok = 100; +//// [b.js] +"use strict"; +exports.__esModule = true; +exports.MyComponent = void 0; +var React = require("react"); +function MyComponent(props) { + return React.createElement("div", null); +} +exports.MyComponent = MyComponent; +var x = (React.createElement("div", null, + React.createElement(MyComponent, { foo: 100 }), + ";")); +var y = (React.createElement("div", null, + React.createElement(MyComponent, { foo: 100 }), + ";")); +var ok = (React.createElement("div", null, + React.createElement(MyComponent, { foo: "hooray" }), + ";")); diff --git a/tests/baselines/reference/multiline.symbols b/tests/baselines/reference/multiline.symbols new file mode 100644 index 00000000000..4e3719938af --- /dev/null +++ b/tests/baselines/reference/multiline.symbols @@ -0,0 +1,80 @@ +=== tests/cases/conformance/directives/a.ts === +/** + @ts-ignore */ +export let x: string = 100; +>x : Symbol(x, Decl(a.ts, 2, 10)) + +/** + @ts-expect-error */ +export let y: string = 100; +>y : Symbol(y, Decl(a.ts, 6, 10)) + +/** + @ts-expect-error */ +export let ok = 100; +>ok : Symbol(ok, Decl(a.ts, 10, 10)) + +=== tests/cases/conformance/directives/b.tsx === +import * as React from "react"; +>React : Symbol(React, Decl(b.tsx, 0, 6)) + +export function MyComponent(props: { foo: string }) { +>MyComponent : Symbol(MyComponent, Decl(b.tsx, 0, 31)) +>props : Symbol(props, Decl(b.tsx, 2, 28)) +>foo : Symbol(foo, Decl(b.tsx, 2, 36)) + + return
; +>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) +} + +let x = ( +>x : Symbol(x, Decl(b.tsx, 6, 3)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + + {/* + @ts-ignore */} + ; +>MyComponent : Symbol(MyComponent, Decl(b.tsx, 0, 31)) +>foo : Symbol(foo, Decl(b.tsx, 10, 16)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + +); + +let y = ( +>y : Symbol(y, Decl(b.tsx, 14, 3)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + + {/* + @ts-expect-error */} + ; +>MyComponent : Symbol(MyComponent, Decl(b.tsx, 0, 31)) +>foo : Symbol(foo, Decl(b.tsx, 18, 16)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + +); + +let ok = ( +>ok : Symbol(ok, Decl(b.tsx, 22, 3)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + + {/* + @ts-expect-error */} + ; +>MyComponent : Symbol(MyComponent, Decl(b.tsx, 0, 31)) +>foo : Symbol(foo, Decl(b.tsx, 26, 16)) + +
+>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45)) + +); + diff --git a/tests/baselines/reference/multiline.types b/tests/baselines/reference/multiline.types new file mode 100644 index 00000000000..4ba48a7747f --- /dev/null +++ b/tests/baselines/reference/multiline.types @@ -0,0 +1,96 @@ +=== tests/cases/conformance/directives/a.ts === +/** + @ts-ignore */ +export let x: string = 100; +>x : string +>100 : 100 + +/** + @ts-expect-error */ +export let y: string = 100; +>y : string +>100 : 100 + +/** + @ts-expect-error */ +export let ok = 100; +>ok : number +>100 : 100 + +=== tests/cases/conformance/directives/b.tsx === +import * as React from "react"; +>React : typeof React + +export function MyComponent(props: { foo: string }) { +>MyComponent : (props: { foo: string;}) => JSX.Element +>props : { foo: string; } +>foo : string + + return
; +>
: JSX.Element +>div : any +} + +let x = ( +>x : JSX.Element +>(
{/* @ts-ignore */} ;
) : JSX.Element + +
+>
{/* @ts-ignore */} ;
: JSX.Element +>div : any + + {/* + @ts-ignore */} + ; +> : JSX.Element +>MyComponent : (props: { foo: string; }) => JSX.Element +>foo : number +>100 : 100 + +
+>div : any + +); + +let y = ( +>y : JSX.Element +>(
{/* @ts-expect-error */} ;
) : JSX.Element + +
+>
{/* @ts-expect-error */} ;
: JSX.Element +>div : any + + {/* + @ts-expect-error */} + ; +> : JSX.Element +>MyComponent : (props: { foo: string; }) => JSX.Element +>foo : number +>100 : 100 + +
+>div : any + +); + +let ok = ( +>ok : JSX.Element +>(
{/* @ts-expect-error */} ;
) : JSX.Element + +
+>
{/* @ts-expect-error */} ;
: JSX.Element +>div : any + + {/* + @ts-expect-error */} + ; +> : JSX.Element +>MyComponent : (props: { foo: string; }) => JSX.Element +>foo : string +>"hooray" : "hooray" + +
+>div : any + +); + diff --git a/tests/cases/conformance/directives/multiline.tsx b/tests/cases/conformance/directives/multiline.tsx new file mode 100644 index 00000000000..bf18c15c21f --- /dev/null +++ b/tests/cases/conformance/directives/multiline.tsx @@ -0,0 +1,45 @@ +// @filename: a.ts +/** + @ts-ignore */ +export let x: string = 100; + +/** + @ts-expect-error */ +export let y: string = 100; + +/** + @ts-expect-error */ +export let ok = 100; + +// @filename: b.tsx +// @jsx: react +// @libFiles: react.d.ts,lib.d.ts +import * as React from "react"; + +export function MyComponent(props: { foo: string }) { + return
; +} + +let x = ( +
+ {/* + @ts-ignore */} + ; +
+); + +let y = ( +
+ {/* + @ts-expect-error */} + ; +
+); + +let ok = ( +
+ {/* + @ts-expect-error */} + ; +
+);