mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-24 09:08:07 +02:00
Merge pull request #17541 from calixteman/issue17540
Use the original value of a field when propagating event (fixes #17540)
This commit is contained in:
commit
f24246150e
6 changed files with 81 additions and 8 deletions
|
@ -2324,4 +2324,46 @@ describe("Interaction", () => {
|
|||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Textfield with a number and some decimals", () => {
|
||||
let pages;
|
||||
let otherPages;
|
||||
|
||||
beforeAll(async () => {
|
||||
otherPages = await Promise.all(
|
||||
global.integrationSessions.map(async session =>
|
||||
session.browser.newPage()
|
||||
)
|
||||
);
|
||||
pages = await loadAndWait("issue17540.pdf", getSelector("15R"));
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await closePages(pages);
|
||||
await Promise.all(otherPages.map(page => page.close()));
|
||||
});
|
||||
|
||||
it("must check the number has the correct number of decimals", async () => {
|
||||
await Promise.all(
|
||||
pages.map(async ([browserName, page], i) => {
|
||||
await page.waitForFunction(
|
||||
"window.PDFViewerApplication.scriptingReady === true"
|
||||
);
|
||||
|
||||
await page.click(getSelector("15R"));
|
||||
await page.type(getSelector("15R"), "3");
|
||||
await page.keyboard.press("Enter");
|
||||
|
||||
await page.waitForFunction(
|
||||
sel => document.querySelector(sel).value !== "",
|
||||
{},
|
||||
getSelector("16R")
|
||||
);
|
||||
|
||||
const text = await page.$eval(getSelector("16R"), el => el.value);
|
||||
expect(text).withContext(`In ${browserName}`).toEqual("0.900");
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
|
@ -625,3 +625,4 @@
|
|||
!bug1871353.1.pdf
|
||||
!file_pdfjs_form.pdf
|
||||
!issue17492.pdf
|
||||
!issue17540.pdf
|
||||
|
|
BIN
test/pdfs/issue17540.pdf
Normal file
BIN
test/pdfs/issue17540.pdf
Normal file
Binary file not shown.
|
@ -716,6 +716,11 @@ describe("Scripting", function () {
|
|||
`AFNumber_Format(2, 0, 3, 0, "€", false);` +
|
||||
`event.source.value = event.value;`,
|
||||
],
|
||||
test6: [
|
||||
`event.value = 0;` +
|
||||
`AFNumber_Format(2, 0, 0, 0, "€", false);` +
|
||||
`event.source.value = event.value;`,
|
||||
],
|
||||
},
|
||||
type: "text",
|
||||
},
|
||||
|
@ -727,6 +732,30 @@ describe("Scripting", function () {
|
|||
};
|
||||
|
||||
sandbox.createSandbox(data);
|
||||
await sandbox.dispatchEventInSandbox({
|
||||
id: refId,
|
||||
value: "0",
|
||||
name: "test1",
|
||||
});
|
||||
expect(send_queue.has(refId)).toEqual(true);
|
||||
expect(send_queue.get(refId)).toEqual({
|
||||
id: refId,
|
||||
value: "0.00€",
|
||||
});
|
||||
send_queue.delete(refId);
|
||||
|
||||
await sandbox.dispatchEventInSandbox({
|
||||
id: refId,
|
||||
value: "",
|
||||
name: "test6",
|
||||
});
|
||||
expect(send_queue.has(refId)).toEqual(true);
|
||||
expect(send_queue.get(refId)).toEqual({
|
||||
id: refId,
|
||||
value: "0.00€",
|
||||
});
|
||||
send_queue.delete(refId);
|
||||
|
||||
await sandbox.dispatchEventInSandbox({
|
||||
id: refId,
|
||||
value: "123456.789",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue