summaryrefslogtreecommitdiffstats
path: root/src/test/CTests
diff options
context:
space:
mode:
authorRowan Goemans <RB.Goemans@student.han.nl>2017-12-31 03:32:51 +0100
committerChristoph Schlosser <christophschlosser@users.noreply.github.com>2018-02-20 22:02:22 +0100
commit10aac7196a3a701860525d0f466896efe182d39a (patch)
tree9c5e430ba24b464635219e5d99807d886943251b /src/test/CTests
parent66b0bf79c44084dfa431398257735f2d47e2d08c (diff)
downloaddoxdocgen-10aac7196a3a701860525d0f466896efe182d39a.tar.gz
-- Added missing test for edge case for fundamental types unit test.
Diffstat (limited to 'src/test/CTests')
-rw-r--r--src/test/CTests/Con-AndDestructor.test.ts2
-rw-r--r--src/test/CTests/Operators.test.ts67
-rw-r--r--src/test/CTests/ReturnTypes.test.ts3
3 files changed, 49 insertions, 23 deletions
diff --git a/src/test/CTests/Con-AndDestructor.test.ts b/src/test/CTests/Con-AndDestructor.test.ts
index f1663dd..6bf3242 100644
--- a/src/test/CTests/Con-AndDestructor.test.ts
+++ b/src/test/CTests/Con-AndDestructor.test.ts
@@ -12,7 +12,7 @@ import * as vscode from "vscode";
import TestSetup from "./TestSetup";
// Defines a Mocha test suite to group tests of similar kind together
-suite("Con- and Destructor Tests", () => {
+suite("C++ - Con- and Destructor Tests", () => {
const testSetup: TestSetup = new TestSetup("void foo();");
// Tests
diff --git a/src/test/CTests/Operators.test.ts b/src/test/CTests/Operators.test.ts
index 053ecfc..32d097c 100644
--- a/src/test/CTests/Operators.test.ts
+++ b/src/test/CTests/Operators.test.ts
@@ -26,7 +26,7 @@ suite("C++ - Operators Tests", () => {
assert.equal("/**\n * @brief \n * \n * @param lhs \n * @param rhs \n * @return T \n */", result);
});
- test("* operator", () => {
+ test("* operator with params", () => {
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);
});
@@ -46,7 +46,7 @@ suite("C++ - Operators Tests", () => {
assert.equal("/**\n * @brief \n * \n * @param lhs \n * @param rhs \n * @return T \n */", result);
});
- test("& operator", () => {
+ test("& operator with params", () => {
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);
});
@@ -199,49 +199,72 @@ suite("C++ - Operators Tests", () => {
assert.equal("/**\n * @brief \n * \n * @return T \n */", result);
});
+ test("() operator", () => {
+ let result = testSetup.SetLine("R operator()(const T& a, const T2& b);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param a \n * @param b \n * @return R \n */", result);
+
+ result = testSetup.SetLine("R operator( )(const T& a, const T2& b);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param a \n * @param b \n * @return R \n */", result);
+ });
+
test(", 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);
+ const result = testSetup.SetLine("T2& operator , (const T2& t);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param t \n * @return T2& \n */", result);
+ });
+
+ test("* operator without params", () => {
+ const result = testSetup.SetLine("R& operator*();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return R& \n */", result);
+ });
+
+ test("& operator without params", () => {
+ const result = testSetup.SetLine("R* operator&();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return R* \n */", result);
});
test("->* 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);
+ const result = testSetup.SetLine("R& operator->*();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return R& \n */", result);
});
test("-> 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);
+ const result = testSetup.SetLine("R* operator->();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return R* \n */", result);
});
test("[] 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("R operator[](S b);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param b \n * @return R \n */", result);
- test("() 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);
+ result = testSetup.SetLine("R operator[ ](S b);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param b \n * @return R \n */", result);
});
test("new 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);
+ const result = testSetup.SetLine("void* operator new ( std::size_t count );").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param count \n * @return void* \n */", result);
});
test("new[] 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("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);
+
+ 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);
});
test("delete 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);
+ const result = testSetup.SetLine("void operator delete(void* ptr, std::size_t sz, std::align_val_t al);")
+ .GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param ptr \n * @param sz \n * @param al \n */", result);
});
test("delete[] 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("void operator delete[] (void* ptr);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param ptr \n */", result);
+
+ result = testSetup.SetLine("void operator delete [ ] (void* ptr);").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @param ptr \n */", result);
});
test("user literal operator", () => {
diff --git a/src/test/CTests/ReturnTypes.test.ts b/src/test/CTests/ReturnTypes.test.ts
index 0fe6a77..1a59878 100644
--- a/src/test/CTests/ReturnTypes.test.ts
+++ b/src/test/CTests/ReturnTypes.test.ts
@@ -95,5 +95,8 @@ suite("C++ - Return type Tests", () => {
result = testSetup.SetLine("long double foo();").GetResult();
assert.equal("/**\n * @brief \n * \n * @return long double \n */", result);
+
+ result = testSetup.SetLine("long unsigned unsigned_foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return long unsigned \n */", result);
});
});