osc multi arguments
Some checks failed
CI / Native Windows Build And Tests (push) Failing after 7s
CI / React UI Build (push) Has been cancelled
CI / Windows Release Package (push) Has been cancelled

This commit is contained in:
2026-05-03 14:51:57 +10:00
parent 7dc4b552a5
commit 0560ea3c49
8 changed files with 436 additions and 48 deletions

View File

@@ -110,6 +110,20 @@ void TestDecodeDoubleMessage()
Expect(message.valueJson.find("51.5") == 0, "double OSC value becomes JSON number");
}
void TestDecodeVectorMessage()
{
OscServer server;
std::vector<char> packet = BuildOscPacket("/VideoShaderToys/video-transform/pan", ",ff");
AppendFloat32(packet, 0.25f);
AppendFloat32(packet, -0.5f);
OscServerTestAccess::Message message;
std::string error;
Expect(OscServerTestAccess::Decode(server, packet, message, error), "multi-float OSC message decodes");
Expect(message.address == "/VideoShaderToys/video-transform/pan", "multi-float OSC address is preserved");
Expect(message.valueJson.find("[0.25,-0.5") == 0, "multi-float OSC value becomes JSON array");
}
void TestDecodeIntStringAndBoolMessages()
{
OscServer server;
@@ -183,6 +197,7 @@ int main()
{
TestDecodeFloatMessage();
TestDecodeDoubleMessage();
TestDecodeVectorMessage();
TestDecodeIntStringAndBoolMessages();
TestDispatchValidAddress();
TestRejectsUnsupportedAddress();