diff --git a/playwright/src/main/java/com/microsoft/playwright/BrowserContext.java b/playwright/src/main/java/com/microsoft/playwright/BrowserContext.java index 60f124329..146e6382b 100644 --- a/playwright/src/main/java/com/microsoft/playwright/BrowserContext.java +++ b/playwright/src/main/java/com/microsoft/playwright/BrowserContext.java @@ -37,7 +37,7 @@ * // Create a new page inside context. * Page page = context.newPage(); * page.navigate("https://example.com"); - * // Dispose context once it"s no longer needed. + * // Dispose context once it is no longer needed. * context.close(); * } */ diff --git a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java index d7361675f..fdb352449 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java @@ -19,8 +19,11 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; +import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.util.List; +import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.*; @@ -101,4 +104,25 @@ void shouldDeleteVideo(@TempDir Path videosDir) { Path videoPath = page.video().path(); assertFalse(Files.exists(videoPath)); } + + @Test + void shouldWaitForVideoFinishWhenPageIsClosed(@TempDir Path videosDir) throws IOException { + try (Browser browser = browserType.launch(createLaunchOptions())) { + BrowserContext context = browser.newContext( + new Browser.NewContextOptions() + .setRecordVideoDir(videosDir) + .setRecordVideoSize(320, 240) + .setViewportSize(320, 240)); + Page page = context.newPage(); + page.evaluate("() => document.body.style.backgroundColor = 'red'"); + page.waitForTimeout(500); + // First close page manually. + page.close(); + context.close(); + } + List files = Files.list(videosDir).collect(Collectors.toList()); + assertEquals(1, files.size()); + assertTrue(Files.exists(files.get(0))); + assertTrue(Files.size(files.get(0)) > 0); + } } diff --git a/scripts/CLI_VERSION b/scripts/CLI_VERSION index fb648f033..d16091b08 100644 --- a/scripts/CLI_VERSION +++ b/scripts/CLI_VERSION @@ -1 +1 @@ -1.12.0-next-1621019018000 +1.12.0-next-1621402179000