summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Schlosser <christophschlosser@users.noreply.github.com>2020-06-26 14:46:12 +0200
committerGitHub <noreply@github.com>2020-06-26 14:46:12 +0200
commit42a085fbda8e742595cf5b543ac4f8202c03fb7d (patch)
tree20ee293a81462ba0efd165e5af3cb096fa64d850
parent07b6f8998d3daa3ce3e4d56376f0b69cd6e382ec (diff)
downloaddoxdocgen-42a085fbda8e742595cf5b543ac4f8202c03fb7d.tar.gz
Return once we found preprocessor stuff (#158)
* Return once we found preprocessor stuff * Add tests * Update package lock
-rw-r--r--package-lock.json2
-rw-r--r--src/Lang/Cpp/CppParser.ts3
-rw-r--r--src/test/CppTests/Preprocessor.test.ts33
3 files changed, 37 insertions, 1 deletions
diff --git a/package-lock.json b/package-lock.json
index 0147e05..61f6e62 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "doxdocgen",
- "version": "0.5.2",
+ "version": "0.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
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);
+ });
+});