From 88a4ade3d64e82e4e1295b36f00e3dc11166489f Mon Sep 17 00:00:00 2001 From: Kittenji <41535779+ChrisFeline@users.noreply.github.com> Date: Thu, 17 Nov 2022 11:42:09 -0500 Subject: [PATCH 1/2] Add 'MessageComplete' parameter. --- src/vrcosclib/Chatbox/OscChatbox.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vrcosclib/Chatbox/OscChatbox.cs b/src/vrcosclib/Chatbox/OscChatbox.cs index 1988f43..05db6e9 100644 --- a/src/vrcosclib/Chatbox/OscChatbox.cs +++ b/src/vrcosclib/Chatbox/OscChatbox.cs @@ -7,7 +7,7 @@ public static class OscChatbox { public static string InputAddress = "/chatbox/input"; public static string TypingAddress = "/chatbox/typing"; - public static void SendMessage(string message, bool direct) + public static void SendMessage(string message, bool direct, bool complete = false) { OscClient client = OscUtility.Client; OscWriter writer = client.Writer; @@ -15,7 +15,7 @@ public static void SendMessage(string message, bool direct) writer.Reset(); writer.Write(InputAddress); - writer.Write(direct ? ",sT" : ",sF"); + writer.Write((direct ? ",sT" : ",sF") + (complete ? "T" : "F")); writer.WriteUtfString(message); socket.Send(writer.Buffer, writer.Length, SocketFlags.None); } From 121a7a127be84683a79db7488425565ff0aea72e Mon Sep 17 00:00:00 2001 From: ChanyaKushima <63221603+ChanyaVRC@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:39:31 +0900 Subject: [PATCH 2/2] Add test for #26 --- src/vrcosclib.Test/Chatbox/OscChatboxTest.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/vrcosclib.Test/Chatbox/OscChatboxTest.cs b/src/vrcosclib.Test/Chatbox/OscChatboxTest.cs index cc1ba72..42ba90c 100644 --- a/src/vrcosclib.Test/Chatbox/OscChatboxTest.cs +++ b/src/vrcosclib.Test/Chatbox/OscChatboxTest.cs @@ -37,12 +37,12 @@ public void OneTimeTearDown() } - [TestCase("", true)] - [TestCase("ASCII", true)] - [TestCase("ASCII", false)] - [TestCase("UTF-8", true)] - [TestCase("😂😭😪😥😰😅😓😩😫😨😱", true)] - public async Task SendMessageTest(string message, bool direct) + [TestCase("", true, true)] + [TestCase("ASCII", true, false)] + [TestCase("ASCII", false, true)] + [TestCase("UTF-8", true, false)] + [TestCase("😂😭😪😥😰😅😓😩😫😨😱", true, true)] + public async Task SendMessageTest(string message, bool direct, bool messageComplete) { OscMessageValues value = null!; void valueReadMethod(OscMessageValues v) => value = v; @@ -50,14 +50,16 @@ public async Task SendMessageTest(string message, bool direct) byte[] recievedMessage = new byte[2024]; - OscChatbox.SendMessage(message, direct); + OscChatbox.SendMessage(message, direct, messageComplete); await TestUtility.LoopWhile(() => value == null, TestUtility.LatencyTimeout); int length = value.ReadStringElementBytes(0, recievedMessage); bool recievedDirect = value.ReadBooleanElement(1); + bool recievedMessageComplete = value.ReadBooleanElement(2); Assert.AreEqual(message, Encoding.UTF8.GetString(recievedMessage, 0, length)); Assert.AreEqual(direct, recievedDirect); + Assert.AreEqual(messageComplete, recievedMessageComplete); } [TestCase(true)]