diff options
author | Tom Sepez <tsepez@chromium.org> | 2016-01-29 08:55:30 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2016-01-29 08:55:30 -0800 |
commit | 66519af52b61ca158044651d0507d47efb364f87 (patch) | |
tree | c0def01f0a7603ff7ae0dadd4bed6d3316f508f6 /testing | |
parent | d45e7a51904164fb22049f0a7a80d2a94c06936b (diff) | |
download | pdfium-66519af52b61ca158044651d0507d47efb364f87.tar.xz |
Fix behaviour of app.alert() with a single object argument.
Centralize the "arguments in an object" logic. See the section
"Method Arguments" in the js_api_reference.pdf. Add some tests
to hit the ambiguous cases this section implies, and test that
all parameters are passed end-to-end to our callbacks.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1641693003 .
Diffstat (limited to 'testing')
-rw-r--r-- | testing/resources/javascript/app_alert.in | 26 | ||||
-rw-r--r-- | testing/resources/javascript/app_alert_expected.txt | 14 |
2 files changed, 40 insertions, 0 deletions
diff --git a/testing/resources/javascript/app_alert.in b/testing/resources/javascript/app_alert.in index de6c8a8229..75aecc9075 100644 --- a/testing/resources/javascript/app_alert.in +++ b/testing/resources/javascript/app_alert.in @@ -35,6 +35,32 @@ endobj >> stream app.alert("This test passes if alert() logs output under the test utility."); +app.alert("message", 1, 2, "title"); +app.alert({"cMsg": "message", "cTitle": "title"}); +app.alert({"cMsg": "message", "cTitle": "title", "nIcon": 3, "nType": 4}); +app.alert(undefined); +app.alert(null); +app.alert(true); +app.alert(false); +app.alert(42); +app.alert([1, 2, 3]); +app.alert([1, 2, {"color": "red"}]); +app.alert({"color": "red"}, 5, 6, "title"); +try { + app.alert(); +} catch (e) { + app.alert("Caught expected error " + e); +} +try { + app.alert({}); +} catch (e) { + app.alert("Caught expected error " + e); +} +try { + app.alert({"color": "red", "size": 42}); +} catch (e) { + app.alert("Caught expected error " + e); +} endstream endobj {{xref}} diff --git a/testing/resources/javascript/app_alert_expected.txt b/testing/resources/javascript/app_alert_expected.txt index 91205bc91d..b44fa73a94 100644 --- a/testing/resources/javascript/app_alert_expected.txt +++ b/testing/resources/javascript/app_alert_expected.txt @@ -1 +1,15 @@ Alert: This test passes if alert() logs output under the test utility. +title[icon=1,type=2]: message +title: message +title[icon=3,type=4]: message +Alert: undefined +Alert: null +Alert: true +Alert: false +Alert: 42 +Alert: [1, 2, 3] +Alert: [1, 2, [object Object]] +title[icon=5,type=6]: [object Object] +Alert: Caught expected error app.alert: Incorrect number of parameters passed to function. +Alert: Caught expected error app.alert: Incorrect number of parameters passed to function. +Alert: Caught expected error app.alert: Incorrect number of parameters passed to function. |