Skip to content

Commit 1b58892

Browse files
authored
fix: reverse route handlers order (#517)
This PR mirrors microsoft/playwright#7585 microsoft/playwright#7394
1 parent a1ef49c commit 1b58892

File tree

3 files changed

+20
-19
lines changed

3 files changed

+20
-19
lines changed

playwright/src/main/java/com/microsoft/playwright/impl/Router.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ private static class RouteInfo {
3737
}
3838

3939
void add(UrlMatcher matcher, Consumer<Route> handler) {
40-
routes.add(new RouteInfo(matcher, handler));
40+
routes.add(0, new RouteInfo(matcher, handler));
4141
}
4242

4343
void remove(UrlMatcher matcher, Consumer<Route> handler) {

playwright/src/test/java/com/microsoft/playwright/TestBrowserContextRoute.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,10 @@ void shouldUnroute() {
5757
Page page = context.newPage();
5858

5959
List<Integer> intercepted = new ArrayList<>();
60-
Consumer<Route> handler1 = route -> {
60+
context.route("**/*", route -> {
6161
intercepted.add(1);
6262
route.resume();
63-
};
64-
context.route("**/empty.html", handler1);
63+
});
6564
context.route("**/empty.html", route -> {
6665
intercepted.add(2);
6766
route.resume();
@@ -70,22 +69,23 @@ void shouldUnroute() {
7069
intercepted.add(3);
7170
route.resume();
7271
});
73-
context.route("**/*", route -> {
72+
Consumer<Route> handler4 = route -> {
7473
intercepted.add(4);
7574
route.resume();
76-
});
75+
};
76+
context.route("**/empty.html", handler4);
7777
page.navigate(server.EMPTY_PAGE);
78-
assertEquals(asList(1), intercepted);
78+
assertEquals(asList(4), intercepted);
7979

8080
intercepted.clear();
81-
context.unroute("**/empty.html", handler1);
81+
context.unroute("**/empty.html", handler4);
8282
page.navigate(server.EMPTY_PAGE);
83-
assertEquals(asList(2), intercepted);
83+
assertEquals(asList(3), intercepted);
8484

8585
intercepted.clear();
8686
context.unroute("**/empty.html");
8787
page.navigate(server.EMPTY_PAGE);
88-
assertEquals(asList(4), intercepted);
88+
assertEquals(asList(1), intercepted);
8989

9090
context.close();
9191
}

playwright/src/test/java/com/microsoft/playwright/TestPageRoute.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ void shouldIntercept() {
6363
@Test
6464
void shouldUnroute() {
6565
List<Integer> intercepted = new ArrayList<>();
66-
Consumer<Route> handler1 = route -> {
66+
page.route("**/*", route -> {
6767
intercepted.add(1);
6868
route.resume();
69-
};
70-
page.route("**/empty.html", handler1);
69+
});
70+
7171
page.route("**/empty.html", route -> {
7272
intercepted.add(2);
7373
route.resume();
@@ -76,22 +76,23 @@ void shouldUnroute() {
7676
intercepted.add(3);
7777
route.resume();
7878
});
79-
page.route("**/*", route -> {
79+
Consumer<Route> handler4 = route -> {
8080
intercepted.add(4);
8181
route.resume();
82-
});
82+
};
83+
page.route("**/empty.html", handler4);
8384
page.navigate(server.EMPTY_PAGE);
84-
assertEquals(asList(1), intercepted);
85+
assertEquals(asList(4), intercepted);
8586

8687
intercepted.clear();
87-
page.unroute("**/empty.html", handler1);
88+
page.unroute("**/empty.html", handler4);
8889
page.navigate(server.EMPTY_PAGE);
89-
assertEquals(asList(2), intercepted);
90+
assertEquals(asList(3), intercepted);
9091

9192
intercepted.clear();
9293
page.unroute("**/empty.html");
9394
page.navigate(server.EMPTY_PAGE);
94-
assertEquals(asList(4), intercepted);
95+
assertEquals(asList(1), intercepted);
9596
}
9697

9798
@Test

0 commit comments

Comments
 (0)