1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 07:08:08 +02:00
Commit graph

279 commits

Author SHA1 Message Date
Chris Jones
7c024b89aa 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-18 18:09:21 -07:00
Andreas Gal
c04da11be6 remove toString code to avoid any future accidental implicit conversions 2011-06-18 01:18:21 -07:00
Andreas Gal
494227dfcc avoid toString conversion in lookup 2011-06-17 21:34:06 -07:00
Andreas Gal
d2e18d35b5 speedup unicode/glyph conversion and cache translated strings in the font 2011-06-17 21:22:37 -07:00
Andreas Gal
dea351911a IsInteger => IsInt 2011-06-17 20:17:10 -07:00
Andreas Gal
120a4a3f38 even more error checking for font translation 2011-06-17 16:34:29 -07:00
Andreas Gal
49c4196ec0 add more error checking for font translation 2011-06-17 16:29:48 -07:00
Andreas Gal
3f5974da32 rename test.html to viewer.html 2011-06-17 16:20:13 -07:00
Andreas Gal
47a8303512 move cffStandardStrings into utils/ along with font_utils.js 2011-06-17 16:07:09 -07:00
Andreas Gal
9e178e88c8 inline Encodings table into pdf.js and use getters for lazy construction 2011-06-17 15:48:17 -07:00
Chris Jones
b7d332a682 Merge pull request #18 from vingtetun/master
Do not assume charset is defined and move some fonts timing to the right place
2011-06-17 12:07:28 -07:00
Vivien Nicolas
e475d03675 Do not assume charset is defined and move some fonts timing to the right place 2011-06-17 20:29:34 +02:00
andreasgal
75d6cb27ce Merge pull request #16 from vingtetun/master
Clean up some debug leftovers (mostly dump/logs/minor signature changes)
2011-06-17 11:14:40 -07:00
Vivien Nicolas
1980f4ef42 Clean up some debug leftovers 2011-06-17 13:55:42 +02:00
Chris Jones
b82392f417 render at 1.5x scale 2011-06-17 01:19:59 -07:00
Andreas Gal
416fc7865f 2nd attempt to make glyph list integers 2011-06-17 01:03:21 -07:00
Andreas Gal
995c825cc5 revert commit 2311c954f8 2011-06-17 00:46:27 -07:00
Andreas Gal
5625a667ff store unicode value as integer instead of hex string in glyphlist 2011-06-17 00:34:03 -07:00
Chris Jones
695fe33601 Merge pull request #13 from vingtetun/master
Fonts!
2011-06-17 00:20:57 -07:00
Vivien Nicolas
446e958b5d Rename PDFFonts.js to fonts.js 2011-06-17 09:11:03 +02:00
Vivien Nicolas
4710028b14 Merge with master 2011-06-17 09:06:19 +02:00
Andreas Gal
4db56c5c97 add blogs and twitter link 2011-06-17 14:45:50 +08:00
Vivien Nicolas
b5915ab3cd Fix CIMM6/CIIM9 2011-06-17 08:36:52 +02:00
Vivien Nicolas
35ceea1ff2 Do not use stream when it is not necessary 2011-06-17 07:48:45 +02:00
Vivien Nicolas
d31bc90c85 Use a typed array in the CMAP construction function 2011-06-17 07:14:11 +02:00
Vivien Nicolas
89c9bc39de Add a direct translation to one of the way to format charstring number in flattenCharstring (28, x, y) 2011-06-17 06:53:18 +02:00
Vivien Nicolas
01847a0e29 Get rid or IsNum/IsString/IsArray in flattenCharstring 2011-06-17 06:44:16 +02:00
Chris Jones
b299d26488 Merge pull request #14 from debloper/master
Test-page updated to allow the user open local PDFs
2011-06-16 21:12:33 -07:00
Vivien Nicolas
88512fbdd9 Remove some leftovers from the previous patch 2011-06-17 06:06:24 +02:00
Vivien Nicolas
eb6f7499dc Rework some code to enhance performance (CIIM6/CIIM9 are rejected by the sanitizer now) 2011-06-17 06:02:29 +02:00
Andreas Gal
d720575392 add blogs and twitter link 2011-06-16 09:37:15 -07:00
Vivien Nicolas
675b2f0471 Remove some debug leftovers and add some comments about future directions for the code 2011-06-16 09:34:43 +02:00
Soumya Deb
327e36b347 Test-page updated to allow the user open local PDFs 2011-06-16 12:14:02 +05:30
Vivien Nicolas
c9e0b05678 Resolve the char->glyphs mapping issue 2011-06-16 03:55:45 +02:00
Vivien Nicolas
a57b53b3b3 Merge from gal's master branch (got a regression on the mapping between char->glyph) 2011-06-16 03:05:55 +02:00
Vivien Nicolas
1923337bab Change the nominalWidth to not use the format 28,b0,b1 but b0-139 in order to pass the sanitizer and disable TrueType support until it fully works 2011-06-16 02:17:45 +02:00
Vivien Nicolas
509d608a3a Use spaces to compare font size to detect when the @font-face rule works, this seems to be more accurate 2011-06-16 01:30:47 +02:00
Vivien Nicolas
97e8a56323 Remove some useless JS function calls 2011-06-16 01:09:17 +02:00
Vivien Nicolas
650ed04a70 Get rid of the PostScript interpreter (part 1) 2011-06-15 23:02:30 +02:00
Chris Jones
7fb6c434c5 implement setDash 2011-06-15 12:55:48 -07:00
Chris Jones
470f0e49dd Merge branch 'master' of github.com:andreasgal/pdf.js 2011-06-15 12:42:48 -07:00
Chris Jones
988989e8b0 Merge pull request #6 from sbarman/master
type 2 shading
2011-06-15 12:41:40 -07:00
sbarman
23aba03f43 Merge branch 'master' of github.com:andreasgal/pdf.js
Conflicts:
	pdf.js
2011-06-15 12:37:05 -07:00
Chris Jones
07c81a624e implement some operators and add TODOs for remaining undefined ones 2011-06-15 14:24:44 -05:00
sbarman
0f2d4c7011 cleaned up fetchIfRef, changed switch-case to array lookup, changed IsFunction to IsPDFFunction 2011-06-15 11:34:47 -07:00
Andreas Gal
6a9f7def45 fixes suggested by @brendaneich 2011-06-15 00:37:15 -07:00
Vivien Nicolas
2519e4f53b Make Type1 glyphs use the default width they declare 2011-06-15 09:21:59 +02:00
Andreas Gal
97bb956ac9 measure load/compile/render times 2011-06-15 00:20:26 -07:00
Andreas Gal
b5dcf986eb clarify API a bit and hand in xref and resources to ease translation 2011-06-14 23:44:59 -07:00
Andreas Gal
77bc59681e completed async font loading framework 2011-06-14 23:41:26 -07:00