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') { | ||||||
|  |       if (PDFJSDev.test('LIB')) { | ||||||
|  |         pdfjsLib = require('../pdf.js'); | ||||||
|  |       } else { | ||||||
|         pdfjsLib = require('../build/pdf.js'); |         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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user