Commit Graph

259 Commits

Author SHA1 Message Date
Jonas Jenwald
5bb5e7741d Enable the eslint-plugin-no-unsanitized ESLint plugin to disallow unsafe usage of e.g. innerHTML
See https://github.com/mozilla/eslint-plugin-no-unsanitized

Since we've generally never allowed e.g. `innerHTML`, which is enforced during review, there's only one linting failure with this patch. (Which is white-listed, according to the existing comment and the fact that it's test-only code.)
2019-06-23 13:50:30 +02:00
Jonas Jenwald
f0719ed565 [api-minor] Change the getViewport method, on PDFPageProxy, to take a parameter object rather than a bunch of (randomly) ordered parameters
If, as PR 10368 suggests, more parameters should be added to `getViewport` I think that it would be a mistake to not change the signature *first* to avoid needlessly unwieldy call-sites.

To not break any existing code and third-party use-cases, this is obviously implemented with a deprecation warning *and* with a working fallback[1] for the old method signature.

---
[1] This is limited to `GENERIC` builds, which should be sufficient.
2018-12-21 11:55:20 +01:00
Jonas Jenwald
ef8e5fd77c Convert PDFDocumentLoadingTask, in src/display/api.js, to an ES6 class
Also deprecates the `then` method, in favour of the `promise` getter.
2018-11-18 19:07:57 +01:00
Brendan Dahl
01bff1a81d Rename the globals to shorter names.
pdfjsDistBuildPdf=pdfjsLib
pdfjsDistWebPdfViewer=pdfjsViewer
pdfjsDistBuildPdfWorker=pdfjsWorker
2018-03-16 11:08:56 -07:00
Jonas Jenwald
b8606abbc1 [api-major] Completely remove the global PDFJS object 2018-03-01 18:13:27 +01:00
Jonas Jenwald
212553840f Move the pdfBug option from the global PDFJS object and into getDocument instead
Also removes the now unused `getDefaultSetting` helper function.
2018-03-01 18:11:17 +01:00
Jonas Jenwald
b69abf1111 Move the disableRange option from the global PDFJS object and into getDocument instead 2018-03-01 18:11:16 +01:00
Jonas Jenwald
69d7191034 Move the disableAutoFetch option from the global PDFJS object and into getDocument instead
One additional complication with removing this option from the global `PDFJS` object, is that the viewer currently needs to check `disableAutoFetch` in a couple of places. To address this I'm thus proposing adding a getter in `PDFDocumentProxy`, to allow checking the *actually* used values for a particular `getDocument` invocation.
2018-03-01 18:11:16 +01:00
Jonas Jenwald
3c2fbdffe6 Move the cMapUrl and cMapPacked options from the global PDFJS object and into getDocument instead 2018-03-01 18:11:16 +01:00
Jonas Jenwald
c3c1fc511d Move the workerSrc option from the global PDFJS object and into GlobalWorkerOptions instead 2018-02-16 13:22:35 +01:00
Brendan Dahl
4f5fb78237
Merge pull request #9401 from brendandahl/svg-fail
Make the test framework more resilient to errors.
2018-02-14 17:05:40 -08:00
Brendan Dahl
53d19b619d Make the test framework more resilient to errors. 2018-02-14 17:02:19 -08:00
Jonas Jenwald
e95c11a7f0 Remove the undocumented PDFJS.enableStats option
In order to simplify things, the undocumented `enableStats` option was removed and `pdfBug` is now instead used to enabled general debugging *and* page request/rendering stats.
Considering that in the default viewer the `stats` was only used when debugging was also enabled, this simplification (code wise) definitely seem worthwhile to me.
2018-02-13 16:56:57 +01:00
Jonas Jenwald
c45c394364 Move the imageResourcesPath option to a BaseViewer/PDFPageView/AnnotationLayerBuilder option
This removes the `PDFJS.imageResourcesPath` dependency from the viewer components and the test-suite, but please note that as a *temporary* solution the default viewer still uses it.
2018-02-13 14:28:38 +01:00
Jonas Jenwald
1cf116ab88 Enable the mozilla/use-includes-instead-of-indexOf ESLint rule globally
This rule is available from https://www.npmjs.com/package/eslint-plugin-mozilla, and is enforced in mozilla-central. Note that we have the necessary `Array`/`String` polyfills and that most cases have already been fixed, see PRs 9032 and 9434.
2018-02-10 23:24:50 +01:00
Jonas Jenwald
2eb29409bc Enable the mozilla/avoid-removeChild ESLint rule globally
This rule is available from https://www.npmjs.com/package/eslint-plugin-mozilla, and is enforced in mozilla-central. Note that we have a polyfill for `ChildNode.remove()` and that most cases have already been fixed, see PRs 8056 and 8138.
2018-02-10 23:24:50 +01:00
Jonas Jenwald
7c5ba9aad5 [api-major] Only create a StatTimer for pages when enableStats == true (issue 5215)
Unless the debugging tools (i.e. `PDFBug`) are enabled, or the `browsertest` is running, the `PDFPageProxy.stats` aren't actually used for anything.
Rather than initializing unnecessary `StatTimer` instances, we can simply re-use *one* dummy class (with static methods) for every page. Note that by using a dummy `StatTimer` in this way, rather than letting `PDFPageProxy.stats` be undefined, we don't need to guard *every* single stats collection callsite.

Since it wouldn't make much sense to attempt to use `PDFPageProxy.stats` when stat collection is disabled, it was instead changed to a "private" property (i.e. `PDFPageProxy._stats`) and a getter was added for accessing `PDFPageProxy.stats`. This getter will now return `null` when stat collection is disabled, making that case easy to handle.

For benchmarking purposes, the test-suite used to re-create the `StatTimer` after loading/rendering each page. However, modifying properties on various API code from the outside in this way seems very error-prone, and is an anti-pattern that we really should avoid at all cost. Hence the `PDFPageProxy.cleanup` method was modified to accept an optional parameter, which will take care of resetting `this.stats` when necessary, and `test/driver.js` was updated accordingly.

Finally, a tiny bit more validation was added on the viewer side, to ensure that all the code we're attempting to access is defined when handling `PDFPageProxy` stats.
2017-12-06 23:12:25 +01:00
Tim van der Meij
7d7edd9cc6
[api-major] Remove the PDFJS_NEXT option
Nothing uses this option anymore, so setting it is a no-op now. We can
safely remove it.

Use `SKIP_BABEL` (instead of `PDFJS_NEXT`) now if you want to skip Babel
translation for a build.
2017-10-16 23:16:51 +02:00
Jonas Jenwald
1ebbdc253a Use the SimpleLinkService when running "annotations" reference tests
Rather than (basically) duplicating the `SimpleLinkService` in `test/driver.js`, with potential test failuires if you forget to update the test mock, it seems much nicer to just re-use the viewer component.

Note that `SimpleLinkService` is already bundled into the `build/components/pdf_viewer.js` file. Hence we only need to expose it similar to the other viewer components in that file, and make sure that the `gulp components` command runs as part of the test-setup.
2017-09-12 15:24:46 +02:00
Tim van der Meij
23cbe294d5
Combine the common styles and overrides for the annotation layer
reference tests

This patch allows us to use the common styles as used by the viewer as a
baseline for the annotation layer reference tests. They are extended
with a small set of overrides to ensure that all elements are visible
during the test.

The overrides file now only contains the absolutely necessary rules to
make all elements visible and is therefore no longer an almost verbatim
copy of the common styles.
2017-09-10 18:18:56 +02:00
Jonas Jenwald
11e95712d4 Add support for the nativeImageDecoderSupport parameter, to force JPEG image decoding using src/core/jpg.js, when running the reference tests 2017-07-11 16:38:49 +02:00
Jonas Jenwald
efbd68efef Fix inconsistent spacing and trailing commas in objects in test/ files, so we can enable the comma-dangle and object-curly-spacing ESLint rules later on
http://eslint.org/docs/rules/comma-dangle
http://eslint.org/docs/rules/object-curly-spacing

Given that we currently have quite inconsistent object formatting, fixing this in *one* big patch probably wouldn't be feasible (since I cannot imagine anyone wanting to review that); hence I've opted to try and do this piecewise instead.

Please note: This patch was created automatically, using the ESLint `--fix` command line option. In a couple of places this caused lines to become too long, and I've fixed those manually; please refer to the interdiff below for the only hand-edits in this patch.

```diff
diff --git a/test/chromium/test-telemetry.js b/test/chromium/test-telemetry.js
index cc412a31..2e5bdfa1 100755
--- a/test/chromium/test-telemetry.js
+++ b/test/chromium/test-telemetry.js
@@ -324,7 +324,7 @@ var tests = [
     var window = createExtensionGlobal();
     telemetryScript.runInNewContext(window);
     window.chrome.runtime.getManifest = function() {
-     return { version: '1.0.1', };
+      return { version: '1.0.1', };
     };
     window.Date.test_now_value += 12 * 36E5;
     telemetryScript.runInNewContext(window);
diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js
index 1f00747a..f22988e7 100644
--- a/test/unit/api_spec.js
+++ b/test/unit/api_spec.js
@@ -503,8 +503,9 @@ describe('api', function() {
     it('gets destinations, from /Dests dictionary', function(done) {
       var promise = doc.getDestinations();
       promise.then(function(data) {
-        expect(data).toEqual({ chapter1: [{ gen: 0, num: 17, }, { name: 'XYZ', },
-                                          0, 841.89, null], });
+        expect(data).toEqual({
+          chapter1: [{ gen: 0, num: 17, }, { name: 'XYZ', }, 0, 841.89, null],
+        });
         done();
       }).catch(function (reason) {
         done.fail(reason);
diff --git a/test/unit/function_spec.js b/test/unit/function_spec.js
index 66441212..62127eb9 100644
--- a/test/unit/function_spec.js
+++ b/test/unit/function_spec.js
@@ -492,9 +492,11 @@ describe('function', function() {
     it('check compiled mul', function() {
       check([0.25, 0.5, 'mul'], [], [0, 1], [{ input: [], output: [0.125], }]);
       check([0, 'mul'], [0, 1], [0, 1], [{ input: [0.25], output: [0], }]);
-      check([0.5, 'mul'], [0, 1], [0, 1], [{ input: [0.25], output: [0.125], }]);
+      check([0.5, 'mul'], [0, 1], [0, 1],
+            [{ input: [0.25], output: [0.125], }]);
       check([1, 'mul'], [0, 1], [0, 1], [{ input: [0.25], output: [0.25], }]);
-      check([0, 'exch', 'mul'], [0, 1], [0, 1], [{ input: [0.25], output: [0], }]);
+      check([0, 'exch', 'mul'], [0, 1], [0, 1],
+            [{ input: [0.25], output: [0], }]);
       check([0.5, 'exch', 'mul'], [0, 1], [0, 1],
             [{ input: [0.25], output: [0.125], }]);
       check([1, 'exch', 'mul'], [0, 1], [0, 1],
```
2017-06-02 13:04:04 +02:00
Yury Delendik
b66b705ed7 Using pre-built code for testing. 2017-05-30 22:06:21 +02:00
Jonas Jenwald
b5775af716 Wait for previous pdfDocument(s) to be destroyed before running the next reference test
Refactors `Driver._cleanup` to return a `Promise` which is resolved once all opened documents have been destroyed.
This is then used in `Driver._nextTask` to ensure that we wait for everything to be cleaned up, such that the tests run sequentially.
2017-05-11 12:56:45 +02:00
Jonas Jenwald
7560f12a17 Enable the object-shorthand ESLint rule
Please see http://eslint.org/docs/rules/object-shorthand.

Unfortunately, based on commit 9276d1dcd9, it seems that we still need to maintain compatibility with old Node.js versions, hence certain files/directories that are executed in Node.js are currently exempt from this rule.

Furthermore, since the files specific to the Chromium extension are not run through Babel, the `/extensions/chromium/` directory is also exempt from this rule.
2017-04-30 11:13:34 +02:00
Jonas Jenwald
9d62ff80ca Actually skip pages included in the skipPages array when running tests, rather than creating empty 1x1 canvases (issue 8241)
Considering how extremely simple this patch turned out to be, I'm almost worried that I completely misunderstood why the current code looks like it does...
2017-04-06 13:17:52 +02:00
Jonas Jenwald
6d672c4ba6 [api-minor] Add a pdfjsNext parameter, and PDFJS_NEXT build flag, to allow backwards incompatible API changes 2017-03-13 18:43:43 +01:00
Jonas Jenwald
e416032b38 Prevent browser console errors during testing
The `Driver._cleanup` method is removing all stylesheets between test runs, which causes "TypeError: styleElement.parentNode is null" console errors in `FontLoader.clear`.

As can also be seen during various tests, some of the changes I made in PR 7972 unfortunately causes console errors.
It seems that I didn't test this properly, since it *should* have been obvious to me that while tests are triggered using Node.js, the files in question are run within the *browser*.
My apologies for not testing this thoroughly, and for causing unnecessary churn in the code!
2017-02-05 13:23:42 +01:00
Tim van der Meij
6f0cf8c4cb Merge pull request #7972 from Snuffleupagus/eslint_no-unused-vars
Enable the `no-unused-vars` ESLint rule
2017-02-01 23:50:23 +01:00
Jonas Jenwald
c102232275 Append the contents of FileAttachment annotations to the attachments view of the sidebar, for easier access to the embedded files
Other PDF viewers, e.g. Adobe Reader, seem to append `FileAttachment`s to their attachments views.
One obvious difference in PDF.js is that we cannot append all the annotations on document load, since that would require parsing *every* page. Despite that, it still seems like a good idea to add `FileAttachment`s, since it's thus possible to access all the various types of attachments from a single place.

*Note:* With the previous patch we display a notification when a `FileAttachment` is added to the sidebar, which thus makes appending the contents of these annotations to the sidebar slightly more visible/useful.
2017-01-31 22:26:16 +01:00
Jonas Jenwald
52e0f51917 Enable the no-unused-vars ESLint rule
Please see http://eslint.org/docs/rules/no-unused-vars; note that this patch purposely uses the same rule options as in `mozilla-central`, such that it fixes part of issue 7957.

It wasn't, in my opinion, entirely straightforward to enable this rule compared to the already existing rules. In many cases a `var descriptiveName = ...` format was used (more or less) to document the code, and I choose to place the old variable name in a trailing comment to not lose that information.

I welcome feedback on these changes, since it wasn't always entirely easy to know what changes made the most sense in every situation.
2017-01-29 23:23:17 +01:00
Jonas Jenwald
3820946301 Fix (most) errors reported by the no-multi-spaces ESLint rule
http://eslint.org/docs/rules/no-multi-spaces
2016-12-12 20:35:51 +01:00
Jonas Jenwald
3a105e37f4 Ensure that test/driver.js actually takes the same Annotation code-path as the viewer when running forms tests (PR 7633 follow-up)
Unfortunately PR 7633 missed, and I didn't catch it during review, to update `test/driver.js` such that the `forms` tests takes the correct code-path.
This resultet in the `forms` reference test images looking better than they should, and more problematicly differing from the rendering in the viewer.

With this patch, the tests now correctly skip over any `Appearance` streams.
The `forms` tests now highlights quite clearly (e.g. look at `annotation-tx2.pdf`/`annotation-tx3.pdf`) that we cannot just skip the `Appearance` streams when rendering forms. Hence we're going to have to find a way to fix that *before* enabling forms by default, since both display *and* print would look completely wrong otherwise.
Finally, this patch also uncovers one more existing bug that still needs to be fixed, since the current `rasterizeAnnotationLayer` in `test/driver.js` isn't able to handle the contents of e.g. `<input>` and `<textarea>`.
2016-09-21 12:21:20 +02:00
Tim van der Meij
e281ce7c73 Enable regression testing for interactive forms 2016-09-07 16:50:44 +02:00
Jeremy Press
1ceeb4d17b added text enhancement regression tests 2016-08-31 09:54:52 -07:00
Jeremy Press
6faa84abdb Continuing fairexpand #6663
1. Expanding divs to improve text selection. (Yury)
2. Adding enhanceTextSelection as an option.
3. Moving feature functionality from text_layer_builder.js to text_layer.js.
4. Added expandTextDivs method to only load expanded divs on first click, and only show on subsequent clicks
2016-08-31 09:54:52 -07:00
Jonas Jenwald
f297e4d17c [api-minor] Add a parameter to PDFPageProxy_getTextContent that controls whether PartialEvaluator_getTextContent will attempt to combine same line text items
From the discussion in issue 7445, it seems that there may be cases where an API consumer would want to get the text content as is, without combined text items.
2016-07-19 13:38:57 +02:00
Prakash Palanisamy
a25c29d98d Remove combineUrl and replace it with new URL. 2016-04-15 21:33:10 +05:30
Brendan Dahl
fb47490648 Log uncaught global errors. 2016-03-22 15:49:32 -07:00
Tim van der Meij
b7217a2274 Implement annotation layer regression testing 2015-12-20 13:45:56 +01:00
Yury Delendik
6b60c8f4db Adds UMD headers to core, display and shared files. 2015-12-15 13:24:39 -06:00
Jonas Jenwald
6dfe53b976 [api-minor] Add a parameter to PDFPageProxy_getTextContent that enables replacing of all whitespace with standard spaces in the textLayer (issue 6612)
This patch goes a bit further than issue 6612 requires, and replaces all kinds of whitespace with standard spaces.

When testing this locally, it actually seemed to slightly improve two existing test-cases (`tracemonkey-text` and `taro-text`).

Fixes 6612.
2015-11-25 17:28:40 +01:00
Yury Delendik
bd7f121c83 Better "text" testing. 2015-11-19 11:03:52 -06:00
Yury Delendik
194994a289 Merge pull request #6551 from yurydelendik/subaa
[api-minor] Enables subpixel anti-aliasing for most of the content.
2015-11-17 19:45:32 -06:00
Yury Delendik
1d8800370a Allow subpixel anti-aliasing for most of the content. 2015-11-16 10:50:02 -06:00
Manas
a2ba1b8189 Uses editorconfig to maintain consistent coding styles
Removes the following as they unnecessary
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
2015-11-14 07:32:18 +05:30
Rob Wu
b627a1a0d9 Add --testfilter (-t) flag to run a specific test 2015-07-18 17:31:56 +02:00
Tim van der Meij
e02ab9fb79 Implement an option to disable automatic scrolling
This adds a checkbox with which one can disable scrolling, for example to look back at output during testing. Note that the styles are inline because the test runner removes all <style> elements for each test.
2015-05-21 20:19:36 +02:00
Tim van der Meij
07ec736eb9 Improve driver code structure
- Improve variable names and move variables to the top of the method
- Use constants where possible
- Only print the delay text if there is an atual delay set
- Simplify continuation logic in _nextTask
- Do not pass anything to clearCanvas: we can get the context from this.canvas there.
- Remove innerHTML and replace it with textContent. Add a comment why insertAdjancentHTML is so important for performance and runtime.
- Merge _quit and _sendQuitRequest.
2015-05-21 20:19:32 +02:00
Tim van der Meij
ae8748edfb Refactor test driver to be more class-like
- Extract NullTextLayerBuilder and SimpleTextLayerBuilder from the driver code and create classes for them.
- Move options to the constructor and pass in HTML elements instead of getting them in the driver.
- Remove unused masterMode variable.
- Minor method name updates.

The rest is only moving/indenting existing code and adding 'this'.
2015-05-21 20:19:02 +02:00
Tim van der Meij
d59660cfa6 Clean up the test driver
- Remove a hack for Chrome on Windows because we do not run Chrome on the Windows bot anymore, so it added unneeded complexity.
- Merge nextTask and continueNextTask functions. nextTask did nothing more than calling cleanup. This change also allows us to remove the callback for that function.
- Remove unnecessary one-line functions.
2015-05-15 23:21:20 +02:00
Tim van der Meij
58769fd3b9 Refactor test slave
- Improved names of elements
- Easier scrolling code
2015-05-15 23:20:14 +02:00
Brendan Dahl
4824baf31c Merge pull request #5905 from timvandermeij/specialpowers
Remove SpecialPowers addon
2015-04-27 10:36:54 -07:00
Jonas Jenwald
36ac67583f Remove commented out code about |disableWorker| in the test suite
Since the tests have run with workers enabled for a long time, these comments are no longer relevant.
2015-04-04 13:32:44 +02:00
Tim van der Meij
75d8f70d06 Remove SpecialPowers addon 2015-04-03 20:17:20 +02:00
Mitar
2f72ac1255 textLayer is not used anymore in render context.
It should be removed to prevent confusion when reading the code.
2014-09-19 15:13:01 -07:00
Tim van der Meij
e525902241 Use strict equalities in test/driver.js 2014-07-31 23:08:54 +02:00
Tim van der Meij
34728ee49b Removing unused code 2014-07-18 22:34:50 +02:00
Brendan Dahl
339f8f0ac9 Call correct quit function and wait request sending. 2014-04-17 07:34:38 -05:00
Brendan Dahl
5bd8a83c9b Build the text layer geometry on the worker. 2014-04-09 16:44:07 -07:00
Yury Delendik
4d3b15a486 Cools down Chrome/Windows during testing 2014-03-31 07:46:11 -05:00
Yury Delendik
567f1f4af0 Makes sure the results are send /handled in right order 2014-03-25 14:07:08 -05:00
Brendan Dahl
68be273c69 Merge pull request #4470 from yurydelendik/packcmap
CMaps binary packing
2014-03-17 12:27:35 -07:00
Yury Delendik
1d8f6cf0e7 Updates make.js for cmaps and make binary cmaps by default 2014-03-17 13:30:43 -05:00
Yury Delendik
69efd9cb96 CMaps binary packing 2014-03-14 16:46:35 -05:00
Jonas Jenwald
e808bf5736 Fix coding style in test/driver.js 2014-03-14 15:25:38 +01:00
Brendan Dahl
b5b94a4af3 Use built in CMaps and unify the glyph mapping. 2014-02-11 10:27:09 -08:00
Yury Delendik
96fff4cc74 Refactors getTextContent return value 2014-01-17 13:26:00 -06:00
Yury Delendik
0131101275 Takes ascent/descent in account in the text layer 2014-01-08 13:50:52 -06:00
Yury Delendik
5bf3e44e30 Introduces LegacyPromise; polyfills DOM Promise 2014-01-03 18:17:05 -06:00
Brendan Dahl
e697c598c2 Enable range requests in master mode. 2013-07-12 16:40:19 -07:00
Yury Delendik
ba87d2fe11 Merge pull request #3373 from SSk123/master
rotation causes textLayer to get messed up
2013-06-29 17:24:12 -07:00
Srishti
ee0705bcce Reset Path 2013-06-30 04:22:25 +05:30
Srishti
21a8d62624 Fixes Text rotation issue #2095 2013-06-30 03:52:30 +05:30
Yury Delendik
27c8291ea1 Adds test for issue 3371 and enables testing with password. 2013-06-25 19:56:47 -05:00
Brendan Dahl
ae1f973204 Use A+ spec compatible promises. 2013-06-05 12:28:31 -07:00
Brendan Dahl
3b86ebeacb Merge pull request #3310 from yurydelendik/ignore-bad-downloads
Skips failed-to-download tests
2013-05-30 21:47:33 -07:00
Brendan Dahl
732e6d0fbb Wrap driver code in closure. 2013-05-30 16:33:05 -07:00
Yury Delendik
702da7f3ea Skips failed-to-download tests 2013-05-30 17:58:48 -05:00
Mack Duan
6b2c6fc223 Changes to regression tests for progressive loading 2013-04-18 00:16:36 -07:00
Mack Duan
ef423ef30c Implement progressive loading of PDFs 2013-04-12 16:13:22 -07:00
Brendan Dahl
95dd33d51a Remove mozOpaque for driver. 2013-03-29 15:18:18 -07:00
Brendan Dahl
ec311f303b Use white backdrop when possible. 2013-03-29 13:26:25 -07:00
Yury Delendik
81f8f92696 Adds web/* and test/* for jshint target 2013-02-04 12:01:19 -06:00
mduan
48c15b70db Make firstPage work in test_manifest.json + rename pageLimit -> lastPage 2013-01-30 15:00:11 -05:00
Brendan Dahl
9e507063ca Start of the stat utilities. 2012-12-10 10:19:02 -08:00
Brendan Dahl
50e21bb103 Log user agent for reference tests. 2012-12-04 10:28:25 -08:00
Brendan Dahl
a2b2ecaa29 Fix the initialization of the first page for multiple testing rounds. 2012-11-01 11:24:46 -07:00
Yury Delendik
b5f952a63a Fixes font debugger; text builder api refactoring 2012-10-09 08:25:41 -05:00
Julian Viereck
f1e0edbaa9 Address Yurys review comments 2012-09-22 11:18:26 +02:00
Julian Viereck
e48530d391 Fix AppendText after API changes 2012-09-20 22:09:03 +02:00
Julian Viereck
049b19264c Make lint happy again 2012-09-20 17:12:36 +02:00
Julian Viereck
e7894ca07d Fix the driver.js file to handle new TextLayer infrastructure 2012-09-20 17:12:36 +02:00
Yury Delendik
ac7b6aeff4 Provides right fallback fonts for text layer 2012-09-14 11:17:35 -07:00
Yury Delendik
3fed93d808 Adds text layer testing 2012-09-12 15:57:24 -07:00
Brendan Dahl
332ae4ce41 Change to the Apache v2 license. 2012-08-31 15:48:21 -07:00
Yury Delendik
7a0e91af4b removes expandUrl(url); fixes error message 2012-07-19 16:10:26 -05:00
Yury Delendik
00f1d6dbf1 Fetches pdf data in the worker 2012-06-23 14:48:33 -05:00
Yury Delendik
cff6c8db08 skip cached objects and has consistent font ids 2012-04-16 21:42:05 -05:00
Yury Delendik
357805696b Fixing concurrency and test driver 2012-04-16 14:49:55 -05:00
Yury Delendik
e1b4fc5ac7 Enabled workers during testing 2012-04-13 16:04:57 -05:00
Brendan Dahl
b6c587bb98 Fix driver viewport. 2012-04-12 09:59:17 -07:00
Yury Delendik
b312719d7e Fixes test driver and examples 2012-04-12 08:23:38 -07:00
Brendan Dahl
5608f8e445 Test refactoring for async api. 2012-04-11 18:05:43 -07:00
Artur Adib
bdc8a91778 Retry w/ JSON to avoid cross-object contamination 2012-04-04 18:25:22 -04:00
Artur Adib
6d9e045413 driver.js: retry POST until successful 2012-04-03 18:19:03 -04:00
notmasteryet
00664f5f0c add liveprogramming as load test 2012-01-09 20:37:39 -06:00
notmasteryet
a52aacab5a Fix the text layer testing 2011-12-18 16:15:53 -06:00
notmasteryet
d4e22f5a92 Clear canvas for skipped pages 2011-12-07 22:07:34 -06:00
notmasteryet
5909830d43 Fixing the textLayer parameter 2011-12-05 17:19:43 -06:00
notmasteryet
3ea81bf0a6 (#867) Set Type3 font encoding; enable text selection testing 2011-12-04 13:51:12 -06:00
Brendan Dahl
e0c231eec7 Merge upstream and change to error parameter for callback. 2011-12-02 10:19:43 -08:00
Brendan Dahl
d6925b13ba Adding new errorback and code to display error messages. 2011-11-28 16:55:09 -08:00
Brendan Dahl
29c21843d6 Nits 2011-11-15 15:45:37 -08:00
Brendan Dahl
9830cb935e Fix two memory leaks. 2011-11-15 14:43:05 -08:00
Julian Viereck
99254891e6 Disable work on firefox using feature detection 2011-11-10 18:38:22 +01:00
Artur Adib
1d4e3025b6 PDF --> PDFJS, global wrapper named 2011-10-26 14:46:57 -04:00
=
65ea07a3a2 Initial merge of master. 2011-10-19 11:14:13 -07:00
Kalervo Kujala
633baa881f Make test_slave.html as valid html5.
Fix also warnings in the error console that appear from a test run.
2011-10-11 22:09:13 +02:00
Julian Viereck
3054102d3b Merge worker_pull with master 2011-10-08 14:18:23 +02:00
Artur Adib
07b52bf1c6 Lint, extra space eol 2011-10-03 15:25:02 -04:00
Artur Adib
2f209a8e85 Oh, 80-char limit... super modern 2011-10-03 15:21:26 -04:00
Artur Adib
99f419fa6b New test/ features, useful for bot
test.py: 
  added option --noPrompts
  removed unnecessary warnings (masterMode)
  removed unnecessary "Creating tmp failed" message when error is simply b/c it already exists

driver.js:
  added per PDF manifest option "pageLimit", e.g. "pageLimit":100
2011-10-03 14:53:45 -04:00
Kalervo Kujala
de408dac70 Fix lint warnings.
And name anonymous functions.
2011-09-27 21:43:48 +03:00
Artur Adib
83854a085c Implemented getPdf(). Closes #516
Conflicts:

	examples/helloworld/hello.js
2011-09-27 13:30:47 -04:00
Kalervo Kujala
2094c29169 Use data directly in PDFDoc.
And create the Stream inside the PDFDoc constructor for a cleaner interface.
Also encapsulate unnecessary details from the user.
2011-09-26 20:58:18 +03:00
notmasteryet
39ba5324a7 Merge branch 'master' of https://github.com/andreasgal/pdf.js.git into invalidpdf-1
Conflicts:
	test/test_manifest.json
2011-09-24 09:57:59 -05:00
notmasteryet
91a5f73708 Implement "skipPages" feature for reftests 2011-09-24 09:44:50 -05:00
Chris Jones
54e69d59bf Merge pull request #517 from kkujala/master
Name anonymous functions for debugging purposes.
2011-09-23 16:46:04 -07:00
Kalervo Kujala
2d03f93fed Name anonymous functions for debugging purposes.
It also makes profiling more convenient.
2011-09-23 20:25:24 +03:00
notmasteryet
ba74e56c35 Using !== for objects comparison 2011-09-23 06:58:54 -05:00
notmasteryet
f3e4cf20cc intermediate variable for document.body 2011-09-22 20:18:43 -05:00
notmasteryet
107576d634 Removing introduced by the test run DOM elements 2011-09-22 18:04:50 -05:00
notmasteryet
999487444d removing onload from driver.js 2011-09-19 07:06:20 -05:00
notmasteryet
7036bcd4c7 Zero gjslint warnings mark 2011-09-18 14:44:57 -05:00
Julian Viereck
921f8bd669 Tried to add a destroy function to free memeory, but doesn't seem to help 2011-09-16 08:09:58 -07:00
Julian Viereck
8f21f87fd9 Add firstPage option to tasks to speed up testing certain pages 2011-09-15 23:36:08 -07:00
Kalervo Kujala
07254bb0a5 Fix small lint warnings. 2011-09-15 23:32:44 +03:00
Julian Viereck
fea3388c41 Make testdriver use new worker infrastructure 2011-09-15 09:03:50 -07:00
Kalervo Kujala
8e5a8fb49f Fix Mode comment lines. 2011-09-12 20:37:33 +03:00
Artur Adib
1296da313c Fixed browser shutdown bug for Macs
The unnecessary spaces in the URL query were causing `tellAppToQuit()` to fail to detect the query `path`, so the browser was being killed via timeout instead of intended script.
2011-09-06 13:59:14 -04:00
notmasteryet
238ac7c812 Fix insertAdjacentHTML for pre FF8 2011-08-25 19:14:51 -05:00
Kalervo Kujala
e00ae164f0 Catch multiline log function calls. 2011-08-24 19:11:38 +03:00
Kalervo Kujala
3fa8bba48e Make 'make test' factors faster.
Profiling with firebug reveals that log and checkScrolling functions slow down
the 'make test' by factors.

Use insertAdjacentHtml in the log fucntion insteand of appending to
innerHTML. Also call checkScrolling function only when it is prudent to do
instead of unnecessarily in every log function call.
2011-08-23 23:21:15 +03:00
Kalervo Kujala
7cbdc982c5 Report results properly to test.py from driver.js.
If the PDFDoc creation failed in driver.js then that was not informed back to
test.py. This lead to State.remaining being off by one. And that did not let
the test to end as expected. Instead the test hung indefinitely.

This change now reveals TEST-UNEXPECTED-FAIL which was hidden previously.
2011-08-17 01:33:00 +03:00
Kalervo Kujala
965193b38d Keep the results visible in test_slave.html before quitting.
Currently the innerHTML is replaced with text:
Tests are finished.
CLOSE ME!
Instead of replacing the innerHTML prepend that text to it.
This way the user can still check the results of the test.
2011-08-16 23:16:29 +03:00
Kalervo Kujala
802f664baa Indent the driver.js correctly. 2011-08-16 22:17:46 +03:00
Kalervo Kujala
56ed06e7ea Refactor the lines that are over 80 characters long in driver.js. 2011-08-12 01:00:32 +03:00
Kalervo Kujala
30ecf43676 Correct the coding style according to gjslint for driver.js.
And remove stray tabs.
2011-08-09 00:03:08 +03:00
Andreas Gal
fe7c03dece Merge pull request #310 from brendandahl/rotation
Adding support for page rotation
2011-08-06 16:14:35 -07:00