From 382398631c19ecd65ac474e2eb679ffbabb4d653 Mon Sep 17 00:00:00 2001 From: monkey <105265603+Develop-KIM@users.noreply.github.com> Date: Wed, 5 Aug 2026 01:59:25 +0900 Subject: [PATCH] fix(screencast): register AnnotatePosition enum serializer (#1948) --- .../playwright/impl/Serialization.java | 1 + .../microsoft/playwright/TestScreencast.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java b/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java index d07aaf56..f5b44c96 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java @@ -45,6 +45,7 @@ class Serialization { .registerTypeAdapter(Date.class, new DateSerializer()) .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer()) .registerTypeAdapter(SameSiteAttribute.class, new SameSiteAdapter().nullSafe()) + .registerTypeAdapter(AnnotatePosition.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(BrowserChannel.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(ColorScheme.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(Contrast.class, new ToLowerCaseAndDashSerializer()) diff --git a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java index 2d81b3d4..f36d1b97 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java @@ -16,6 +16,7 @@ package com.microsoft.playwright; +import com.microsoft.playwright.options.AnnotatePosition; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -247,4 +248,21 @@ public class TestScreencast extends TestBase { context.close(); } } + + @Test + void screencastShowActionsShouldAcceptEveryPosition() throws Exception { + BrowserContext context = browser.newContext(); + Page page = context.newPage(); + try { + page.navigate(server.EMPTY_PAGE); + for (AnnotatePosition position : AnnotatePosition.values()) { + AutoCloseable disposable = page.screencast().showActions( + new Screencast.ShowActionsOptions().setPosition(position)); + assertNotNull(disposable); + disposable.close(); + } + } finally { + context.close(); + } + } }