diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-02-06 16:05:23 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-02-06 16:05:23 -0800 |
commit | 23b4e3f4b6859d80f1e4a840fd7a7dce0cf8526b (patch) | |
tree | 0b9ac3daf1b31893652e79621d1080d03ebc6702 | |
parent | 385729be5d146a2b0dc10cb7f5c1718316bcb253 (diff) | |
download | pdfium-23b4e3f4b6859d80f1e4a840fd7a7dce0cf8526b.tar.xz |
Merge to XFA: First JavaScript testing implementation.
Original Review URL: https://codereview.chromium.org/872103003
TBR=jam@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/901403004
-rw-r--r-- | samples/pdfium_test.cc | 31 | ||||
-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 |
4 files changed, 123 insertions, 14 deletions
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc index fc4bbe4aa4..a813c9c0b3 100644 --- a/samples/pdfium_test.cc +++ b/samples/pdfium_test.cc @@ -418,7 +418,7 @@ void Add_Segment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) { void RenderPdf(const std::string& name, const char* pBuf, size_t len, const Options& options) { - printf("Rendering PDF file %s.\n", name.c_str()); + fprintf(stderr, "Rendering PDF file %s.\n", name.c_str()); IPDF_JSPLATFORM platform_callbacks; memset(&platform_callbacks, '\0', sizeof(platform_callbacks)); @@ -454,10 +454,10 @@ void RenderPdf(const std::string& name, const char* pBuf, size_t len, (void) FPDFAvail_IsDocAvail(pdf_avail, &hints); if (!FPDFAvail_IsLinearized(pdf_avail)) { - printf("Non-linearized path...\n"); + fprintf(stderr, "Non-linearized path...\n"); doc = FPDF_LoadCustomDocument(&file_access, NULL); } else { - printf("Linearized path...\n"); + fprintf(stderr, "Linearized path...\n"); doc = FPDFAvail_GetDocument(pdf_avail, NULL); } @@ -548,24 +548,27 @@ void RenderPdf(const std::string& name, const char* pBuf, size_t len, FPDFDOC_ExitFormFillEnvironment(form); FPDFAvail_Destroy(pdf_avail); - printf("Loaded, parsed and rendered %" PRIuS " pages.\n", rendered_pages); - printf("Skipped %" PRIuS " bad pages.\n", bad_pages); + fprintf(stderr, "Rendered %" PRIuS " pages.\n", rendered_pages); + fprintf(stderr, "Skipped %" PRIuS " bad pages.\n", bad_pages); } +static const char usage_string[] = + "Usage: pdfium_test [OPTION] [FILE]...\n" + " --bin-dir=<path> - override path to v8 external data\n" + " --scale=<number> - scale output size by number (e.g. 0.5)\n" +#ifdef _WIN32 + " --bmp - write page images <pdf-name>.<page-number>.bmp\n" + " --emf - write page meta files <pdf-name>.<page-number>.emf\n" +#endif + " --png - write page images <pdf-name>.<page-number>.png\n" + " --ppm - write page images <pdf-name>.<page-number>.ppm\n"; + int main(int argc, const char* argv[]) { std::vector<std::string> args(argv, argv + argc); Options options; std::list<std::string> files; if (!ParseCommandLine(args, &options, &files)) { - printf("Usage: pdfium_test [OPTION] [FILE]...\n"); - printf("--bin-dir=<path> - override path to v8 external data\n"); - printf("--scale=<number> - scale output size by number (e.g. 0.5)\n"); - printf("--png - write page images <pdf-name>.<page-number>.png\n"); - printf("--ppm - write page images <pdf-name>.<page-number>.ppm\n"); -#ifdef _WIN32 - printf("--bmp - write page images <pdf-name>.<page-number>.bmp\n"); - printf("--emf - write page meta files <pdf-name>.<page-number>.emf\n"); -#endif + fprintf(stderr, "%s", usage_string); return 1; } 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. |