Enable running the ui_utils
unit-tests on Travis
With the exception of just one test-case, all the current `ui_utils` unit-tests can run successfully on Node.js (since most of them doesn't rely on the DOM). To get this working, I had to first of all add a new `LIB` build flag such that `gulp lib` produces a `web/pdfjs.js` file that is able to load `pdf.js` successfully. Second of all, since neither `document` nor `navigator` is available in Node.js, `web/ui_utils.js` was adjusted slightly to avoid errors.
This commit is contained in:
parent
5fe26bb9da
commit
ae04cf1c37
@ -77,6 +77,7 @@ var DEFINES = {
|
|||||||
MINIFIED: false,
|
MINIFIED: false,
|
||||||
SINGLE_FILE: false,
|
SINGLE_FILE: false,
|
||||||
COMPONENTS: false,
|
COMPONENTS: false,
|
||||||
|
LIB: false,
|
||||||
PDFJS_NEXT: false,
|
PDFJS_NEXT: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -998,6 +999,7 @@ gulp.task('lib', ['buildnumber'], function () {
|
|||||||
saveComments: false,
|
saveComments: false,
|
||||||
defines: builder.merge(DEFINES, {
|
defines: builder.merge(DEFINES, {
|
||||||
GENERIC: true,
|
GENERIC: true,
|
||||||
|
LIB: true,
|
||||||
BUNDLE_VERSION: versionInfo.version,
|
BUNDLE_VERSION: versionInfo.version,
|
||||||
BUNDLE_BUILD: versionInfo.commit
|
BUNDLE_BUILD: versionInfo.commit
|
||||||
})
|
})
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
"primitives_spec.js",
|
"primitives_spec.js",
|
||||||
"stream_spec.js",
|
"stream_spec.js",
|
||||||
"type1_parser_spec.js",
|
"type1_parser_spec.js",
|
||||||
|
"ui_utils_spec.js",
|
||||||
"unicode_spec.js",
|
"unicode_spec.js",
|
||||||
"util_spec.js"
|
"util_spec.js"
|
||||||
]
|
]
|
||||||
|
@ -31,6 +31,7 @@ var binarySearchFirstItem = webUiUtils.binarySearchFirstItem;
|
|||||||
var getPDFFileNameFromURL = webUiUtils.getPDFFileNameFromURL;
|
var getPDFFileNameFromURL = webUiUtils.getPDFFileNameFromURL;
|
||||||
var EventBus = webUiUtils.EventBus;
|
var EventBus = webUiUtils.EventBus;
|
||||||
var createObjectURL = sharedUtil.createObjectURL;
|
var createObjectURL = sharedUtil.createObjectURL;
|
||||||
|
var isNodeJS = sharedUtil.isNodeJS;
|
||||||
|
|
||||||
describe('ui_utils', function() {
|
describe('ui_utils', function() {
|
||||||
describe('binary search', function() {
|
describe('binary search', function() {
|
||||||
@ -160,6 +161,9 @@ describe('ui_utils', function() {
|
|||||||
|
|
||||||
it('gets PDF filename from query string appended to "blob:" URL',
|
it('gets PDF filename from query string appended to "blob:" URL',
|
||||||
function() {
|
function() {
|
||||||
|
if (isNodeJS()) {
|
||||||
|
pending('Blob in not supported in Node.js.');
|
||||||
|
}
|
||||||
var typedArray = new Uint8Array([1, 2, 3, 4, 5]);
|
var typedArray = new Uint8Array([1, 2, 3, 4, 5]);
|
||||||
var blobUrl = createObjectURL(typedArray, 'application/pdf');
|
var blobUrl = createObjectURL(typedArray, 'application/pdf');
|
||||||
// Sanity check to ensure that a "blob:" URL was returned.
|
// Sanity check to ensure that a "blob:" URL was returned.
|
||||||
|
@ -23,7 +23,11 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PRODUCTION')) {
|
|||||||
if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {
|
if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {
|
||||||
pdfjsLib = window['pdfjs-dist/build/pdf'];
|
pdfjsLib = window['pdfjs-dist/build/pdf'];
|
||||||
} else if (typeof require === 'function') {
|
} else if (typeof require === 'function') {
|
||||||
pdfjsLib = require('../build/pdf.js');
|
if (PDFJSDev.test('LIB')) {
|
||||||
|
pdfjsLib = require('../pdf.js');
|
||||||
|
} else {
|
||||||
|
pdfjsLib = require('../build/pdf.js');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new Error('Neither `require` nor `window` found');
|
throw new Error('Neither `require` nor `window` found');
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,8 @@ var RendererType = {
|
|||||||
SVG: 'svg',
|
SVG: 'svg',
|
||||||
};
|
};
|
||||||
|
|
||||||
var mozL10n = document.mozL10n || document.webL10n;
|
var mozL10n = typeof document !== 'undefined' ?
|
||||||
|
(document.mozL10n || document.webL10n) : undefined;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables fullscreen support, and by extension Presentation Mode,
|
* Disables fullscreen support, and by extension Presentation Mode,
|
||||||
@ -81,8 +82,9 @@ if (typeof PDFJSDev === 'undefined' ||
|
|||||||
* Interface locale settings.
|
* Interface locale settings.
|
||||||
* @var {string}
|
* @var {string}
|
||||||
*/
|
*/
|
||||||
PDFJS.locale = (PDFJS.locale === undefined ? navigator.language :
|
PDFJS.locale =
|
||||||
PDFJS.locale);
|
(PDFJS.locale === undefined && typeof navigator !== 'undefined' ?
|
||||||
|
navigator.language : PDFJS.locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user