From 771d246a96cd476fa9fddf600c532a28b2efd93a Mon Sep 17 00:00:00 2001 From: to-s Date: Mon, 19 Oct 2020 12:38:51 -0400 Subject: Substitute author and email by git config (#186) * Substitute author and email by git config * Upgraded version of typescript Due to https://github.com/cschlosser/doxdocgen/pull/186#discussion_r505813068 * Moved to CppDocGen.generateAuthorTag() Due to https://github.com/cschlosser/doxdocgen/pull/186#discussion_r505819542 * Update README.md Due to https://github.com/cschlosser/doxdocgen/pull/186#discussion_r505822908 * Update TestSetup.ts * Added tests * Changed return type to string Due to https://ci.appveyor.com/project/cschlosser/doxdocgen/builds/35818180#L566 Co-authored-by: Christoph Schlosser <2466365+cschlosser@users.noreply.github.com> --- src/test/CppTests/Config.test.ts | 28 ++++++++++++++++++++++++++++ src/test/CppTests/TestSetup.ts | 5 ++++- 2 files changed, 32 insertions(+), 1 deletion(-) (limited to 'src/test') diff --git a/src/test/CppTests/Config.test.ts b/src/test/CppTests/Config.test.ts index aae09d4..fcf2550 100644 --- a/src/test/CppTests/Config.test.ts +++ b/src/test/CppTests/Config.test.ts @@ -247,4 +247,32 @@ suite("C++ - Configuration Tests", () => { assert.strictEqual("/**\n * @author MY_VARIABLE\n */", result); }); + test("Use git user.name as author", () => { + testSetup.cfg = new Config(); + testSetup.cfg.Generic.useGitUserName = true; + const result = testSetup.SetLine("").GetResult(); + assert.strictEqual("/**\n * @brief \n * \n * @file MockDocument.h\n * @author " + + testSetup.gitConfig.UserName + + " (you@domain.com)\n * @date " + moment().format("YYYY-MM-DD") + "\n */", result); + }); + + test("Use git user.email as email", () => { + testSetup.cfg = new Config(); + testSetup.cfg.Generic.useGitUserEmail = true; + const result = testSetup.SetLine("").GetResult(); + assert.strictEqual("/**\n * @brief \n * \n * @file MockDocument.h\n * @author your name (" + + testSetup.gitConfig.UserEmail + + ")\n * @date " + moment().format("YYYY-MM-DD") + "\n */", result); + }); + + test("Substitute author and email by git config", () => { + testSetup.cfg = new Config(); + testSetup.cfg.Generic.useGitUserName = true; + testSetup.cfg.Generic.useGitUserEmail = true; + const result = testSetup.SetLine("").GetResult(); + assert.strictEqual("/**\n * @brief \n * \n * @file MockDocument.h\n * @author " + + testSetup.gitConfig.UserName + " (" + testSetup.gitConfig.UserEmail+ + ")\n * @date " + moment().format("YYYY-MM-DD") + "\n */", result); + }); + }); diff --git a/src/test/CppTests/TestSetup.ts b/src/test/CppTests/TestSetup.ts index ad733dd..e38ae91 100644 --- a/src/test/CppTests/TestSetup.ts +++ b/src/test/CppTests/TestSetup.ts @@ -4,6 +4,7 @@ import CodeParser from "../../Common/ICodeParser"; import { IDocGen } from "../../Common/IDocGen"; import { Config } from "../../Config"; import * as myExtension from "../../extension"; +import GitConfig from "../../GitConfig"; import CppParser from "../../Lang/Cpp/CppParser"; import MockDocument from "../tools/MockDocument"; import MockEditor from "../tools/MockEditor"; @@ -14,9 +15,11 @@ import MockSelection from "../tools/MockSelection"; export default class TestSetup { public cfg: Config; public firstLine: number; + public gitConfig: GitConfig; private editor: MockEditor; constructor(method: string) { + this.gitConfig = new GitConfig(); this.cfg = new Config(); this.firstLine = 0; this.SetLine(method); @@ -58,7 +61,7 @@ export default class TestSetup { const gen: IDocGen = parser.Parse(this.editor); // tslint:disable-next-line:max-line-length - gen.GenerateDoc(new vscode.Range(new vscode.Position(this.firstLine, 0), new vscode.Position(this.firstLine, 0))); + gen.GenerateDoc(new vscode.Range(new vscode.Position(this.firstLine, 0), new vscode.Position(this.firstLine, 0)), this.gitConfig); return this.editor.editBuilder.text; } -- cgit v1.2.3