Update packages
Jasmine had a major version bump and required a few minor changes in our booting code. Most notably, using `pending` in a `describe` block is no longer supported, so we can only return early there. On the positive side, the unit tests now run in a random order by default, which eliminates any dependencies between unit tests. Note that upgrading to Webpack 4 is out of scope for this patch since the bots cannot work well with the newly generated bundles (both browsers on both bots do not react within 120 seconds). Webpack 4 is not faster for us than Webpack 3, so for now there is no need to upgrade.
This commit is contained in:
parent
db6e316efd
commit
95de23e6e3
@ -1292,7 +1292,7 @@ gulp.task('dist-pre', ['generic', 'components', 'lib', 'minified'], function() {
|
||||
license: DIST_LICENSE,
|
||||
dependencies: {
|
||||
'node-ensure': '^0.0.0', // shim for node for require.ensure
|
||||
'worker-loader': '^1.1.0', // used in external/dist/webpack.json
|
||||
'worker-loader': '^1.1.1', // used in external/dist/webpack.json
|
||||
},
|
||||
peerDependencies: {
|
||||
'webpack': '^2.0.0 || ^3.0.0', // peerDependency of 'worker-loader'
|
||||
|
24
package.json
24
package.json
@ -2,15 +2,15 @@
|
||||
"name": "pdf.js",
|
||||
"version": "2.0.0",
|
||||
"devDependencies": {
|
||||
"acorn": "^5.3.0",
|
||||
"acorn": "^5.5.3",
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-loader": "^7.1.2",
|
||||
"babel-loader": "^7.1.4",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
|
||||
"babel-preset-env": "^1.6.1",
|
||||
"core-js": "^2.5.3",
|
||||
"escodegen": "^1.9.0",
|
||||
"eslint": "^4.18.1",
|
||||
"eslint-plugin-mozilla": "^0.9.0",
|
||||
"escodegen": "^1.9.1",
|
||||
"eslint": "^4.19.1",
|
||||
"eslint-plugin-mozilla": "^0.10.0",
|
||||
"eslint-plugin-no-unsanitized": "^3.0.0",
|
||||
"fancy-log": "^1.3.2",
|
||||
"gulp": "^3.9.1",
|
||||
@ -18,25 +18,25 @@
|
||||
"gulp-replace": "^0.6.1",
|
||||
"gulp-transform": "^3.0.5",
|
||||
"gulp-zip": "^4.1.0",
|
||||
"jasmine": "^2.9.0",
|
||||
"jasmine-core": "^2.9.1",
|
||||
"jasmine": "^3.1.0",
|
||||
"jasmine-core": "^3.1.0",
|
||||
"jsdoc": "^3.5.5",
|
||||
"merge-stream": "^1.0.1",
|
||||
"mkdirp": "^0.5.1",
|
||||
"node-ensure": "^0.0.0",
|
||||
"rimraf": "^2.6.2",
|
||||
"streamqueue": "^1.1.2",
|
||||
"systemjs": "^0.20.19",
|
||||
"systemjs": "^0.21.0",
|
||||
"systemjs-plugin-babel": "^0.0.25",
|
||||
"ttest": "^1.1.0",
|
||||
"typogr": "^0.6.7",
|
||||
"uglify-es": "^3.3.9",
|
||||
"vinyl": "^2.1.0",
|
||||
"vinyl-fs": "^2.4.4",
|
||||
"webpack": "^3.10.0",
|
||||
"webpack-stream": "^4.0.0",
|
||||
"vinyl-fs": "^3.0.2",
|
||||
"webpack": "^3.11.0",
|
||||
"webpack-stream": "^4.0.3",
|
||||
"wintersmith": "^2.4.1",
|
||||
"yargs": "^9.0.1"
|
||||
"yargs": "^11.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "gulp lint unittestcli externaltest"
|
||||
|
@ -76,9 +76,9 @@ function initializePDFJS(callback) {
|
||||
},
|
||||
});
|
||||
|
||||
var catchingExceptions = queryString.getParam('catch');
|
||||
env.catchExceptions(typeof catchingExceptions === 'undefined' ?
|
||||
true : catchingExceptions);
|
||||
var stoppingOnSpecFailure = queryString.getParam('failFast');
|
||||
env.stopOnSpecFailure(typeof stoppingOnSpecFailure === 'undefined' ?
|
||||
false : stoppingOnSpecFailure);
|
||||
|
||||
var throwingExpectationFailures = queryString.getParam('throwFailures');
|
||||
env.throwOnExpectationFailure(throwingExpectationFailures);
|
||||
@ -94,8 +94,9 @@ function initializePDFJS(callback) {
|
||||
// Reporters
|
||||
var htmlReporter = new jasmine.HtmlReporter({
|
||||
env,
|
||||
onRaiseExceptionsClick() {
|
||||
queryString.navigateWithNewParam('catch', !env.catchingExceptions());
|
||||
onStopExecutionClick() {
|
||||
queryString.navigateWithNewParam('failFast',
|
||||
env.stoppingOnSpecFailure());
|
||||
},
|
||||
onThrowExpectationsClick() {
|
||||
queryString.navigateWithNewParam('throwFailures',
|
||||
|
@ -318,11 +318,11 @@ describe('api', function() {
|
||||
});
|
||||
|
||||
describe('PDFWorker', function() {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
it('worker created or destroyed', function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var worker = new PDFWorker({ name: 'test1', });
|
||||
worker.promise.then(function () {
|
||||
expect(worker.name).toEqual('test1');
|
||||
@ -340,6 +340,10 @@ describe('api', function() {
|
||||
});
|
||||
});
|
||||
it('worker created or destroyed by getDocument', function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var loadingTask = getDocument(basicApiGetDocumentParams);
|
||||
var worker;
|
||||
loadingTask.promise.then(function () {
|
||||
@ -360,6 +364,10 @@ describe('api', function() {
|
||||
});
|
||||
});
|
||||
it('worker created and can be used in getDocument', function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var worker = new PDFWorker({ name: 'test1', });
|
||||
var loadingTask = getDocument(
|
||||
buildGetDocumentParams(basicApiFileName, {
|
||||
@ -385,6 +393,10 @@ describe('api', function() {
|
||||
});
|
||||
});
|
||||
it('creates more than one worker', function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var worker1 = new PDFWorker({ name: 'test1', });
|
||||
var worker2 = new PDFWorker({ name: 'test2', });
|
||||
var worker3 = new PDFWorker({ name: 'test3', });
|
||||
@ -403,6 +415,10 @@ describe('api', function() {
|
||||
});
|
||||
});
|
||||
it('gets current workerSrc', function() {
|
||||
if (isNodeJS()) {
|
||||
pending('Worker is not supported in Node.js.');
|
||||
}
|
||||
|
||||
let workerSrc = PDFWorker.getWorkerSrc();
|
||||
expect(typeof workerSrc).toEqual('string');
|
||||
expect(workerSrc).toEqual(GlobalWorkerOptions.workerSrc);
|
||||
@ -1190,10 +1206,7 @@ describe('api', function() {
|
||||
]).then(done);
|
||||
});
|
||||
});
|
||||
describe('Multiple PDFJS instances', function() {
|
||||
if (isNodeJS()) {
|
||||
pending('TODO: Support Canvas testing in Node.js.');
|
||||
}
|
||||
describe('Multiple `getDocument` instances', function() {
|
||||
// Regression test for https://github.com/mozilla/pdf.js/issues/6205
|
||||
// A PDF using the Helvetica font.
|
||||
var pdf1 = buildGetDocumentParams('tracemonkey.pdf');
|
||||
@ -1247,6 +1260,10 @@ describe('api', function() {
|
||||
});
|
||||
|
||||
it('should correctly render PDFs in parallel', function(done) {
|
||||
if (isNodeJS()) {
|
||||
pending('TODO: Support Canvas testing in Node.js.');
|
||||
}
|
||||
|
||||
var baseline1, baseline2, baseline3;
|
||||
var promiseDone = renderPDF(pdf1).then(function(data1) {
|
||||
baseline1 = data1;
|
||||
@ -1275,12 +1292,9 @@ describe('api', function() {
|
||||
});
|
||||
});
|
||||
describe('PDFDataRangeTransport', function () {
|
||||
if (isNodeJS()) {
|
||||
pending('XMLHttpRequest is not supported in Node.js.');
|
||||
}
|
||||
var pdfPath = new URL('../pdfs/tracemonkey.pdf', window.location).href;
|
||||
var loadPromise;
|
||||
function getDocumentData() {
|
||||
const pdfPath = new URL('../pdfs/tracemonkey.pdf', window.location).href;
|
||||
if (loadPromise) {
|
||||
return loadPromise;
|
||||
}
|
||||
@ -1299,6 +1313,10 @@ describe('api', function() {
|
||||
return loadPromise;
|
||||
}
|
||||
it('should fetch document info and page using ranges', function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('XMLHttpRequest is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var transport;
|
||||
var initialDataLength = 4000;
|
||||
var fetches = 0;
|
||||
@ -1333,6 +1351,10 @@ describe('api', function() {
|
||||
});
|
||||
it('should fetch document info and page using range and streaming',
|
||||
function (done) {
|
||||
if (isNodeJS()) {
|
||||
pending('XMLHttpRequest is not supported in Node.js.');
|
||||
}
|
||||
|
||||
var transport;
|
||||
var initialDataLength = 4000;
|
||||
var fetches = 0;
|
||||
|
@ -83,7 +83,7 @@ describe('evaluator', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle one operations', function(done) {
|
||||
it('should handle one operation', function(done) {
|
||||
var stream = new StringStream('Q');
|
||||
runOperatorListCheck(partialEvaluator, stream, new ResourcesMock(),
|
||||
function(result) {
|
||||
@ -108,7 +108,7 @@ describe('evaluator', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle tree glued operations', function(done) {
|
||||
it('should handle three glued operations', function(done) {
|
||||
var stream = new StringStream('fff');
|
||||
runOperatorListCheck(partialEvaluator, stream, new ResourcesMock(),
|
||||
function (result) {
|
||||
|
@ -124,9 +124,9 @@ function initializePDFJS(callback) {
|
||||
},
|
||||
});
|
||||
|
||||
var catchingExceptions = queryString.getParam('catch');
|
||||
env.catchExceptions(typeof catchingExceptions === 'undefined' ?
|
||||
true : catchingExceptions);
|
||||
var stoppingOnSpecFailure = queryString.getParam('failFast');
|
||||
env.stopOnSpecFailure(typeof stoppingOnSpecFailure === 'undefined' ?
|
||||
false : stoppingOnSpecFailure);
|
||||
|
||||
var throwingExpectationFailures = queryString.getParam('throwFailures');
|
||||
env.throwOnExpectationFailure(throwingExpectationFailures);
|
||||
@ -142,8 +142,9 @@ function initializePDFJS(callback) {
|
||||
// Reporters
|
||||
var htmlReporter = new jasmine.HtmlReporter({
|
||||
env,
|
||||
onRaiseExceptionsClick() {
|
||||
queryString.navigateWithNewParam('catch', !env.catchingExceptions());
|
||||
onStopExecutionClick() {
|
||||
queryString.navigateWithNewParam('failFast',
|
||||
env.stoppingOnSpecFailure());
|
||||
},
|
||||
onThrowExpectationsClick() {
|
||||
queryString.navigateWithNewParam('throwFailures',
|
||||
|
Loading…
Reference in New Issue
Block a user