summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/CppTests/Attributes.test.ts (renamed from src/test/CTests/Attributes.test.ts)0
-rw-r--r--src/test/CppTests/Con-AndDestructor.test.ts (renamed from src/test/CTests/Con-AndDestructor.test.ts)0
-rw-r--r--src/test/CppTests/Config.tests.ts20
-rw-r--r--src/test/CppTests/FunctionPointer.test.ts (renamed from src/test/CTests/FunctionPointer.test.ts)0
-rw-r--r--src/test/CppTests/Operators.test.ts (renamed from src/test/CTests/Operators.test.ts)33
-rw-r--r--src/test/CppTests/Parameters.test.ts20
-rw-r--r--src/test/CppTests/ReturnTypes.test.ts (renamed from src/test/CTests/ReturnTypes.test.ts)0
-rw-r--r--src/test/CppTests/Templates.test.ts (renamed from src/test/CTests/Templates.test.ts)0
-rw-r--r--src/test/CppTests/TestSetup.ts (renamed from src/test/CTests/TestSetup.ts)4
-rw-r--r--src/test/CppTests/TrailingReturns.test.ts (renamed from src/test/CTests/TrailingReturns.test.ts)0
10 files changed, 69 insertions, 8 deletions
diff --git a/src/test/CTests/Attributes.test.ts b/src/test/CppTests/Attributes.test.ts
index bfeaef1..bfeaef1 100644
--- a/src/test/CTests/Attributes.test.ts
+++ b/src/test/CppTests/Attributes.test.ts
diff --git a/src/test/CTests/Con-AndDestructor.test.ts b/src/test/CppTests/Con-AndDestructor.test.ts
index 6bf3242..6bf3242 100644
--- a/src/test/CTests/Con-AndDestructor.test.ts
+++ b/src/test/CppTests/Con-AndDestructor.test.ts
diff --git a/src/test/CppTests/Config.tests.ts b/src/test/CppTests/Config.tests.ts
new file mode 100644
index 0000000..3d5fc0a
--- /dev/null
+++ b/src/test/CppTests/Config.tests.ts
@@ -0,0 +1,20 @@
+//
+// 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++ - Configuration Tests", () => {
+ const testSetup: TestSetup = new TestSetup("void foo();");
+
+ // Tests
+
+});
diff --git a/src/test/CTests/FunctionPointer.test.ts b/src/test/CppTests/FunctionPointer.test.ts
index a353380..a353380 100644
--- a/src/test/CTests/FunctionPointer.test.ts
+++ b/src/test/CppTests/FunctionPointer.test.ts
diff --git a/src/test/CTests/Operators.test.ts b/src/test/CppTests/Operators.test.ts
index 32d097c..09f5dd4 100644
--- a/src/test/CTests/Operators.test.ts
+++ b/src/test/CppTests/Operators.test.ts
@@ -247,7 +247,7 @@ suite("C++ - Operators Tests", () => {
test("new[] operator", () => {
let result = testSetup.SetLine("void* operator new[]( std::size_t count, std::align_val_t al);").GetResult();
- assert.equal("/**\n * @brief \n * \n * @param count \n * @param al \n * @return void* \n */", result);
+ assert.equal("/**\n * @brief \n * \n * @param count \n * @param al \n * @return void* \n */", result);
result = testSetup.SetLine("void* operator new[ ]( std::size_t count, std::align_val_t al);").GetResult();
assert.equal("/**\n * @brief \n * \n * @param count \n * @param al \n * @return void* \n */", result);
@@ -268,12 +268,33 @@ suite("C++ - Operators Tests", () => {
});
test("user literal operator", () => {
- const result = testSetup.SetLine("T operator+(const T& lhs, const T2& rhs);").GetResult();
- assert.equal("/**\n * @brief \n * \n * @param lhs \n * @param rhs \n * @return T \n */", result);
+ let result = testSetup.SetLine("long double operator\"\"_My_C00l_Conversion(const char * str);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param str \n * @return long double \n */", result);
+
+ result = testSetup.SetLine("long double operator \"\"_My_C00l_Conversion(const char * str);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param str \n * @return long double \n */", result);
+
+ result = testSetup.SetLine("long double operator\"\"_My_C00l_Conversion (const char * str);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param str \n * @return long double \n */", result);
});
- test("conversion operator", () => {
- const result = testSetup.SetLine("T operator+(const T& lhs, const T2& rhs);").GetResult();
- assert.equal("/**\n * @brief \n * \n * @param lhs \n * @param rhs \n * @return T \n */", result);
+ test("Implicit conversion operator", () => {
+ const result = testSetup.SetLine("operator int() const").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return int \n */", result);
+ });
+
+ test("Explicit conversion operator", () => {
+ const result = testSetup.SetLine("explicit operator int() const").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return int \n */", result);
+ });
+
+ test("conversion operator to struct", () => {
+ const result = testSetup.SetLine("explicit operator struct foo() const").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return struct foo \n */", result);
+ });
+
+ test("conversion operator to struct pointer", () => {
+ const result = testSetup.SetLine("explicit operator struct foo*() const").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return struct foo* \n */", result);
});
});
diff --git a/src/test/CppTests/Parameters.test.ts b/src/test/CppTests/Parameters.test.ts
new file mode 100644
index 0000000..02d3773
--- /dev/null
+++ b/src/test/CppTests/Parameters.test.ts
@@ -0,0 +1,20 @@
+//
+// 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++ - Parameters Tests", () => {
+
+ const testSetup: TestSetup = new TestSetup("void foo();");
+
+ // Tests
+});
diff --git a/src/test/CTests/ReturnTypes.test.ts b/src/test/CppTests/ReturnTypes.test.ts
index 1a59878..1a59878 100644
--- a/src/test/CTests/ReturnTypes.test.ts
+++ b/src/test/CppTests/ReturnTypes.test.ts
diff --git a/src/test/CTests/Templates.test.ts b/src/test/CppTests/Templates.test.ts
index 07a2144..07a2144 100644
--- a/src/test/CTests/Templates.test.ts
+++ b/src/test/CppTests/Templates.test.ts
diff --git a/src/test/CTests/TestSetup.ts b/src/test/CppTests/TestSetup.ts
index 1eb9c86..068cff2 100644
--- a/src/test/CTests/TestSetup.ts
+++ b/src/test/CppTests/TestSetup.ts
@@ -4,7 +4,7 @@ import CodeParser from "../../Common/ICodeParser";
import { IDocGen } from "../../Common/IDocGen";
import { Config } from "../../Config";
import * as myExtension from "../../extension";
-import CParser from "../../Lang/C/CParser";
+import CppParser from "../../Lang/Cpp/CppParser";
import MockDocument from "../tools/MockDocument";
import MockEditor from "../tools/MockEditor";
import MockLine from "../tools/MockLine";
@@ -42,7 +42,7 @@ export default class TestSetup {
public GetResult(): string {
let parser: CodeParser;
- parser = new CParser(new Config());
+ parser = new CppParser(new Config());
const gen: IDocGen = parser.Parse(this.editor);
gen.GenerateDoc(new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 0)));
diff --git a/src/test/CTests/TrailingReturns.test.ts b/src/test/CppTests/TrailingReturns.test.ts
index 11b7937..11b7937 100644
--- a/src/test/CTests/TrailingReturns.test.ts
+++ b/src/test/CppTests/TrailingReturns.test.ts