aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2018-11-27 18:25:34 -0500
committerTimothee Cour <timothee.cour2@gmail.com>2018-11-27 18:28:14 -0500
commit6a4158dab4ee36214678a92a1e5605a00402f01c (patch)
tree09ac047308fe1b1c192bf6de8445a39cbbd6e9a4
parentd00aeeafdd54134ff294dc4459a6b8cbaa560f8d (diff)
downloadnimterop-6a4158dab4ee36214678a92a1e5605a00402f01c.tar.gz
nimterop-6a4158dab4ee36214678a92a1e5605a00402f01c.zip
fixup
-rw-r--r--nimterop.nimble2
-rw-r--r--tests/include/test.h2
-rw-r--r--tests/include/test2.cpp3
-rw-r--r--tests/include/test2.hpp4
-rw-r--r--tests/tnimterop_cpp.nim38
5 files changed, 9 insertions, 40 deletions
diff --git a/nimterop.nimble b/nimterop.nimble
index 52241a3..aef56fc 100644
--- a/nimterop.nimble
+++ b/nimterop.nimble
@@ -18,7 +18,7 @@ proc execCmd(cmd:string)=
task test, "Test":
execCmd "nim c -r tests/tnimterop_c.nim"
- execCmd "nim c -r tests/tnimterop_cpp.nim"
+ execCmd "nim cpp -r tests/tnimterop_cpp.nim"
task installWithDeps, "install dependencies":
for a in ["http://github.com/genotrance/nimtreesitter?subdir=treesitter",
diff --git a/tests/include/test.h b/tests/include/test.h
index 7de6eed..6138ca3 100644
--- a/tests/include/test.h
+++ b/tests/include/test.h
@@ -40,4 +40,4 @@ int test_call_int();
struct STRUCT1 _test_call_int_param_(int param1);
STRUCT2 test_call_int_param2(int param1, STRUCT2 param2);
STRUCT2 test_call_int_param3(int param1, struct STRUCT1 param2);
-ENUM2 test_call_int_param4(enum ENUM param1); \ No newline at end of file
+ENUM2 test_call_int_param4(enum ENUM param1);
diff --git a/tests/include/test2.cpp b/tests/include/test2.cpp
index 4a40e90..7039cde 100644
--- a/tests/include/test2.cpp
+++ b/tests/include/test2.cpp
@@ -1,8 +1,5 @@
#include "test2.hpp"
-// BUG: should complain
-// # include test2.h
-
int test_call_int() {
return 5;
}
diff --git a/tests/include/test2.hpp b/tests/include/test2.hpp
index 1ba9a8d..0fd90ee 100644
--- a/tests/include/test2.hpp
+++ b/tests/include/test2.hpp
@@ -1,4 +1,8 @@
+#include <stdint.h>
+
#define TEST_INT 512
+#define TEST_FLOAT 5.12
+#define TEST_HEX 0x512
int test_call_int();
diff --git a/tests/tnimterop_cpp.nim b/tests/tnimterop_cpp.nim
index b3d62f5..bed052c 100644
--- a/tests/tnimterop_cpp.nim
+++ b/tests/tnimterop_cpp.nim
@@ -6,44 +6,12 @@ cDebug()
cIncludeDir "$projpath/include"
cAddSearchDir "$projpath/include"
cCompile cSearchPath "test2.cpp"
-# TODO: allow this to have correct language: cImport("test2.h")
cImport cSearchPath "test2.hpp"
check TEST_INT == 512
+check TEST_FLOAT == 5.12
+check TEST_HEX == 0x512
check test_call_int() == 5
var foo: Foo
-check foo.bar == 2
-
-# var foo2: Foo2[int]
-# var foo2: Foo2Int
-
-when false:
- doAssert TEST_FLOAT == 5.12
- doAssert TEST_HEX == 0x512
-
- var
- pt: PRIMTYPE
- ct: CUSTTYPE
-
- s: STRUCT1
- s2: STRUCT2
- s3: STRUCT3
-
- e: ENUM
- e2: ENUM2 = enum5
-
- pt = 3
- ct = 4
-
- s.field1 = 5
- s2.field1 = 6
- s3.field1 = 7
-
- e = enum1
- e2 = enum4
-
- doAssert test_call_int_param(5).field1 == 5
- doAssert test_call_int_param2(5, s2).field1 == 11
- doAssert test_call_int_param3(5, s).field1 == 10
- doAssert test_call_int_param4(e) == e2
+check foo.bar == 0