diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-02-06 15:58:40 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-02-06 15:58:40 -0800 |
commit | 72feb27fc174c2139b642eb7390fffac608f6c87 (patch) | |
tree | 1423f0204b98980faa56a95d095f9f3536158e6c /testing | |
parent | 6d407bc8ce708f28a20001dbded1f67ee2c169dd (diff) | |
download | pdfium-72feb27fc174c2139b642eb7390fffac608f6c87.tar.xz |
First JavaScript testing implementation.
This is a plan for testing JS inside of pdf files under pdfium:
Communication of results will be done via app.alert(), rather than
console.println(), since the latter is not hooked up to any API
callbacks.
pdfium_test.cc is modified to be more careful about use of stdout/stderr,
so that only the app.alert() and the unsupported feature callback use
stdout. Diffing stdout against ..._expected.txt files gives the result.
I added a /javascript directory to separate these from the embeddertest
resources.
The alert callback is backported from XFA. This was an omission.
BUG=https://code.google.com/p/pdfium/issues/detail?id=62
R=jam@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/872103003
Diffstat (limited to 'testing')
-rw-r--r-- | testing/resources/javascript/app_alert.in | 45 | ||||
-rw-r--r-- | testing/resources/javascript/app_alert.pdf | 60 | ||||
-rw-r--r-- | testing/resources/javascript/app_alert_expected.txt | 1 |
3 files changed, 106 insertions, 0 deletions
diff --git a/testing/resources/javascript/app_alert.in b/testing/resources/javascript/app_alert.in new file mode 100644 index 0000000000..42f970a402 --- /dev/null +++ b/testing/resources/javascript/app_alert.in @@ -0,0 +1,45 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <</F1 15 0 R>> + >> + /Contents [21 0 R] + /MediaBox [0 0 612 792] +>> +% OpenAction action +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +{{object 11 0}} << +>> +stream +app.alert("This test passes if alert() logs output under the test utiltiy."); +endstream +endobj +{{xref}} +trailer << + /Root 1 0 R +>> +{{startxref}} +%%EOF diff --git a/testing/resources/javascript/app_alert.pdf b/testing/resources/javascript/app_alert.pdf new file mode 100644 index 0000000000..091992cbd7 --- /dev/null +++ b/testing/resources/javascript/app_alert.pdf @@ -0,0 +1,60 @@ +%PDF-1.7 +% ò¤ô +1 0 obj << + /Type /Catalog + /Pages 2 0 R + /OpenAction 10 0 R +>> +endobj +2 0 obj << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +3 0 obj << + /Type /Page + /Parent 2 0 R + /Resources << + /Font <</F1 15 0 R>> + >> + /Contents [21 0 R] + /MediaBox [0 0 612 792] +>> +% OpenAction action +10 0 obj << + /Type /Action + /S /JavaScript + /JS 11 0 R +>> +endobj +% JS program to exexute +11 0 obj << +>> +stream +app.alert("This test passes if alert() logs output under the test utiltiy."); +endstream +endobj +xref +0 12 +0000000000 65535 f +0000000015 00000 n +0000000089 00000 n +0000000177 00000 n +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000334 00000 n +0000000426 00000 n +trailer << + /Root 1 0 R +>> +startxref +543 +%%EOF diff --git a/testing/resources/javascript/app_alert_expected.txt b/testing/resources/javascript/app_alert_expected.txt new file mode 100644 index 0000000000..ac46b62203 --- /dev/null +++ b/testing/resources/javascript/app_alert_expected.txt @@ -0,0 +1 @@ +Alert: This test passes if alert() logs output under the test utiltiy. |