Browse Source

Added StringOutRef test.

Moved const char string in/out into its own test function.
pull/306/head
Tom Spilman 12 years ago
parent
commit
4bddc0798b
  1. 8
      tests/Basic/Basic.Tests.cs
  2. 5
      tests/Basic/Basic.cpp
  3. 1
      tests/Basic/Basic.h

8
tests/Basic/Basic.Tests.cs

@ -55,10 +55,18 @@ public class BasicTests : GeneratorTestFixture
//Assert.That(hello.RetEnum(Enum.D), Is.EqualTo(-2147483648)); //Assert.That(hello.RetEnum(Enum.D), Is.EqualTo(-2147483648));
Assert.That(hello.RetEnum(Enum.E), Is.EqualTo(1)); Assert.That(hello.RetEnum(Enum.E), Is.EqualTo(1));
Assert.That(hello.RetEnum(Enum.F), Is.EqualTo(-9)); Assert.That(hello.RetEnum(Enum.F), Is.EqualTo(-9));
}
[Test]
public void TestPrimitiveConstCharStringInOut()
{
var hello = new Hello();
string str; string str;
hello.StringOut(out str); hello.StringOut(out str);
Assert.That(str, Is.EqualTo("HelloStringOut")); Assert.That(str, Is.EqualTo("HelloStringOut"));
hello.StringOutRef(out str);
Assert.That(str, Is.EqualTo("HelloStringOutRef"));
} }
[Test] [Test]

5
tests/Basic/Basic.cpp

@ -208,6 +208,11 @@ void Hello::StringOut(CS_OUT const char** str)
*str = "HelloStringOut"; *str = "HelloStringOut";
} }
void Hello::StringOutRef(CS_OUT const char*& str)
{
str = "HelloStringOutRef";
}
int unsafeFunction(const Bar& ret, char* testForString, void (*foo)(int)) int unsafeFunction(const Bar& ret, char* testForString, void (*foo)(int))
{ {
return ret.A; return ret.A;

1
tests/Basic/Basic.h

@ -134,6 +134,7 @@ public:
void EnumInOutRef(CS_IN_OUT Enum& e); void EnumInOutRef(CS_IN_OUT Enum& e);
void StringOut(CS_OUT const char** str); void StringOut(CS_OUT const char** str);
void StringOutRef(CS_OUT const char*& str);
}; };
class DLL_API AbstractFoo class DLL_API AbstractFoo

Loading…
Cancel
Save