summaryrefslogtreecommitdiffstats
path: root/src/test/simpleReturn.test.ts
diff options
context:
space:
mode:
authorRowan Goemans <RB.Goemans@student.han.nl>2017-12-28 21:00:30 +0100
committerChristoph Schlosser <christophschlosser@users.noreply.github.com>2018-02-20 22:02:22 +0100
commit5b0912d99732536ae18d3c70730cc6df2ed3af24 (patch)
tree865a574c2639aa76bb088edbd4e4dd11926f8b4b /src/test/simpleReturn.test.ts
parent0192f188aa8df79bbc7a2cec7a7e3f4bd0d70417 (diff)
downloaddoxdocgen-5b0912d99732536ae18d3c70730cc6df2ed3af24.tar.gz
-- Implemented support for all operators except the conversion operator.
-- Implemented support for noexcept and throw. -- Implemented support for constexpr. -- Implemented support for multiple template specifications. -- Rewritten some unit tests. -- Fixed bug where unnamed parameters weren't recognized properly -- Fixed bug where namespace with template params weren't being parsed correctly.
Diffstat (limited to 'src/test/simpleReturn.test.ts')
-rw-r--r--src/test/simpleReturn.test.ts79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/test/simpleReturn.test.ts b/src/test/simpleReturn.test.ts
new file mode 100644
index 0000000..8f3e5d1
--- /dev/null
+++ b/src/test/simpleReturn.test.ts
@@ -0,0 +1,79 @@
+//
+// 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("Arguments tests", () => {
+
+ const testSetup: TestSetup = new TestSetup("void foo();");
+
+ // Tests
+ test("void return", () => {
+ const result = testSetup.SetMethod("void foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n */", result);
+ });
+
+ test("simple type return", () => {
+ const result = testSetup.SetMethod("int foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return int \n */", result);
+ });
+
+ test("bool return type", () => {
+ const result = testSetup.SetMethod("bool foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return true \n * @return false \n */", result);
+ });
+
+ test("pointer return type", () => {
+ const result = testSetup.SetMethod("int* foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return int* \n */", result);
+ });
+
+ test("bool pointer return type", () => {
+ const result = testSetup.SetMethod("bool* foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return true \n * @return false \n * @return null \n */", result);
+ });
+
+ test("Fundamental return type with modifiers", () => {
+ let result = testSetup.SetMethod("unsigned int foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return unsigned int \n */", result);
+
+ result = testSetup.SetMethod("unsigned short int foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return unsigned short int \n */", result);
+
+ result = testSetup.SetMethod("signed short foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return signed short \n */", result);
+
+ result = testSetup.SetMethod("long foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return long \n */", result);
+
+ result = testSetup.SetMethod("unsigned long long int foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return unsigned long long int \n */", result);
+
+ result = testSetup.SetMethod("signed foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return signed \n */", result);
+
+ result = testSetup.SetMethod("unsigned foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return unsigned \n */", result);
+
+ result = testSetup.SetMethod("unsigned char foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return unsigned char \n */", result);
+
+ result = testSetup.SetMethod("long double foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return long double \n */", result);
+ });
+
+ test("struct return type", () => {
+ const result = testSetup.SetMethod("struct my_struct foo();").GetResult();
+ assert.equal("/**\n * @brief \n * \n * @return struct my_struct \n */", result);
+ });
+
+});