1
0
mirror of synced 2026-08-04 06:26:55 +00:00

fix: reverse route handlers order (#517)

This PR mirrors https://github.com/microsoft/playwright/pull/7585

https://github.com/microsoft/playwright/issues/7394
This commit is contained in:
Yury Semikhatsky
2021-07-16 10:38:27 -07:00
committed by GitHub
parent a1ef49cd03
commit 1b58892e58
3 changed files with 20 additions and 19 deletions
@@ -37,7 +37,7 @@ class Router {
}
void add(UrlMatcher matcher, Consumer<Route> handler) {
routes.add(new RouteInfo(matcher, handler));
routes.add(0, new RouteInfo(matcher, handler));
}
void remove(UrlMatcher matcher, Consumer<Route> handler) {
@@ -57,11 +57,10 @@ public class TestBrowserContextRoute extends TestBase {
Page page = context.newPage();
List<Integer> intercepted = new ArrayList<>();
Consumer<Route> 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 @@ public class TestBrowserContextRoute extends TestBase {
intercepted.add(3);
route.resume();
});
context.route("**/*", route -> {
Consumer<Route> 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();
}
@@ -63,11 +63,11 @@ public class TestPageRoute extends TestBase {
@Test
void shouldUnroute() {
List<Integer> intercepted = new ArrayList<>();
Consumer<Route> 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 @@ public class TestPageRoute extends TestBase {
intercepted.add(3);
route.resume();
});
page.route("**/*", route -> {
Consumer<Route> 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