From 41e134529a6797904b0f8d39685cfdd2f4aea7e0 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 30 May 2017 13:33:13 -0700 Subject: [PATCH] Test reporting jsdoc syntax errors --- .../reference/syntaxErrors.errors.txt | 31 +++++++++++++++++++ tests/cases/conformance/jsdoc/syntaxErrors.ts | 20 ++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 tests/baselines/reference/syntaxErrors.errors.txt create mode 100644 tests/cases/conformance/jsdoc/syntaxErrors.ts diff --git a/tests/baselines/reference/syntaxErrors.errors.txt b/tests/baselines/reference/syntaxErrors.errors.txt new file mode 100644 index 00000000000..8e3005891a5 --- /dev/null +++ b/tests/baselines/reference/syntaxErrors.errors.txt @@ -0,0 +1,31 @@ +tests/cases/conformance/jsdoc/foo.js(2,15): error TS1005: '}' expected. +tests/cases/conformance/jsdoc/foo.js(3,19): error TS1005: '}' expected. +tests/cases/conformance/jsdoc/foo.js(4,18): error TS1003: Identifier expected. +tests/cases/conformance/jsdoc/foo.js(4,19): error TS1005: '}' expected. + + +==== tests/cases/conformance/jsdoc/foo.js (4 errors) ==== + /** + * @param {(x)=>void} x + ~~ +!!! error TS1005: '}' expected. + * @param {typeof String} y + ~~~~~~ +!!! error TS1005: '}' expected. + * @param {string & number} z + +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: '}' expected. + **/ + function foo(x, y, z) { } + +==== tests/cases/conformance/jsdoc/skipped.js (0 errors) ==== + // @ts-nocheck + /** + * @param {(x)=>void} x + * @param {typeof String} y + * @param {string & number} z + **/ + function bar(x, y, z) { } + \ No newline at end of file diff --git a/tests/cases/conformance/jsdoc/syntaxErrors.ts b/tests/cases/conformance/jsdoc/syntaxErrors.ts new file mode 100644 index 00000000000..4f9024810dd --- /dev/null +++ b/tests/cases/conformance/jsdoc/syntaxErrors.ts @@ -0,0 +1,20 @@ +// @checkJs: true +// @allowJs: true +// @noEmit: true + +// @Filename: foo.js +/** + * @param {(x)=>void} x + * @param {typeof String} y + * @param {string & number} z + **/ +function foo(x, y, z) { } + +// @Filename: skipped.js +// @ts-nocheck +/** + * @param {(x)=>void} x + * @param {typeof String} y + * @param {string & number} z + **/ +function bar(x, y, z) { }