Implement desktop sync protocol handling

This commit is contained in:
Misaka
2026-05-15 21:19:27 +08:00
parent 498251ad79
commit 4c314c510b
9 changed files with 253 additions and 14 deletions

View File

@@ -0,0 +1,31 @@
using System.Text.Json;
using WirelessTextSyncer.Windows.Models;
namespace WirelessTextSyncer.Windows.Tests;
[TestClass]
public sealed class SyncMessageTests
{
[TestMethod]
public void DeserializeAndroidInsertTextMessage()
{
var message = JsonSerializer.Deserialize<SyncMessage>(
"""{"action":"insertText","text":"hello"}""",
new JsonSerializerOptions(JsonSerializerDefaults.Web));
Assert.IsNotNull(message);
Assert.AreEqual(SyncAction.InsertText, message.Action);
Assert.AreEqual("hello", message.Text);
}
[TestMethod]
public void DeserializeAndroidBackspaceMessage()
{
var message = JsonSerializer.Deserialize<SyncMessage>(
"""{"action":"backspace"}""",
new JsonSerializerOptions(JsonSerializerDefaults.Web));
Assert.IsNotNull(message);
Assert.AreEqual(SyncAction.Backspace, message.Action);
}
}