diff options
| author | Christoph Schlosser <christophschlosser@users.noreply.github.com> | 2020-06-26 14:46:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-26 14:46:12 +0200 |
| commit | 42a085fbda8e742595cf5b543ac4f8202c03fb7d (patch) | |
| tree | 20ee293a81462ba0efd165e5af3cb096fa64d850 /src | |
| parent | 07b6f8998d3daa3ce3e4d56376f0b69cd6e382ec (diff) | |
| download | doxdocgen-42a085fbda8e742595cf5b543ac4f8202c03fb7d.tar.gz | |
Return once we found preprocessor stuff (#158)
* Return once we found preprocessor stuff
* Add tests
* Update package lock
Diffstat (limited to 'src')
| -rw-r--r-- | src/Lang/Cpp/CppParser.ts | 3 | ||||
| -rw-r--r-- | src/test/CppTests/Preprocessor.test.ts | 33 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/Lang/Cpp/CppParser.ts b/src/Lang/Cpp/CppParser.ts index d51f853..d59ec9b 100644 --- a/src/Lang/Cpp/CppParser.ts +++ b/src/Lang/Cpp/CppParser.ts @@ -424,6 +424,9 @@ export default class CppParser implements ICodeParser { if (nextLineTxt.startsWith("#include")) { this.commentType = CommentType.file; return ""; + } else if (nextLineTxt.startsWith("#")) { // preprocessor stuff + this.commentType = CommentType.method; + return "#"; } if (!this.isVsCodeAutoComplete(nextLineTxt)) { diff --git a/src/test/CppTests/Preprocessor.test.ts b/src/test/CppTests/Preprocessor.test.ts new file mode 100644 index 0000000..c89a80a --- /dev/null +++ b/src/test/CppTests/Preprocessor.test.ts @@ -0,0 +1,33 @@ +// +// Note: This example test is leveraging the Mocha test framework. +// Please refer to their documentation on https://mochajs.org/ for help. +// + +// The module 'assert' provides assertion methods from node +import * as assert from "assert"; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from "vscode"; +import TestSetup from "./TestSetup"; + +// Defines a Mocha test suite to group tests of similar kind together +suite("C++ - Preprocessor Tests", () => { + const testSetup: TestSetup = new TestSetup("#define MY_MACRO 1"); + + // Tests + test("Macro", () => { + const result = testSetup.GetResult(); + assert.equal("/**\n * @brief \n * \n */", result); + }); + + // Tests + test("Macro with comment afterwards", () => { + const result = testSetup.SetLines([ + "#define MY_MACRO 1", + "/**", + " */", + ]).GetResult(); + assert.equal("/**\n * @brief \n * \n */", result); + }); +}); |