From e9b379f5ed8ac17772688dee3b73f7fb433d624f Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Mon, 10 Jan 2022 12:41:10 -0800 Subject: [PATCH] test: unroute predicate (#768) --- .../microsoft/playwright/TestPageRoute.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java b/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java index d39a0b76..efbf1016 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java @@ -29,6 +29,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; +import java.util.function.Predicate; import java.util.regex.Pattern; import static com.microsoft.playwright.Utils.mapOf; @@ -95,6 +96,38 @@ public class TestPageRoute extends TestBase { assertEquals(asList(1), intercepted); } + @Test + void shouldUnroutePredicate() { + List intercepted = new ArrayList<>(); + Predicate predicate = r -> true; + page.route(predicate, route -> { + intercepted.add(1); + route.resume(); + }); + page.route(predicate, route -> { + intercepted.add(2); + route.resume(); + }); + Consumer handler3 = route -> { + intercepted.add(3); + route.resume(); + }; + page.route(predicate, handler3); + + page.navigate(server.EMPTY_PAGE); + assertEquals(asList(3), intercepted); + + intercepted.clear(); + page.unroute(predicate, handler3); + page.navigate(server.EMPTY_PAGE); + assertEquals(asList(2), intercepted); + + intercepted.clear(); + page.unroute(predicate); + page.navigate(server.EMPTY_PAGE); + assertEquals(asList(), intercepted); + } + @Test void shouldWorkWhenPOSTIsRedirectedWith302() { server.setRedirect("/rredirect", "/empty.html");