summaryrefslogtreecommitdiff
path: root/testtools
diff options
context:
space:
mode:
Diffstat (limited to 'testtools')
-rw-r--r--testtools/com/sun/star/comp/bridge/TestComponent.java5
-rw-r--r--testtools/source/bridgetest/bridgetest.cxx6
-rw-r--r--testtools/source/bridgetest/cli/cli_cs_testobj.cs2
-rw-r--r--testtools/source/bridgetest/cppobj.cxx1
-rw-r--r--testtools/source/bridgetest/idl/bridgetest.idl6
5 files changed, 20 insertions, 0 deletions
diff --git a/testtools/com/sun/star/comp/bridge/TestComponent.java b/testtools/com/sun/star/comp/bridge/TestComponent.java
index e5cb2c49a907..dcc835125219 100644
--- a/testtools/com/sun/star/comp/bridge/TestComponent.java
+++ b/testtools/com/sun/star/comp/bridge/TestComponent.java
@@ -42,6 +42,7 @@ import test.testtools.bridgetest.TwoFloats;
import test.testtools.bridgetest.FourFloats;
import test.testtools.bridgetest.MixedFloatAndInteger;
import test.testtools.bridgetest.DoubleHyper;
+import test.testtools.bridgetest.HyperDouble;
import test.testtools.bridgetest.FloatFloatLongByte;
import test.testtools.bridgetest.ThreeByteStruct;
import test.testtools.bridgetest.XBridgeTest;
@@ -510,6 +511,10 @@ public class TestComponent {
return s;
}
+ public HyperDouble echoHyperDouble(HyperDouble s) throws com.sun.star.uno.RuntimeException {
+ return s;
+ }
+
public FloatFloatLongByte echoFloatFloatLongByte(FloatFloatLongByte s)
throws com.sun.star.uno.RuntimeException
{
diff --git a/testtools/source/bridgetest/bridgetest.cxx b/testtools/source/bridgetest/bridgetest.cxx
index 2d3de2aca07f..6228d9423411 100644
--- a/testtools/source/bridgetest/bridgetest.cxx
+++ b/testtools/source/bridgetest/bridgetest.cxx
@@ -491,6 +491,12 @@ static bool performTest(
&& check(out.b == in.b, "double and hyper struct test: hyper");
}
{
+ HyperDouble in(12, 13.0);
+ HyperDouble out = xLBT->echoHyperDouble(in);
+ bRet &= check(out.a == in.a, "hyper and double struct test: hyper")
+ && check(out.b == in.b, "hyper and double struct test: double");
+ }
+ {
FloatFloatLongByte in(20.0f, 21.0f, 22, '3');
FloatFloatLongByte out = xLBT->echoFloatFloatLongByte(in);
bRet &= check(out.a == in.a, "double and hyper struct test: first float")
diff --git a/testtools/source/bridgetest/cli/cli_cs_testobj.cs b/testtools/source/bridgetest/cli/cli_cs_testobj.cs
index fb4148cc2a68..8d209ec44f01 100644
--- a/testtools/source/bridgetest/cli/cli_cs_testobj.cs
+++ b/testtools/source/bridgetest/cli/cli_cs_testobj.cs
@@ -261,6 +261,8 @@ public class BridgeTestObject : WeakBase, XRecursiveCall, XBridgeTest2
public DoubleHyper echoDoubleHyper(Mix s) { return s; }
+ public HyperDouble echoHyperDouble(Mix s) { return s; }
+
public FloatFloatLongByte echoFloatFloatLongByte(Mix s) { return s; }
public ThreeByteStruct echoThreeByteStruct(/*[in]*/ThreeByteStruct arg)
diff --git a/testtools/source/bridgetest/cppobj.cxx b/testtools/source/bridgetest/cppobj.cxx
index 27b06ea7f0ad..e4666c4d22a3 100644
--- a/testtools/source/bridgetest/cppobj.cxx
+++ b/testtools/source/bridgetest/cppobj.cxx
@@ -246,6 +246,7 @@ public:
virtual MixedFloatAndInteger SAL_CALL echoMixedFloatAndInteger(const MixedFloatAndInteger& rStruct) override
{ return rStruct; }
virtual DoubleHyper SAL_CALL echoDoubleHyper(DoubleHyper const & s) override { return s; }
+ virtual HyperDouble SAL_CALL echoHyperDouble(HyperDouble const & s) override { return s; }
virtual FloatFloatLongByte SAL_CALL echoFloatFloatLongByte(FloatFloatLongByte const & s)
override
{ return s; }
diff --git a/testtools/source/bridgetest/idl/bridgetest.idl b/testtools/source/bridgetest/idl/bridgetest.idl
index d9732edde7a8..82d63c37e9e3 100644
--- a/testtools/source/bridgetest/idl/bridgetest.idl
+++ b/testtools/source/bridgetest/idl/bridgetest.idl
@@ -126,6 +126,10 @@ struct DoubleHyper {
double a;
hyper b;
};
+struct HyperDouble {
+ hyper a;
+ double b;
+};
struct FloatFloatLongByte {
float a;
float b;
@@ -340,6 +344,8 @@ interface XBridgeTestBase : com::sun::star::uno::XInterface
DoubleHyper echoDoubleHyper([in] DoubleHyper s);
+ HyperDouble echoHyperDouble([in] HyperDouble s);
+
FloatFloatLongByte echoFloatFloatLongByte([in] FloatFloatLongByte s);
/**