From 9b021cddf4547ef2ceb523c5f09e51b29cafb980 Mon Sep 17 00:00:00 2001 From: David Roden Date: Sat, 25 Jan 2025 12:53:32 +0100 Subject: [PATCH] =?utf8?q?=F0=9F=90=9B=20Only=20send=20a=20single=20new-wi?= =?utf8?q?ndow/frame=20event=20for=20each=20window/frame?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- server/src/main/java/de/qsheltier/msta/Server.java | 2 -- server/src/test/java/de/qsheltier/msta/ServerTest.java | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/de/qsheltier/msta/Server.java b/server/src/main/java/de/qsheltier/msta/Server.java index e5b02a5..f9419a4 100644 --- a/server/src/main/java/de/qsheltier/msta/Server.java +++ b/server/src/main/java/de/qsheltier/msta/Server.java @@ -147,9 +147,7 @@ public class Server implements Closeable { .map(window -> "{\"event\":\"new-frame\"}") .forEach(writeLine); - lastOpenWindows.clear(); lastOpenWindows.addAll(openWindows); - lastOpenFrames.clear(); lastOpenFrames.addAll(openFrames); try { Thread.sleep(100); diff --git a/server/src/test/java/de/qsheltier/msta/ServerTest.java b/server/src/test/java/de/qsheltier/msta/ServerTest.java index d25b448..c724a8d 100644 --- a/server/src/test/java/de/qsheltier/msta/ServerTest.java +++ b/server/src/test/java/de/qsheltier/msta/ServerTest.java @@ -105,6 +105,22 @@ public class ServerTest { @Test @Timeout(value = 5, unit = TimeUnit.SECONDS, threadMode = SEPARATE_THREAD) + public void serverSendsASingleEventWhenAFrameIsOpened() throws Throwable { + var frame = new Frame("Frame Title"); + frame.setVisible(true); + try { + connectToServerAndWaitForEvent(reader -> { + reader.readLine(); + Thread.sleep(1000); + assertThat(reader.ready(), equalTo(false)); + }); + } finally { + frame.setVisible(false); + } + } + + @Test + @Timeout(value = 5, unit = TimeUnit.SECONDS, threadMode = SEPARATE_THREAD) public void serverCanHandleMultipleConnections() throws Exception { try (var server = new Server()) { server.start(); -- 2.7.4