From 8ab1b027d5ec29237d0fc0d8d761bd8eddaa69db Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Tue, 13 Jul 2021 22:09:31 +0300 Subject: [PATCH] fix: reverse route handlers order --- .../com/microsoft/playwright/impl/Router.java | 2 +- .../playwright/TestBrowserContextRoute.java | 18 +++++++++--------- .../microsoft/playwright/TestPageRoute.java | 19 ++++++++++--------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/Router.java b/playwright/src/main/java/com/microsoft/playwright/impl/Router.java index b711cd3d1..0c096ec6e 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/Router.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/Router.java @@ -37,7 +37,7 @@ private static class RouteInfo { } void add(UrlMatcher matcher, Consumer handler) { - routes.add(new RouteInfo(matcher, handler)); + routes.add(0, new RouteInfo(matcher, handler)); } void remove(UrlMatcher matcher, Consumer handler) { diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextRoute.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextRoute.java index 7d87153d5..7fc84eb37 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextRoute.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextRoute.java @@ -57,11 +57,10 @@ void shouldUnroute() { Page page = context.newPage(); List intercepted = new ArrayList<>(); - Consumer handler1 = route -> { + context.route("**/*", route -> { intercepted.add(1); route.resume(); - }; - context.route("**/empty.html", handler1); + }); context.route("**/empty.html", route -> { intercepted.add(2); route.resume(); @@ -70,22 +69,23 @@ void shouldUnroute() { intercepted.add(3); route.resume(); }); - context.route("**/*", route -> { + Consumer handler4 = route -> { intercepted.add(4); route.resume(); - }); + }; + context.route("**/empty.html", handler4); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(1), intercepted); + assertEquals(asList(4), intercepted); intercepted.clear(); - context.unroute("**/empty.html", handler1); + context.unroute("**/empty.html", handler4); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(2), intercepted); + assertEquals(asList(3), intercepted); intercepted.clear(); context.unroute("**/empty.html"); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(4), intercepted); + assertEquals(asList(1), intercepted); context.close(); } diff --git a/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java b/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java index fd042a114..c9814fd7d 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java @@ -63,11 +63,11 @@ void shouldIntercept() { @Test void shouldUnroute() { List intercepted = new ArrayList<>(); - Consumer handler1 = route -> { + page.route("**/*", route -> { intercepted.add(1); route.resume(); - }; - page.route("**/empty.html", handler1); + }); + page.route("**/empty.html", route -> { intercepted.add(2); route.resume(); @@ -76,22 +76,23 @@ void shouldUnroute() { intercepted.add(3); route.resume(); }); - page.route("**/*", route -> { + Consumer handler4 = route -> { intercepted.add(4); route.resume(); - }); + }; + page.route("**/empty.html", handler4); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(1), intercepted); + assertEquals(asList(4), intercepted); intercepted.clear(); - page.unroute("**/empty.html", handler1); + page.unroute("**/empty.html", handler4); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(2), intercepted); + assertEquals(asList(3), intercepted); intercepted.clear(); page.unroute("**/empty.html"); page.navigate(server.EMPTY_PAGE); - assertEquals(asList(4), intercepted); + assertEquals(asList(1), intercepted); } @Test