From 234c1d2b2a9dcbc26fa93287c38cceb14e560f25 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Fri, 22 Mar 2019 12:24:48 +0100 Subject: [PATCH] Remove the Firefox-specific 'read with streaming' unit-test Support for the non-standard `moz-chunked-arraybuffer` response type is in the process of being removed from Firefox; see e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=1411865 For the time being, you probably want to keep support for this in the general PDF.js library given that feature detection is used. However, removing the unit-test immediately seems reasonable, since it will otherwise start failing once the platform support for `moz-chunked-arraybuffer` is gone. Fixes 8851; please note that if unit-tests for the code in `fetch_stream.js` are wanted, which I'm assuming they are, those should live in their own file rather than being lumped into `network_spec.js` anyway. --- test/unit/network_spec.js | 54 --------------------------------------- 1 file changed, 54 deletions(-) diff --git a/test/unit/network_spec.js b/test/unit/network_spec.js index d3fa37951d74b..10353a174f2af 100644 --- a/test/unit/network_spec.js +++ b/test/unit/network_spec.js @@ -18,8 +18,6 @@ import { PDFNetworkStream } from '../../src/display/network'; describe('network', function() { var pdf1 = new URL('../pdfs/tracemonkey.pdf', window.location).href; var pdf1Length = 1016315; - var pdf2 = new URL('../pdfs/pdf.pdf', window.location).href; - var pdf2Length = 32472771; it('read without stream and range', function(done) { var stream = new PDFNetworkStream({ @@ -62,58 +60,6 @@ describe('network', function() { }); }); - it('read with streaming', function(done) { - var userAgent = window.navigator.userAgent; - // The test is valid for FF only: the XHR has support of the - // 'moz-chunked-array' response type. - // TODO enable for other browsers, e.g. when fetch/streams API is supported. - var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(userAgent); - if (!m || m[1] < 9) { - expect(true).toEqual(true); - done(); - return; - } - - var stream = new PDFNetworkStream({ - url: pdf2, - rangeChunkSize: 65536, - disableStream: false, - disableRange: false, - }); - - var fullReader = stream.getFullReader(); - - var isStreamingSupported, isRangeSupported; - var promise = fullReader.headersReady.then(function () { - isStreamingSupported = fullReader.isStreamingSupported; - isRangeSupported = fullReader.isRangeSupported; - }); - - var len = 0, count = 0; - var read = function () { - return fullReader.read().then(function (result) { - if (result.done) { - return; - } - count++; - len += result.value.byteLength; - return read(); - }); - }; - - var readPromise = Promise.all([read(), promise]); - - readPromise.then(function () { - expect(len).toEqual(pdf2Length); - expect(count).toBeGreaterThan(1); - expect(isStreamingSupported).toEqual(true); - expect(isRangeSupported).toEqual(true); - done(); - }).catch(function (reason) { - done.fail(reason); - }); - }); - it('read custom ranges', function (done) { // We don't test on browsers that don't support range request, so // requiring this test to pass.