Skip to content

Commit ae4a620

Browse files
committed
fix tests
1 parent 14c66f9 commit ae4a620

File tree

4 files changed

+43
-12
lines changed

4 files changed

+43
-12
lines changed

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

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@
2020
import com.google.gson.JsonObject;
2121
import com.microsoft.playwright.ConsoleMessage;
2222
import com.microsoft.playwright.JSHandle;
23-
import com.microsoft.playwright.Page;
23+
import com.microsoft.playwright.PlaywrightException;
2424
import com.microsoft.playwright.options.ConsoleMessageType;
2525

2626
import java.util.ArrayList;
2727
import java.util.List;
2828

29-
import static com.microsoft.playwright.impl.Serialization.gson;
30-
3129
public class ConsoleMessageImpl implements ConsoleMessage {
3230
private final Connection connection;
3331
private PageImpl page;
@@ -45,7 +43,28 @@ public ConsoleMessageImpl(Connection connection, JsonObject initializer) {
4543
}
4644

4745
public ConsoleMessageType type() {
48-
return Utils.convertType(initializer.get("type").getAsString(), ConsoleMessageType.class);
46+
String value = initializer.get("type").getAsString();
47+
switch (value) {
48+
case "log": return ConsoleMessageType.LOG;
49+
case "debug": return ConsoleMessageType.DEBUG;
50+
case "info": return ConsoleMessageType.INFO;
51+
case "error": return ConsoleMessageType.ERROR;
52+
case "warning": return ConsoleMessageType.WARNING;
53+
case "dir": return ConsoleMessageType.DIR;
54+
case "dirxml": return ConsoleMessageType.DIRXML;
55+
case "table": return ConsoleMessageType.TABLE;
56+
case "trace": return ConsoleMessageType.TRACE;
57+
case "clear": return ConsoleMessageType.CLEAR;
58+
case "startGroup": return ConsoleMessageType.STARTGROUP;
59+
case "startGroupCollapsed": return ConsoleMessageType.STARTGROUPCOLLAPSED;
60+
case "endGroup": return ConsoleMessageType.ENDGROUP;
61+
case "assert": return ConsoleMessageType.ASSERT;
62+
case "profile": return ConsoleMessageType.PROFILE;
63+
case "profileEnd": return ConsoleMessageType.PROFILEEND;
64+
case "count": return ConsoleMessageType.COUNT;
65+
case "timeEnd": return ConsoleMessageType.TIMEEND;
66+
default: throw new PlaywrightException("Unexpected console message type: " + value);
67+
}
4968
}
5069

5170
public String text() {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import org.junit.jupiter.api.Test;
2020
import org.junit.jupiter.api.condition.DisabledIf;
2121

22+
import com.microsoft.playwright.options.ConsoleMessageType;
23+
2224
import java.io.OutputStreamWriter;
2325
import java.io.Writer;
2426

@@ -53,7 +55,7 @@ void consoleEventShouldWorkInPopup() {
5355
void consoleEventShouldWorkInPopup2() {
5456
Page[] popup = { null };
5557
ConsoleMessage message = context.waitForConsoleMessage(
56-
new BrowserContext.WaitForConsoleMessageOptions().setPredicate(msg -> "log".equals(msg.type())),
58+
new BrowserContext.WaitForConsoleMessageOptions().setPredicate(msg -> msg.type() == ConsoleMessageType.LOG),
5759
() -> {
5860
popup[0] = context.waitForPage(() -> {
5961
page.evaluate("async () => {\n" +

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

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import org.junit.jupiter.api.Test;
2020
import org.junit.jupiter.api.condition.DisabledIf;
2121

22+
import com.microsoft.playwright.options.ConsoleMessageType;
23+
2224
import java.util.ArrayList;
2325
import java.util.List;
2426

@@ -40,7 +42,7 @@ void shouldWork() {
4042
} else {
4143
assertEquals("hello 5 {foo: bar}", message.text());
4244
}
43-
assertEquals("log", message.type());
45+
assertEquals(ConsoleMessageType.LOG, message.type());
4446
assertEquals("hello", message.args().get(0).jsonValue());
4547
assertEquals(5, message.args().get(1).jsonValue());
4648
assertEquals(mapOf("foo", "bar"), message.args().get(2).jsonValue());
@@ -70,7 +72,13 @@ void shouldWorkForDifferentConsoleAPICalls() {
7072
" console.error('calling console.error');\n" +
7173
" console.log(Promise.resolve('should not wait until resolved!'));\n" +
7274
" }");
73-
assertEquals(asList("timeEnd", "trace", "dir", "warning", "error", "log"),
75+
assertEquals(asList(
76+
ConsoleMessageType.TIMEEND,
77+
ConsoleMessageType.TRACE,
78+
ConsoleMessageType.DIR,
79+
ConsoleMessageType.WARNING,
80+
ConsoleMessageType.ERROR,
81+
ConsoleMessageType.LOG),
7482
messages.stream().map(msg -> msg.type()).collect(toList()));
7583
assertTrue(messages.get(0).text().contains("calling console.time"));
7684

@@ -104,7 +112,7 @@ void shouldTriggerCorrectLog() {
104112
page.evaluate("async url => fetch(url).catch(e => {})", server.EMPTY_PAGE);
105113
});
106114
assertTrue(message.text().contains("Access-Control-Allow-Origin"));
107-
assertEquals("error", message.type());
115+
assertEquals(ConsoleMessageType.ERROR, message.type());
108116
}
109117

110118
@Test
@@ -113,7 +121,7 @@ void shouldHaveLocationForConsoleAPICalls() {
113121
ConsoleMessage message = page.waitForConsoleMessage(
114122
new Page.WaitForConsoleMessageOptions().setPredicate(m -> "yellow".equals(m.text())),
115123
() -> page.navigate(server.PREFIX + "/consolelog.html"));
116-
assertEquals("log", message.type());
124+
assertEquals(ConsoleMessageType.LOG, message.type());
117125
// Engines have different column notion.
118126
assertTrue(message.location().startsWith(server.PREFIX + "/consolelog.html:7:"), message.location());
119127
}
@@ -122,12 +130,12 @@ void shouldHaveLocationForConsoleAPICalls() {
122130
void shouldSupportPredicate() {
123131
page.navigate(server.EMPTY_PAGE);
124132
ConsoleMessage message = page.waitForConsoleMessage(
125-
new Page.WaitForConsoleMessageOptions().setPredicate(m -> "info".equals(m.type())),
133+
new Page.WaitForConsoleMessageOptions().setPredicate(m -> m.type() == ConsoleMessageType.INFO),
126134
() -> {
127135
page.evaluate("console.log(1)");
128136
page.evaluate("console.info(2)");
129137
});
130138
assertEquals("2", message.text());
131-
assertEquals("info", message.type());
139+
assertEquals(ConsoleMessageType.INFO, message.type());
132140
}
133141
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ void shouldHandleErrors() {
139139
@Test
140140
void shouldThrowAlreadyRegisteredErrorWhenRegistering() {
141141
// https://github.com/microsoft/playwright/issues/36467
142-
browser.close();
142+
143+
// this test is about the exception *before* there's a context created
144+
context.close();
143145

144146
// Register the selector engine first
145147
playwright.selectors().register("alreadyRegistered", TAG_SELECTOR_SCRIPT);

0 commit comments

Comments
 (0)