Skip to content

Commit 800c2e9

Browse files
authored
fix: support ControlOrMeta action modifier (#1644)
Fixes: #1643
1 parent edf8174 commit 800c2e9

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ public JsonArray serialize(List<KeyboardModifier> modifiers, Type typeOfSrc, Jso
315315
if (modifiers.contains(KeyboardModifier.CONTROL)) {
316316
result.add("Control");
317317
}
318+
if (modifiers.contains(KeyboardModifier.CONTROLORMETA)) {
319+
result.add("ControlOrMeta");
320+
}
318321
if (modifiers.contains(KeyboardModifier.META)) {
319322
result.add("Meta");
320323
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616

1717
package com.microsoft.playwright;
1818

19+
import com.microsoft.playwright.options.KeyboardModifier;
1920
import org.junit.jupiter.api.Test;
2021

21-
import static org.junit.jupiter.api.Assertions.*;
22+
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
23+
import static java.util.Arrays.asList;
24+
import static org.junit.jupiter.api.Assertions.assertEquals;
2225

2326
public class TestLocatorClick extends TestBase {
2427

@@ -54,4 +57,12 @@ void shouldDoubleClickTheButton() {
5457
assertEquals(true, page.evaluate("double"));
5558
assertEquals("Clicked", page.evaluate("result"));
5659
}
60+
61+
@Test
62+
void shouldSupportCotrolOrMetaModifier() {
63+
page.setContent("<a href='" + server.PREFIX + "/title.html'>Go</a>");
64+
Page newPage = page.context().waitForPage(() ->
65+
page.getByText("Go").click(new Locator.ClickOptions().setModifiers(asList(KeyboardModifier.CONTROLORMETA))));
66+
assertThat(newPage).hasURL(server.PREFIX + "/title.html");
67+
}
5768
}

0 commit comments

Comments
 (0)