From 7e6868ca336ede0f5e882fa78e2b4106e3fe2948 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 2 May 2018 14:52:46 -0700 Subject: [PATCH] Adding more pinning tests for jsdoc -> snippet --- .../src/test/jsdocSnippet.test.ts | 51 ++++++++++++++++++- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/extensions/typescript-language-features/src/test/jsdocSnippet.test.ts b/extensions/typescript-language-features/src/test/jsdocSnippet.test.ts index 33a4e01fb90..ac4088e8c87 100644 --- a/extensions/typescript-language-features/src/test/jsdocSnippet.test.ts +++ b/extensions/typescript-language-features/src/test/jsdocSnippet.test.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import * as vscode from 'vscode'; import 'mocha'; import { templateToSnippet } from '../features/jsDocCompletionProvider'; @@ -14,7 +13,7 @@ suite('typescript.jsDocSnippet', () => { assert.strictEqual(templateToSnippet(input).value, input); }); - test('Should put curosr inside multiline line input', async () => { + test('Should put cursor inside multiline line input', async () => { assert.strictEqual( templateToSnippet([ '/**', @@ -27,5 +26,53 @@ suite('typescript.jsDocSnippet', () => { ' */' ].join('\n')); }); + + test('Should add placeholders after each parameter', async () => { + assert.strictEqual( + templateToSnippet([ + '/**', + ' * @param a', + ' * @param b', + ' */' + ].join('\n')).value, + [ + '/**', + ' * @param a ${1}', + ' * @param b ${2}', + ' */' + ].join('\n')); + }); + + test('Should add placeholders for types', async () => { + assert.strictEqual( + templateToSnippet([ + '/**', + ' * @param {*} a', + ' * @param {*} b', + ' */' + ].join('\n')).value, + [ + '/**', + ' * @param {${1:*}} a ${2}', + ' * @param {${3:*}} b ${4}', + ' */' + ].join('\n')); + }); + + test('Should properly escape dollars in parameter names', async () => { + assert.strictEqual( + templateToSnippet([ + '/**', + ' * ', + ' * @param $arg', + ' */' + ].join('\n')).value, + [ + '/**', + ' * $0', + ' * @param $arg ${1}', + ' */' + ].join('\n')); + }); }); -- GitLab