From 4f791040fc7fa467dec2ae66bf9b0cc1b688e5e8 Mon Sep 17 00:00:00 2001 From: Yui T Date: Thu, 25 May 2017 20:16:52 -0700 Subject: [PATCH] Add tests and baselines --- .../reference/checkJsdocTypedefInParamTag1.js | 24 +++++++++++++++++++ .../checkJsdocTypedefInParamTag1.symbols | 17 +++++++++++++ .../checkJsdocTypedefInParamTag1.types | 20 ++++++++++++++++ .../jsdoc/checkJsdocTypedefInParamTag1.ts | 15 ++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 tests/baselines/reference/checkJsdocTypedefInParamTag1.js create mode 100644 tests/baselines/reference/checkJsdocTypedefInParamTag1.symbols create mode 100644 tests/baselines/reference/checkJsdocTypedefInParamTag1.types create mode 100644 tests/cases/conformance/jsdoc/checkJsdocTypedefInParamTag1.ts diff --git a/tests/baselines/reference/checkJsdocTypedefInParamTag1.js b/tests/baselines/reference/checkJsdocTypedefInParamTag1.js new file mode 100644 index 00000000000..28d6a96b3f9 --- /dev/null +++ b/tests/baselines/reference/checkJsdocTypedefInParamTag1.js @@ -0,0 +1,24 @@ +//// [0.js] +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * + * @param {Opts} opts + */ +function foo(opts) {} + +foo({x: 'abc'}); + +//// [0.js] +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * + * @param {Opts} opts + */ +function foo(opts) { } +foo({ x: 'abc' }); diff --git a/tests/baselines/reference/checkJsdocTypedefInParamTag1.symbols b/tests/baselines/reference/checkJsdocTypedefInParamTag1.symbols new file mode 100644 index 00000000000..19672d6e52c --- /dev/null +++ b/tests/baselines/reference/checkJsdocTypedefInParamTag1.symbols @@ -0,0 +1,17 @@ +=== tests/cases/conformance/jsdoc/0.js === +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * + * @param {Opts} opts + */ +function foo(opts) {} +>foo : Symbol(foo, Decl(0.js, 0, 0)) +>opts : Symbol(opts, Decl(0.js, 8, 13)) + +foo({x: 'abc'}); +>foo : Symbol(foo, Decl(0.js, 0, 0)) +>x : Symbol(x, Decl(0.js, 10, 5)) + diff --git a/tests/baselines/reference/checkJsdocTypedefInParamTag1.types b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types new file mode 100644 index 00000000000..ff30e8da8a8 --- /dev/null +++ b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/jsdoc/0.js === +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * + * @param {Opts} opts + */ +function foo(opts) {} +>foo : (opts: { x: string; y?: string; }) => void +>opts : { x: string; y?: string; } + +foo({x: 'abc'}); +>foo({x: 'abc'}) : void +>foo : (opts: { x: string; y?: string; }) => void +>{x: 'abc'} : { x: string; } +>x : string +>'abc' : "abc" + diff --git a/tests/cases/conformance/jsdoc/checkJsdocTypedefInParamTag1.ts b/tests/cases/conformance/jsdoc/checkJsdocTypedefInParamTag1.ts new file mode 100644 index 00000000000..261ce070cf2 --- /dev/null +++ b/tests/cases/conformance/jsdoc/checkJsdocTypedefInParamTag1.ts @@ -0,0 +1,15 @@ +// @allowJS: true +// @suppressOutputPathCheck: true + +// @filename: 0.js +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * + * @param {Opts} opts + */ +function foo(opts) {} + +foo({x: 'abc'}); \ No newline at end of file