@Test public void chatTest() throws ExecutionException, InterruptedException { factory.get("/a/chat1"); factory.get("/a/chat2"); factory.get("/a/chat3"); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a", "yo").get().size(), 0); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a/", "yo").get().size(), 0); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a/*", "yo").get().size(), 3); }
@Test public void complexBroadcastTest() throws ExecutionException, InterruptedException { factory.get("/a/b/c/d"); factory.get("/b"); factory.get("/c"); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/*", "yo").get().size(), 3); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a/b/c/d", "yo").get().size(), 1); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a", "yo").get().size(), 0); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/b", "yo").get().size(), 1); }
@Test public void wildcardBroadcastTest() throws ExecutionException, InterruptedException { factory.get("/a"); factory.get("/b"); factory.get("/c"); assertEquals(metaBroadcaster.broadcastTo("/*", "yo").get().size(), 3); assertEquals(metaBroadcaster.broadcastTo("/a/b", "yo").get().size(), 0); assertEquals(metaBroadcaster.broadcastTo("/a", "yo").get().size(), 1); assertEquals(metaBroadcaster.broadcastTo("/", "yo").get().size(), 3); factory.get("/*"); assertEquals(metaBroadcaster.broadcastTo("/", "yo").get().size(), 4); }
@Test public void issue836Test() throws ExecutionException, InterruptedException { factory.get("/a/@b"); factory.get("/b"); factory.get("/c"); assertEquals(metaBroadcaster.broadcastTo("/a/@b", "yo").get().size(), 1); }
@Test public void underscoreMatching() throws ExecutionException, InterruptedException { factory.get("/a/_b"); factory.get("/b"); factory.get("/c"); assertEquals(metaBroadcaster.broadcastTo("/a/_b", "yo").get().size(), 1); }
@Test public void traillingBroadcastTest() throws ExecutionException, InterruptedException { factory.get("/a/b"); factory.get("/b"); factory.get("/c"); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a/b", "yo").get().size(), 1); }
@Test public void exactBroadcastTest() throws ExecutionException, InterruptedException { factory.get("/a"); factory.get("/a/b"); factory.get("/c"); assertEquals(MetaBroadcaster.getDefault().broadcastTo("/a", "yo").get().get(0).getID(), "/a"); }