Skip to content

Commit bae57ee

Browse files
authored
cherry-pick(#1469): fix: put file payloads into "payloads" protocol f… (#1470)
Reference #1468
1 parent fd0c9ca commit bae57ee

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ void setInputFilesImpl(FilePayload[] files, SetInputFilesOptions options) {
490490
options = new SetInputFilesOptions();
491491
}
492492
JsonObject params = gson().toJsonTree(options).getAsJsonObject();
493-
params.add("files", Serialization.toJsonArray(files));
493+
params.add("payloads", Serialization.toJsonArray(files));
494494
sendMessage("setInputFiles", params);
495495
}
496496

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,18 @@ void shouldAcceptSingleFile() {
308308
assertEquals("file-to-upload.txt", page.evalOnSelector("input", "input => input.files[0].name"));
309309
}
310310

311-
// @Test
311+
@Test
312+
void shouldAcceptSingleFilePayload() {
313+
page.setContent("<input type=file oninput='javascript:console.timeStamp()'>");
314+
FileChooser fileChooser = page.waitForFileChooser(() -> page.click("input"));
315+
assertEquals(page, fileChooser.page());
316+
assertNotNull(fileChooser.element());
317+
fileChooser.setFiles(new FilePayload("test.txt", "text/plain", "Hello!".getBytes()));
318+
assertEquals(1, page.evalOnSelector("input", "input => input.files.length"));
319+
assertEquals("test.txt", page.evalOnSelector("input", "input => input.files[0].name"));
320+
}
321+
322+
// @Test
312323
void shouldDetectMimeType() throws ExecutionException, InterruptedException {
313324
// TODO: Parse form fields on server
314325
}

0 commit comments

Comments
 (0)