pdf.js/test/test_manifest.json

1324 lines
34 KiB
JSON
Raw Normal View History

Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
[
2013-02-07 08:19:29 +09:00
{ "id": "filled-background-range",
"file": "pdfs/filled-background.pdf",
"md5": "2e3120255d9c3e79b96d2543b12d2589",
"rounds": 1,
"type": "eq"
},
2011-06-22 06:53:57 +09:00
{ "id": "tracemonkey-eq",
"file": "pdfs/tracemonkey.pdf",
"md5": "9a192d8b1a7dc652a19835f6f08098bd",
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
"rounds": 1,
2011-06-22 06:53:57 +09:00
"type": "eq"
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
},
{ "id": "tracemonkey-fbf",
"file": "pdfs/tracemonkey.pdf",
"md5": "9a192d8b1a7dc652a19835f6f08098bd",
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
"rounds": 2,
"type": "fbf"
},
2012-09-12 08:04:01 +09:00
{ "id": "tracemonkey-text",
"file": "pdfs/tracemonkey.pdf",
"md5": "9a192d8b1a7dc652a19835f6f08098bd",
"rounds": 1,
"type": "text"
},
2013-05-10 11:57:00 +09:00
{ "id": "issue2881",
"file": "pdfs/issue2881.pdf",
"md5": "ea6ade27d2cb146676d23dcd6605d5ee",
"link": "true",
"rounds": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue2391-1",
"file": "pdfs/issue2391-1.pdf",
"md5": "25ae9cb959612e7b343b55da63af2716",
"rounds": 1,
"lastPage": 1,
"type": "load"
},
{ "id": "issue2391-2",
"file": "pdfs/issue2391-2.pdf",
"md5": "7e68756d11021a087383eaac95ba45dd",
"rounds": 1,
"type": "eq"
},
{ "id": "issue2531",
"file": "pdfs/issue2531.pdf",
"md5": "c58e6642d8a6e2ddd5e07a543ef8f30d",
"link": true,
"rounds": 1,
"firstPage": 4,
"lastPage": 4,
"type": "eq"
},
{ "id": "issue2537",
"file": "pdfs/issue2537.pdf",
"md5": "f56805a70ed3aa52aae5c16dd335f827",
"link": true,
"rounds": 1,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
{ "id": "html5-canvas-cheat-sheet-load",
"file": "pdfs/canvas.pdf",
"md5": "59510028561daf62e00bf9f6f066b033",
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
"rounds": 1,
"type": "load"
},
{ "id": "intelisa-eq",
"file": "pdfs/intelisa.pdf",
"md5": "cdbcf14d0d260c0b313c566a61b07d9f",
"link": true,
"lastPage": 100,
"rounds": 1,
"type": "eq"
},
{ "id": "issue2128",
"file": "pdfs/issue2128.pdf",
"md5": "b3f4d9ed3c41e1f1768264a3f8b93aad",
"link": true,
"lastPage": 2,
"rounds": 1,
"type": "eq"
},
{ "id": "german-umlaut",
"file": "pdfs/german-umlaut.pdf",
2013-04-02 22:33:46 +09:00
"md5": "8710a9ce0866e30d36d202c6cc2262bd",
"link": true,
"lastPage": 1,
"rounds": 1,
"type": "eq"
},
{ "id": "issue1512",
"file": "pdfs/issue1512.pdf",
"md5": "41a19fe03d522346ee3baa732403fca4",
"link": true,
"lastPage": 1,
"rounds": 1,
"type": "eq"
},
{ "id": "pdfspec-load",
"file": "pdfs/pdf.pdf",
"md5": "dbdb23c939d2be09b43126c3c56060c7",
"link": true,
"lastPage": 500,
"rounds": 1,
"type": "load"
2011-06-26 23:15:33 +09:00
},
{ "id": "issue2129",
"file": "pdfs/issue2129.pdf",
"md5": "b082dd2cb3648f979fd668f498af14d6",
"link": true,
"lastPage": 1,
"rounds": 1,
"type": "load"
},
2011-07-06 02:21:28 +09:00
{ "id": "shavian-load",
"file": "pdfs/shavian.pdf",
"md5": "40ef97a120250b149c4ded383ca328ec",
2011-07-06 02:21:28 +09:00
"link": true,
"rounds": 1,
"type": "load"
},
2011-06-26 23:15:33 +09:00
{ "id": "sizes",
"file": "pdfs/sizes.pdf",
"md5": "c101ba7b44aee36048e1ac7b98f302ea",
2011-06-26 23:15:33 +09:00
"rounds": 1,
"type": "eq"
2011-06-28 10:13:11 +09:00
},
{ "id": "plusminus",
"file": "pdfs/Test-plusminus.pdf",
"md5": "1ec7ade5b95ac9aaba3a618af28d34c7",
"rounds": 1,
"type": "eq"
},
2011-07-06 08:43:47 +09:00
{ "id": "openoffice-pdf",
"file": "pdfs/DiwanProfile.pdf",
"md5": "55d0c6a1a6d26c9ec9dcecaa7a471e0e",
2011-07-06 08:43:47 +09:00
"link": true,
"rounds": 1,
"type": "load"
2011-07-13 17:55:13 +09:00
},
{ "id": "openofficecidtruetype-pdf",
"file": "pdfs/arial_unicode_en_cidfont.pdf",
"md5": "03591cdf20214fb0b2dd5e5c3dd32d8c",
2011-07-13 17:55:13 +09:00
"rounds": 1,
"type": "load"
},
{ "id": "openofficearabiccidtruetype-pdf",
"file": "pdfs/arial_unicode_ab_cidfont.pdf",
"md5": "35090fa7d29e7196ae3421812e554988",
2011-07-13 17:55:13 +09:00
"rounds": 1,
"type": "load"
},
{ "id": "arabiccidtruetype-pdf",
"file": "pdfs/ArabicCIDTrueType.pdf",
"md5": "d66dbd18bdb572d3ac8b88b32de2ece6",
2011-07-13 17:55:13 +09:00
"rounds": 1,
"type": "load"
2011-07-21 13:17:31 +09:00
},
{ "id": "arabiccidtruetype-text",
"file": "pdfs/ArabicCIDTrueType.pdf",
"md5": "d66dbd18bdb572d3ac8b88b32de2ece6",
"rounds": 1,
"type": "text"
},
{ "id": "complexttffont-pdf",
"file": "pdfs/complex_ttf_font.pdf",
"md5": "76de93f9116b01b693bf8583b3e76d91",
"rounds": 1,
"type": "load"
},
2011-10-03 21:57:01 +09:00
{ "id": "thuluthfont-pdf",
"file": "pdfs/ThuluthFeatures.pdf",
"md5": "b7e18bf7a3d6a9c82aefa12d721072fc",
2011-10-03 21:57:01 +09:00
"rounds": 1,
2011-10-06 11:22:52 +09:00
"type": "eq"
2011-10-03 21:57:01 +09:00
},
2013-06-21 07:03:30 +09:00
{ "id": "taro-text",
"file": "pdfs/TaroUTR50SortedList112.pdf",
"md5": "ce63eab622ff473a43f8a8de85ef8a46",
"link":true,
"rounds": 1,
"lastPage": 4,
"type": "text"
},
{ "id": "rotated-text",
"file": "pdfs/rotated.pdf",
"md5": "aed187f53e969ccdcbab0bb4c59f9e46",
"rounds": 1,
"type": "text"
},
2013-04-20 05:07:08 +09:00
{
"id": "issue3115",
"file": "pdfs/issue3115.pdf",
"md5": "ea10f4131202b9b8f2a6cb7770d3f185",
"rounds": 1,
"type": "eq",
"link": true,
"lastPage": 1
},
2012-09-12 08:04:01 +09:00
{ "id": "thuluthfont-text",
"file": "pdfs/ThuluthFeatures.pdf",
"md5": "b7e18bf7a3d6a9c82aefa12d721072fc",
"rounds": 1,
"type": "text"
},
{ "id": "freeculture",
"file": "pdfs/freeculture.pdf",
"md5": "dcdf3a8268e6a18938a42d5149efcfca",
"rounds": 1,
"lastPage": 5,
"type": "eq"
},
{ "id": "wnv_chinese-pdf",
"file": "pdfs/wnv_chinese.pdf",
"md5": "db682638e68391125e8982d3c984841e",
"link": true,
"rounds": 1,
"type": "eq"
},
2011-07-21 13:17:31 +09:00
{ "id": "i9-pdf",
"file": "pdfs/i9.pdf",
"md5": "ba7cd54fdff083bb389295bc0415f6c5",
2011-07-21 13:17:31 +09:00
"link": true,
"rounds": 1,
"type": "eq"
2011-08-04 14:22:24 +09:00
},
{ "id": "hmm-pdf",
"file": "pdfs/hmm.pdf",
2013-03-05 12:33:50 +09:00
"md5": "ea163ef2b6b69039e0c2c1364f280f67",
2011-08-04 14:22:24 +09:00
"link": true,
"rounds": 1,
2013-03-05 12:33:50 +09:00
"firstPage": 1,
"lastPage": 2,
2011-08-04 14:22:24 +09:00
"type": "load"
2011-08-07 06:41:18 +09:00
},
{ "id": "rotation",
"file": "pdfs/rotation.pdf",
"md5": "4fb25ada00ce7528569d9791c14decf5",
2011-08-07 06:41:18 +09:00
"rounds": 1,
"type": "eq"
2011-08-14 22:40:22 +09:00
},
{ "id": "ecma262-pdf",
"file": "pdfs/ecma262.pdf",
"md5": "763ead98f535578842891e5574e0af0f",
2011-08-14 22:40:22 +09:00
"link": true,
"rounds": 1,
"type": "load"
},
{ "id": "jai-pdf",
"file": "pdfs/jai.pdf",
"md5": "1f5dd128c3757420a881a155f2f8ace3",
"link": true,
"rounds": 1,
"type": "load"
2011-08-29 06:36:58 +09:00
},
{ "id": "cable",
"file": "pdfs/cable.pdf",
"md5": "09a41b9a759d60c698228224ab85b46d",
2011-08-29 06:36:58 +09:00
"link": true,
"rounds": 1,
"type": "eq"
2011-08-31 12:32:56 +09:00
},
{ "id": "pdkids",
"file": "pdfs/pdkids.pdf",
"md5": "278982bf016dbe46d2066f9245d9b3e6",
2011-08-31 12:32:56 +09:00
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "artofwar",
"file": "pdfs/artofwar.pdf",
"md5": "7bdd51c327b74f1f7abdd90eedb2f912",
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "issue3371",
"file": "pdfs/issue3371.pdf",
"password": "ELXRTQWS",
"md5": "db2fedbd36d6fa27d4e52f9bd2d96b8c",
"rounds": 1,
"type": "load"
},
{ "id": "wdsg_fitc",
"file": "pdfs/wdsg_fitc.pdf",
"md5": "5bb1c2b83705d4cdfc43197ee74f07f9",
"link": true,
"rounds": 1,
"type": "eq"
},
2011-10-02 11:24:11 +09:00
{ "id": "unix01",
"file": "pdfs/unix01.pdf",
"md5": "2742999f0bf9b9c035dbb0736096e220",
2011-10-02 11:24:11 +09:00
"link": true,
"rounds": 1,
"type": "eq"
},
2011-10-12 08:26:25 +09:00
{ "id": "fit11-talk",
"file": "pdfs/fit11-talk.pdf",
"md5": "eb7b224107205db4fea9f7df0185f77d",
2011-10-12 08:26:25 +09:00
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "fips197",
"file": "pdfs/fips197.pdf",
"md5": "4742c3f470cd8c4686a0dbb3da808b71",
"link": true,
"rounds": 1,
2011-10-13 07:52:11 +09:00
"type": "eq"
},
{ "id": "txt2pdf",
"file": "pdfs/txt2pdf.pdf",
"md5": "02cefa0f5e8d96313bb05163b2f88c8c",
"link": true,
"rounds": 1,
"type": "load"
2011-09-22 02:04:21 +09:00
},
{ "id": "f1040",
"file": "pdfs/f1040.pdf",
2011-11-21 23:26:19 +09:00
"md5": "b59272ce19b4a0c5808c8861441b0741",
2011-09-22 02:04:21 +09:00
"link": true,
"rounds": 1,
"type": "load"
},
{ "id": "hudsonsurvey",
"file": "pdfs/hudsonsurvey.pdf",
"md5": "bf0e6576a7b6c2fe7485bce1b78e006f",
"link": true,
"rounds": 1,
"type": "load"
},
{ "id": "extgstate",
"file": "pdfs/extgstate.pdf",
"md5": "001bb4ec04463a01d93aad748361f049",
"link": false,
"rounds": 1,
"type": "eq"
},
{ "id": "usmanm-bad",
"file": "pdfs/usmanm-bad.pdf",
"md5": "38afb822433aaf07fc8f54807cd4f61a",
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "usmanm-bad-auto-fetch",
"file": "pdfs/usmanm-bad.pdf",
"md5": "38afb822433aaf07fc8f54807cd4f61a",
"link": true,
"rounds": 1,
"type": "eq",
"enableAutoFetch": true
},
{ "id": "vesta-bad",
"file": "pdfs/vesta.pdf",
"md5": "0afebc109b7c17b95619ea3fab5eafe6",
"link": true,
"rounds": 1,
"type": "load"
},
{ "id": "scan-bad",
"file": "pdfs/scan-bad.pdf",
"md5": "4cf988f01ab83f61aca57f406dfd6584",
"rounds": 1,
"type": "load"
},
{ "id": "ibwa-bad",
"file": "pdfs/ibwa-bad.pdf",
"md5": "6ca059d32b74ac2688ae06f727fee755",
"link": true,
"rounds": 1,
"skipPages": [ 16 ],
"type": "load"
2011-09-29 09:54:40 +09:00
},
{ "id": "mixedfonts",
"file": "pdfs/mixedfonts.pdf",
"md5": "a582b83fa1b3a25a6f13803a367c71ec",
"link": false,
2011-09-29 09:54:40 +09:00
"rounds": 1,
"type": "eq"
2011-10-05 00:52:15 +09:00
},
{ "id": "pal-o47",
"file": "pdfs/pal-o47.pdf",
"md5": "81ae15e539e89f0f0b41169d923b611b",
"link": true,
"rounds": 1,
"type": "eq"
},
2011-10-04 08:36:01 +09:00
{ "id": "simpletype3font",
"file": "pdfs/simpletype3font.pdf",
"md5": "b374c7543920840c61999e9e86939f99",
2011-10-04 08:36:01 +09:00
"link": false,
"rounds": 1,
2011-10-05 01:06:51 +09:00
"type": "eq"
2011-10-29 06:11:14 +09:00
},
{ "id": "simpletype3font-text",
"file": "pdfs/simpletype3font.pdf",
"md5": "b374c7543920840c61999e9e86939f99",
"link": false,
"rounds": 1,
"type": "text"
},
{ "id": "close-path-bug",
"file": "pdfs/close-path-bug.pdf",
"md5": "48dd17ef58393857d2d038d33699cac5",
"rounds": 1,
"type": "eq"
2011-11-01 00:51:45 +09:00
},
2011-10-29 06:11:14 +09:00
{ "id": "alphatrans",
"file": "pdfs/alphatrans.pdf",
"md5": "5ca2d3da0c5f20b3a5a14e895ad24b65",
2011-10-29 06:11:14 +09:00
"link": false,
"rounds": 1,
"type": "eq"
2011-11-10 02:39:55 +09:00
},
{ "id": "devicen",
"file": "pdfs/devicen.pdf",
2011-11-23 02:06:53 +09:00
"md5": "aac6a91725435d1376c6ff492dc5cb75",
"link": false,
"rounds": 1,
"type": "eq"
},
2011-11-10 02:39:55 +09:00
{ "id": "cmykjpeg",
"file": "pdfs/cmykjpeg.pdf",
"md5": "85d162b48ce98503a382d96f574f70a2",
2011-11-10 02:39:55 +09:00
"link": false,
"rounds": 1,
"type": "eq"
2011-11-30 08:47:53 +09:00
},
{ "id": "protectip",
"file": "pdfs/protectip.pdf",
"md5": "676e7a7b8f96d04825361832b1838a93",
"link": true,
"rounds": 1,
"type": "eq"
2011-11-30 13:22:30 +09:00
},
2013-07-30 05:24:32 +09:00
{ "id": "issue3427",
"file": "pdfs/issue3427.pdf",
"md5": "61979ede77f4557c65d4eb3c1a6dceeb",
"link": true,
"lastPage": 1,
"rounds": 1,
"type": "eq"
},
2011-11-30 13:22:30 +09:00
{ "id": "piperine",
"file": "pdfs/piperine.pdf",
"md5": "603ca43dc5732dbba1579f122958c0c2",
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "issue840",
"file": "pdfs/issue840.pdf",
"md5": "20d88011dd7e3c4fb5274979094dab93",
"rounds": 1,
"type": "eq"
},
{ "id": "bpl13210",
"file": "pdfs/bpl13210.pdf",
"md5": "8a08512baa9fa95378d9ad4b995947c7",
"link": true,
"lastPage": 5,
"rounds": 1,
"type": "eq"
},
{ "id": "tutorial",
"file": "pdfs/tutorial.pdf",
"md5": "6e122f618c27f3aa9a689423e3be6b8d",
"link": true,
"rounds": 1,
"type": "eq"
2011-12-07 13:33:59 +09:00
},
{ "id": "geothermal.pdf",
"file": "pdfs/geothermal.pdf",
"md5": "ecffc0ce38ffdf1e90dc952f186e9a91",
"rounds": 1,
"link": true,
"lastPage": 5,
2011-12-07 13:33:59 +09:00
"skipPages": [1],
"type": "eq"
},
{ "id": "issue919",
"file": "pdfs/issue919.pdf",
"md5": "3a1716a512aca4d7a8d6106bd4885d14",
"rounds": 1,
"link": true,
"lastPage": 3,
"type": "eq"
2011-12-13 08:34:11 +09:00
},
{ "id": "issue1905",
"file": "pdfs/issue1905.pdf",
"md5": "b1bbd72ca6522ae1502aa26320f81994",
"rounds": 1,
"type": "eq"
},
2011-12-13 12:42:39 +09:00
{ "id": "issue918",
"file": "pdfs/issue918.pdf",
"md5": "d582cc0f2592ae82936589ced2a47e55",
"rounds": 1,
"type": "eq"
2011-12-15 06:41:36 +09:00
},
2013-05-04 03:13:45 +09:00
{ "id": "issue3188",
"file": "pdfs/issue3188.pdf",
"md5": "161b72604d86f40ab2f765ddd3b61227",
"rounds": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue1586",
2012-04-25 08:53:11 +09:00
"file": "pdfs/pdfjsbad1586.pdf",
"md5": "793d0870f0b0c613799b0677d64daca4",
"rounds": 1,
"type": "load"
},
2011-12-13 08:34:11 +09:00
{ "id": "aboutstacks",
2011-12-13 08:09:05 +09:00
"file": "pdfs/aboutstacks.pdf",
"md5": "6e7c8416a293ba2d83bc8dd20c6ccf51",
"rounds": 1,
"link": true,
"type": "eq"
2011-12-17 03:54:31 +09:00
},
{ "id": "smaskdim",
"file": "pdfs/smaskdim.pdf",
2011-12-19 10:28:25 +09:00
"md5": "de80aeca7cbf79940189fd34d59671ee",
2011-12-17 03:54:31 +09:00
"rounds": 1,
"type": "eq"
},
2013-03-05 05:28:04 +09:00
{ "id": "endchar",
"file": "pdfs/endchar.pdf",
"md5": "90a59acdd62252fdb4fefa482e12d6b3",
"rounds": 1,
"type": "eq"
},
2011-12-31 02:24:13 +09:00
{ "id": "type4psfunc",
"file": "pdfs/type4psfunc.pdf",
"md5": "7e6027a02ff78577f74dccdf84e37189",
"rounds": 1,
"type": "eq"
2012-01-05 10:55:04 +09:00
},
{ "id": "ocs",
"file": "pdfs/ocs.pdf",
"md5": "2ade57e954ae7632749cf328daeaa7a8",
"rounds": 1,
"link": true,
"type": "load"
},
{ "id": "issue2139",
"file": "pdfs/issue2139.pdf",
"md5": "ee4072992e7c5ffd5063181916a2fcae",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-01-12 13:19:21 +09:00
{ "id": "issue1010",
"file": "pdfs/issue1010.pdf",
"md5": "f991ef093484a107fe9f59dff18fc155",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "issue1709",
"file": "pdfs/issue1709.pdf",
"md5": "84497bd23b7c82d03d2681a1cb1d9ed0",
"rounds": 1,
"lastPage": 10,
"link": true,
"type": "eq"
},
2013-02-23 13:08:46 +09:00
{ "id": "issue2642",
"file": "pdfs/issue2642.pdf",
"md5": "b6679861fdce3bbab0c1fa51bb7f5077",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
2012-01-05 04:49:37 +09:00
{ "id": "issue1015",
"file": "pdfs/issue1015.pdf",
"md5": "b61503d1b445742b665212866afb60e2",
"rounds": 1,
"link": true,
"type": "eq"
2012-01-10 11:37:39 +09:00
},
{ "id": "issue1096",
"file": "pdfs/issue1096.pdf",
"md5": "7f75d2b4b93c78d401ff39e8c1b00612",
"rounds": 1,
"lastPage": 9,
"link": true,
"type": "eq"
},
2012-01-27 09:51:58 +09:00
{ "id": "issue1127",
"file": "pdfs/issue1127.pdf",
"md5": "4fb2be5ffefeafda4ba977de2a1bb4d8",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "issue1249-load",
"file": "pdfs/issue1249.pdf",
"md5": "4f81339fa09422a7db980f34ea963609",
"rounds": 1,
"type": "load"
},
2012-01-10 11:37:39 +09:00
{ "id": "liveprogramming",
"file": "pdfs/liveprogramming.pdf",
"md5": "7bd4dad1188232ef597d36fd72c33e52",
"rounds": 1,
"lastPage": 3,
2012-01-10 11:37:39 +09:00
"link": true,
"type": "load"
2012-01-12 11:14:49 +09:00
},
{ "id": "S2-eq",
"file": "pdfs/S2.pdf",
"md5": "d0b6137846df6e0fe058f234a87fb588",
"rounds": 1,
"type": "eq"
},
{ "id": "issue1055",
"file": "pdfs/issue1055.pdf",
"md5": "3ba56c2e48dce81da8669b1b9cf98ff0",
"rounds": 1,
"link": true,
"type": "eq"
2012-01-18 13:50:49 +09:00
},
2012-05-18 08:34:31 +09:00
{ "id": "issue1629",
"file": "pdfs/issue1629.pdf",
"md5": "0f2cbbf268383a377e95e6bbe36c6a9a",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-08-12 13:05:41 +09:00
{ "id": "issue1685",
"file": "pdfs/issue1685.pdf",
"md5": "b22c3741e6bd0e613d3eb3325ad31f7d",
"rounds": 1,
"lastPage": 2,
2012-08-12 13:05:41 +09:00
"link": true,
2012-05-18 08:34:31 +09:00
"type": "eq"
},
2012-02-05 03:45:18 +09:00
{ "id": "issue1169",
"file": "pdfs/issue1169.pdf",
"md5": "3df3ed21fd43ac7fdb21e2015c8a7809",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-01-18 13:50:49 +09:00
{ "id": "zerowidthline",
"file": "pdfs/zerowidthline.pdf",
"md5": "295d26e61a85635433f8e4b768953f60",
"rounds": 1,
"link": false,
"type": "eq"
2012-02-02 07:48:44 +09:00
},
{ "id": "html5checker",
"file": "pdfs/html5checker.pdf",
"md5": "74bbd80d1e7eb5f2951582233ef9ebab",
"rounds": 1,
"lastPage": 7,
"link": true,
"type": "eq"
},
2012-03-02 12:23:36 +09:00
{ "id": "pdfkit_compressed",
"file": "pdfs/pdfkit_compressed.pdf",
"md5": "ffe9c571d0a1572e234253e6c7cdee6c",
"rounds": 1,
"type": "eq"
},
2012-03-18 07:35:04 +09:00
{ "id": "tamreview",
"file": "pdfs/TAMReview.pdf",
"md5": "8039aba56790d3597d2bc8c794a51301",
"rounds": 1,
"lastPage": 5,
2012-03-18 07:35:04 +09:00
"link": true,
"type": "eq"
},
{ "id": "preistabelle",
"file": "pdfs/preistabelle.pdf",
"md5": "d2f0b2086160d4f3d325c79a5dc1fb4d",
"rounds": 1,
"lastPage": 2,
"link": true,
"type": "eq"
},
{ "id": "ichiji",
"file": "pdfs/ichiji.pdf",
"md5": "66b645802d33513cd598886e017392b8",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-03-20 01:09:42 +09:00
{ "id": "issue1350",
"file": "pdfs/issue1350.pdf",
"md5": "92f72a04a4d9d05b2dd433b51f32ab1f",
"rounds": 1,
"type": "eq"
},
2012-02-20 15:12:22 +09:00
{ "id": "issue925",
"file": "pdfs/issue925.pdf",
"md5": "f58fe943090aff89dcc8e771bc0db4c2",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "bug867484",
"file": "pdfs/bug867484.pdf",
"md5": "347af7b0ef7279b1a7f43b03bfda4548",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "load"
},
{ "id": "issue1466",
"file": "pdfs/issue1466.pdf",
"md5": "8a8877432e5bb10cfd50d60488d947bb",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-08-12 10:10:31 +09:00
{ "id": "issue1655",
"file": "pdfs/issue1655.pdf",
"md5": "696ef6de6f4f71643771419ef04fc968",
"rounds": 1,
2012-08-15 01:39:06 +09:00
"skipPages": [1, 2, 3, 4, 5, 6, 7, 8],
"lastPage": 9,
2012-08-12 10:10:31 +09:00
"link": true,
"type": "eq"
},
2012-10-13 12:33:56 +09:00
{ "id": "issue1687",
"file": "pdfs/issue1687.pdf",
"md5": "ea79d83821d1dd0663414b037080add5",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-02-02 07:48:44 +09:00
{ "id": "issue1133",
"file": "pdfs/issue1133.pdf",
"md5": "d1b61580cb100e3df93d33703af1773a",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "issue1658",
"file": "pdfs/issue1658.pdf",
"md5": "b71a0f641e83ad427b8bcfc180899a05",
"rounds": 1,
"skipPages": [1, 2, 3, 4, 5, 6, 7, 8, 9],
"lastPage": 10,
"link": true,
"type": "eq"
},
{ "id": "issue1049",
"file": "pdfs/issue1049.pdf",
"md5": "15473fffcdde9fb8f3756a4cf1aab347",
"rounds": 1,
"link": true,
"type": "eq"
2012-02-15 04:55:39 +09:00
},
2013-03-14 04:06:09 +09:00
{ "id": "cid_cff",
"file": "pdfs/cid_cff.pdf",
"md5": "a19a18eaa626262cc45e0760004d6de9",
"rounds": 1,
"type": "eq"
},
2012-02-15 04:55:39 +09:00
{ "id": "issue1155",
"file": "pdfs/issue1155.pdf",
"md5": "b732ef25c16c9c20a77e40edef5aa6fe",
"rounds": 1,
"link": true,
"type": "eq"
},
2013-03-26 18:41:56 +09:00
{ "id": "link-annotation-border",
"file": "pdfs/link-annotation-border.pdf",
"md5": "a0550889b010df9fabe4e2107662c8c4",
2013-03-26 18:41:56 +09:00
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
2012-03-11 12:12:33 +09:00
{ "id": "issue1002",
"file": "pdfs/issue1002.pdf",
"md5": "af62d6cd95079322d4af18edd960d15c",
"rounds": 1,
"link": false,
"type": "eq"
},
{ "id": "issue1721",
"file": "pdfs/issue1721.pdf",
"md5": "b47177f9e5197a76ec498733ecab60e6",
"rounds": 1,
"lastPage": 2,
"link": true,
"type": "eq"
},
{ "id": "issue1233",
"file": "pdfs/issue1233.pdf",
"md5": "2d3565b0a286e29955796c37c66326c1",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
{ "id": "issue1243",
"file": "pdfs/issue1243.pdf",
"md5": "130c849b83513d5ac5e03c6421fc7489",
"rounds": 1,
"lastPage": 2,
"link": true,
"type": "eq"
},
{ "id": "issue1257",
"file": "pdfs/issue1257.pdf",
"md5": "9111533826bc21ed774e8e01603a2f54",
"rounds": 1,
"lastPage": 2,
"link": true,
"type": "eq"
2012-03-18 13:13:54 +09:00
},
{ "id": "issue1309",
"file": "pdfs/issue1309.pdf",
"md5": "e835fb7f3dab3073ad37d0bd3c6399fa",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-06-22 19:59:53 +09:00
{ "id": "issue1810",
"file": "pdfs/issue1810.pdf",
"md5": "b173a9dfb7bf00e1a298c6e8cb95c03e",
"rounds": 1,
"lastPage": 3,
2012-06-22 19:59:53 +09:00
"link": true,
"type": "eq"
},
2012-04-24 07:50:02 +09:00
{ "id": "issue1597",
"file": "pdfs/issue1597.pdf",
"md5": "a5ebef467fd6e2fc0aeb56c9eb725ae3",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-07-20 02:58:07 +09:00
{ "id": "issue1419.pdf",
"file": "pdfs/issue1419.pdf",
"md5": "b5b6c6405d7b48418bccf97277957664",
"rounds": 1,
"link": true,
"lastPage": 1,
2012-07-20 02:58:07 +09:00
"skipPages": [1],
"type": "eq"
},
2012-03-18 13:13:54 +09:00
{ "id": "issue1317",
"file": "pdfs/issue1317.pdf",
"md5": "6fb46275b30c48c8985617d4f86199e3",
"rounds": 1,
"link": true,
"type": "eq"
2012-03-30 00:53:51 +09:00
},
{ "id": "issue1912",
"file": "pdfs/issue1912.pdf",
"md5": "15305b7c2cba971e7423de3f6ad38fef",
"rounds": 1,
"link": true,
"type": "eq"
},
2012-03-30 00:53:51 +09:00
{ "id": "gradientfill",
"file": "pdfs/gradientfill.pdf",
"md5": "cbc1988e4803f647fa83467a85f0e231",
"rounds": 1,
"type": "eq"
2012-06-14 02:29:02 +09:00
},
{ "id": "issue1796",
"file": "pdfs/issue1796.pdf",
"md5": "9b9b60dc2a4cc3ea05932785d71304fe",
"rounds": 1,
"lastPage": 2,
2012-06-14 02:29:02 +09:00
"link": true,
"type": "eq"
},
2012-08-12 01:57:42 +09:00
{ "id": "issue845",
"file": "pdfs/issue845.pdf",
"md5": "89ddf9e63cac4fa2dedcfe32a62e5407",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "issue818",
"file": "pdfs/issue818.pdf",
"md5": "dd2f8a5bd65164ad74da2b45a6ca90cc",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
2012-08-04 08:11:43 +09:00
},
{ "id": "issue2006",
"file": "pdfs/issue2006.pdf",
"md5": "71ec73831ece9b508ad20efa6ff28642",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
2012-08-04 08:11:43 +09:00
{ "id": "issue1729",
"file": "pdfs/issue1729.pdf",
"md5": "29b0eddc3e1dcb23a44384037032d470",
"rounds": 1,
"lastPage": 1,
2012-08-04 08:11:43 +09:00
"link": true,
"type": "load"
},
{ "id": "issue1985",
"file": "pdfs/issue1985.pdf",
"md5": "2ac7c68e26a8ef797aead15e4875cc6d",
"rounds": 1,
"type": "load"
2012-08-29 09:19:31 +09:00
},
2012-12-15 05:44:39 +09:00
{ "id": "issue2176",
"file": "pdfs/issue2176.pdf",
"md5": "ca5cbbc7e2b717997f0b24ffa485eac6",
"rounds": 1,
"type": "eq"
},
{ "id": "issue1453",
"file": "pdfs/issue1453.pdf",
"md5": "cee0ee8ea3a0643cbd716d57fd44f628",
"rounds": 1,
"type": "eq"
},
2013-03-12 02:23:47 +09:00
{ "id": "blendmode",
"file": "pdfs/blendmode.pdf",
2013-04-03 00:23:25 +09:00
"md5": "5a86e7e9333e93c58abc3f382e1e6ea2",
2013-03-12 02:23:47 +09:00
"rounds": 1,
"type": "eq",
"about": "Every blend mode that PDF supports."
},
{ "id": "transparency_group",
"file": "pdfs/transparency_group.pdf",
"md5": "10391f76434128e5da70cff5fc485ff0",
"rounds": 1,
"type": "eq",
"about": "Rotated transparency group with blend mode."
},
{ "id": "issue3458.pdf",
"file": "pdfs/issue3458.pdf",
"md5": "dab8bd3ad1acfc8dc82a8381a3c8ff94",
"rounds": 1,
"type": "eq",
"about": "Pattern with current transform different than base transform."
},
{ "id": "issue2462",
"file": "pdfs/issue2462.pdf",
"md5": "d4e3dddfdd35464c71cf0310bff29b42",
"rounds": 1,
"type": "eq"
},
{ "id": "issue1998",
"file": "pdfs/issue1998.pdf",
"md5": "586e0213be2f461360ec26770b5a4e48",
"rounds": 1,
"lastPage": 2,
"link": true,
"type": "eq"
},
2013-01-31 09:20:04 +09:00
{ "id": "issue2627",
"file": "pdfs/issue2627.pdf",
"md5": "1b6b2f19f4e1e1b926afb353b41fe6b2",
"rounds": 1,
"link": true,
"firstPage": 4,
"lastPage": 4,
"type": "load"
},
{ "id": "issue3061",
"file": "pdfs/issue3061.pdf",
"md5": "696a7cb1b194d095ca3f7861779a606b",
"rounds": 1,
"type": "eq",
"about": "CFF CID font with font matrices in main top dict and sub top dict."
},
{ "id": "issue1878",
"file": "pdfs/issue1878.pdf",
"md5": "b4fb0ce7c19368e7104dce3d0d34bcb3",
"rounds": 1,
"link": true,
"type": "load"
},
2012-12-09 14:04:37 +09:00
{ "id": "issue2386",
"file": "pdfs/issue2386.pdf",
"md5": "7dc787639aa6765214e9ff5494d231ed",
"rounds": 1,
"lastPage": 2,
2012-12-09 14:04:37 +09:00
"link": true,
"type": "eq"
},
{ "id": "issue1936",
"file": "pdfs/issue1936.pdf",
"md5": "7302eb9b6a626308e2a933aaed9e1756",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
2013-07-09 11:03:59 +09:00
{ "id": "issue3062",
"file": "pdfs/issue3062.pdf",
"md5": "206715f1258f0e117df4180d98dd4d68",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
{ "id": "issue2442",
"file": "pdfs/issue2442.pdf",
"md5": "4656e36c44f44c71a499f02ce6c781d3",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
2012-11-02 22:26:45 +09:00
{ "id": "issue2337",
"file": "pdfs/issue2337.pdf",
"md5": "ea10f4131202b9b8f2a6cb7770d3f185",
"rounds": 1,
"lastPage": 1,
2012-11-02 22:26:45 +09:00
"link": true,
"type": "load"
},
{ "id": "issue2074",
"file": "pdfs/issue2074.pdf",
"md5": "5e4ba2241fc35d20e44eb52289a569ab",
"rounds": 1,
"type": "eq"
},
2012-08-29 09:19:31 +09:00
{ "id": "colorkeymask",
"file": "pdfs/colorkeymask.pdf",
"md5": "9f11e815b485f7f0e1fa5c116c636cf9",
"rounds": 1,
"type": "eq"
},
{ "id": "annotation-as",
"file": "pdfs/annotation-as.pdf",
"md5": "e51500c8adc9edcdcc8ebc6a575c90ab",
"rounds": 1,
"link": true,
"type": "eq"
},
2013-07-03 04:27:06 +09:00
{ "id": "bug888437",
"file": "pdfs/bug888437.pdf",
"md5": "93370cd589a08732a05601441c899bcb",
"rounds": 1,
"link": true,
"type": "eq"
},
2013-06-01 06:13:23 +09:00
{ "id": "annotation-tx",
"file": "pdfs/annotation-tx.pdf",
"md5": "56321ea830be9c4f8437ca17ac535b2d",
"rounds": 1,
"type": "eq",
"about": "Text widget annotation witout appearance streams."
},
2013-03-19 21:37:31 +09:00
{ "id": "gesamt",
"file": "pdfs/gesamt.pdf",
"md5": "f9148b71aad9a7856f70f303d7e78703",
"rounds": 1,
"link": true,
"lastPage": 1,
"type": "eq"
},
{ "id": "javauninstall-7",
"file": "pdfs/javauninstall-7.pdf",
"md5": "c9eb59503923c9125b9660e348618675",
"rounds": 1,
"link": true,
"lastPage": 1,
"type": "eq"
},
{ "id": "jst2007-5",
"file": "pdfs/JST2007-5.pdf",
"md5": "9efa6c37fc771b36a60535036d1910bb",
"rounds": 1,
"link": true,
"firstPage": 2,
"lastPage": 2,
"type": "eq"
},
{ "id": "kdchart",
"file": "pdfs/kdchart.pdf",
"md5": "2556a1d197d7cbe1f5edfc5c3557582b",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
2013-03-16 19:44:54 +09:00
{ "id": "mao",
"file": "pdfs/mao.pdf",
"md5": "797093d67c4d4d4231ac6e1fb66bf6c3",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "noembed-identity",
"file": "pdfs/noembed-identity.pdf",
"md5": "05d3803b6c22451e18cb60d8d8c75c0c",
"rounds": 1,
"type": "eq"
},
{ "id": "bug887152",
"file": "pdfs/bug887152.pdf",
"md5": "783a3e7b1de2cf40a47ffe1f36a41d4f",
"rounds": 1,
"lastPage": 1,
"link": true,
"type": "eq"
},
{ "id": "bug816075",
"file": "pdfs/bug816075.pdf",
"md5": "7ec87c115c1f9ec41234cc7002555e82",
"rounds": 1,
"type": "eq",
"about": "A CIDFontType0 font with a CFF font that isn't actually CID."
},
2013-01-24 01:15:02 +09:00
{ "id": "noembed-identity-2",
"file": "pdfs/noembed-identity-2.pdf",
"md5": "13b7d9ab9579d45c10bc8d499d087f21",
2013-01-24 01:15:02 +09:00
"rounds": 1,
"type": "eq"
},
{ "id": "noembed-jis7",
"file": "pdfs/noembed-jis7.pdf",
"md5": "a0f6cf5a830f23d0c35994a6aaf92b3d",
"rounds": 1,
"type": "eq"
},
{ "id": "noembed-eucjp",
"file": "pdfs/noembed-eucjp.pdf",
"md5": "d270f2d46db99b70235b4d37cbc313ad",
"rounds": 1,
"type": "eq"
},
{ "id": "noembed-sjis",
"file": "pdfs/noembed-sjis.pdf",
"md5": "51f9d150bf4afe498019b3029d451072",
"rounds": 1,
"type": "eq"
},
{ "id": "ohkubo-ss04",
"file": "pdfs/ohkubo-SS04.pdf",
"md5": "b8c334073ff5be74fac1f36130943ea5",
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "issue2770",
"file": "pdfs/issue2770.pdf",
"md5": "36070d756d06eaa35c2227efb069fb1b",
"rounds": 1,
"link": true,
"type": "eq",
"about": "Has a 4 bit per component image with mask and decode."
},
2013-06-26 02:33:53 +09:00
{ "id": "issue2984",
"file": "pdfs/issue2984.pdf",
"md5": "d41d8cd98f00b204e9800998ecf8427e",
"rounds": 1,
"link": true,
"type": "eq",
"lastPage": 1,
"about": "Type3 fonts with lots of switching between them."
},
2013-05-01 07:29:25 +09:00
{ "id": "bug808084",
"file": "pdfs/bug808084.pdf",
"md5": "b1c400de699af29ea3f1983bb26870ab",
"link": true,
"rounds": 1,
"lastPage": 1,
"type": "load"
},
{ "id": "issue3064",
"file": "pdfs/issue3064.pdf",
"md5": "0307415b7d69b13acaf8bd4285d9544b",
"rounds": 1,
"link": true,
"type": "eq",
"about": "True type font with encoding dict with no base encoding but with differences."
},
{ "id": "bug878194",
"file": "pdfs/bug878194.pdf",
"md5": "c616b21fd2a1a65acc2de0f41e59a8b5",
"link": "true",
"rounds": 1,
"firstPage": 4,
"lastPage": 4,
"type": "load"
},
2013-03-02 11:02:35 +09:00
{ "id": "p020121130574743273239",
"file": "pdfs/P020121130574743273239.pdf",
"md5": "271b65885d42d174cbc597ca89becb1a",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "sfaa_japanese",
"file": "pdfs/SFAA_Japanese.pdf",
"md5": "b961bbc0d05bdd6d91041bca60ec8e8b",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
2013-02-08 21:29:22 +09:00
{ "id": "vertical",
"file": "pdfs/vertical.pdf",
"md5": "8a74d33504701edcefeef2afd022765e",
"rounds": 1,
"type": "eq"
},
2013-06-26 06:22:03 +09:00
{ "id": "bug886717",
"file": "pdfs/bug886717.pdf",
"md5": "8ba614192797a1324765610231a1bc9d",
"rounds": 1,
"type": "load",
"about": "Annotation that has no resources."
},
2013-05-17 01:39:39 +09:00
{ "id": "issue3263",
"file": "pdfs/issue3263.pdf",
"md5": "cee1cf0bd7ce6681cdb97c8e42697d81",
"rounds": 1,
"link": true,
"firstPage": 18,
"lastPage": 19,
"type": "eq"
},
{ "id": "issue2761",
"file": "pdfs/issue2761.pdf",
"md5": "35df0b8cff4afec0c08f08c6a5bc9857",
"rounds": 1,
"type": "eq",
"about": "Image with indexed colorspace that has a base lab colorspace."
},
2013-03-10 11:21:44 +09:00
{ "id": "20130226130259",
"file": "pdfs/20130226130259.pdf",
"md5": "c33e90a1b369c508573023d2434b950f",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue2099-1",
"file": "pdfs/issue2099-1.pdf",
"md5": "c7eca682d70a976dfc4b7e64d3e9f1ce",
"rounds": 1,
"type": "eq"
2013-02-28 09:56:12 +09:00
},
2013-05-17 01:21:47 +09:00
{ "id": "issue3207",
"file": "pdfs/issue3207.pdf",
"md5": "667248adae0462c7f5acc7757d97b720",
"link": true,
"firstPage": 1,
"lastPage": 1,
"rounds": 1,
"type": "eq"
},
{ "id": "bug766138",
"file": "pdfs/bug766138.pdf",
"md5": "b171f5cf8d9834348112fba60ee54f8c",
"link": true,
"rounds": 1,
"type": "eq"
},
2013-07-12 03:33:29 +09:00
{ "id": "bug889327",
"file": "pdfs/bug889327.pdf",
"md5": "b45cd63419241c40731f98d0e1dac082",
"link": true,
"lastPage": 1,
"rounds": 1,
"type": "eq"
},
2013-02-28 09:56:12 +09:00
{ "id": "issue2829",
"file": "pdfs/issue2829.pdf",
"md5": "f32b28cf8792f6ccc470446bfbb38584",
"link": true,
"rounds": 1,
"type": "eq"
},
2013-03-18 22:06:59 +09:00
{ "id": "issue2956",
"file": "pdfs/issue2956.pdf",
"md5": "d8f68cbbb4bf54cde9f7f878acb6d7cd",
"rounds": 1,
"type": "eq"
},
{ "id": "issue2177-eq",
"file": "pdfs/issue2177.pdf",
"md5": "48a808278bf31de8414c4e03ecd0900a",
"rounds": 1,
"type": "eq"
2013-06-25 00:21:12 +09:00
},
{ "id": "issue3384",
"file": "pdfs/issue3384.pdf",
"md5": "57e31e83c165f16609528ad5ec5825ba",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue2853",
"file": "pdfs/issue2853.pdf",
"md5": "9f0ad95ef0b243ee8813c4eca0f7a042",
"rounds": 1,
"link": true,
"firstPage": 1,
"lastPage": 1,
"type": "load"
Initial import of first test harness The harness (test.py) operates as follows. First it locates executable browsers (or symlinks or scripts) named "[browser][version]", e.g. "firefox4". It then launches the located browsers and asks them to load the file test_slave.html. At the same time, test.py sets up an HTTP server on localhost:8080 (there's a race condition here currently ;). After test_slave loads in the browser(s), it fetches the task manifest (test_manifest.json). The entries in the manifest specify which PDF to load and how many times to cycle through page rendering. This will probably evolve over time. test_slave then performs the requested tasks and POSTs the results back to test.py, which saves them. When all the results of for a task are in, test.py checks them. There are three types of tests currently. "==" tests compare the rendering of a PDF against a master copy. This is not yet implemented because setting up a master copy is complicated. "fbf" tests render all a PDF's pages, then go back to page 1 and render all pages a second time. The renderings from the first round must match the ones from the second round. "load" tests just check that a PDF's pages load without errors. Currently the test harness will only launch a "firefox4" target. This can be a bash script in your pdf.js checkout, pdf.js/firefox4, something like the following #!/bin/bash dist="/path/to/firefox4/installation" profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'` $dist/firefox -no-remote -profile $profile $* rm -rf $profile (Yes, this script doesn't clean up properly on early termination.) It's possible to run the tests in a normal browsing session, but that might be annoying. With that set up, run the harness like so python test.py If all goes well, you'll see all "TEST-PASS" messages printed to stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL" printed to stdout.
2011-06-19 10:09:21 +09:00
}
]