1
0
mirror of synced 2026-08-05 15:06:54 +00:00

fix: support 0 size read from stream (#539)

This commit is contained in:
Yury Semikhatsky
2021-08-06 12:35:20 -07:00
committed by GitHub
parent 696610de15
commit 476e222c93
2 changed files with 16 additions and 0 deletions
@@ -45,6 +45,9 @@ public class Stream extends ChannelOwner {
@Override
public int read(byte[] b, int off, int len) {
if (len == 0) {
return 0;
}
JsonObject params = new JsonObject();
params.addProperty("size", len);
JsonObject json = sendMessage("read", params).getAsJsonObject();
@@ -367,6 +367,19 @@ public class TestDownload extends TestBase {
page.close();
}
@Test
void streamShouldSupportZeroSizeRead() throws IOException {
Page page = browser.newPage(new Browser.NewPageOptions().setAcceptDownloads(true));
page.setContent("<a href='" + server.PREFIX + "/download'>download</a>");
Download download = page.waitForDownload(() -> page.click("a"));
InputStream stream = download.createReadStream();
byte[] b = new byte[1];
int read = stream.read(b, 0, 0);
assertEquals(0, read);
page.close();
}
@Test
void shouldDeleteDownloadsOnContextDestruction() {
Page page = browser.newPage(new Browser.NewPageOptions().setAcceptDownloads(true));