mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-20 15:18:08 +02:00
Convert RenderTask
, in src/display/api.js
, to an ES6 class
Also deprecates the `then` method, in favour of the `promise` getter.
This commit is contained in:
parent
ef8e5fd77c
commit
2c003a82d5
4 changed files with 63 additions and 79 deletions
|
@ -1332,26 +1332,23 @@ describe('api', function() {
|
|||
|
||||
// Render the first page of the given PDF file.
|
||||
// Fulfills the promise with the base64-encoded version of the PDF.
|
||||
function renderPDF(filename) {
|
||||
var loadingTask = getDocument(filename);
|
||||
async function renderPDF(filename) {
|
||||
const loadingTask = getDocument(filename);
|
||||
loadingTasks.push(loadingTask);
|
||||
return loadingTask.promise
|
||||
.then(function(pdf) {
|
||||
pdfDocuments.push(pdf);
|
||||
return pdf.getPage(1);
|
||||
}).then(function(page) {
|
||||
var viewport = page.getViewport(1.2);
|
||||
var canvasAndCtx = CanvasFactory.create(viewport.width,
|
||||
viewport.height);
|
||||
return page.render({
|
||||
canvasContext: canvasAndCtx.context,
|
||||
viewport,
|
||||
}).then(function() {
|
||||
var data = canvasAndCtx.canvas.toDataURL();
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
return data;
|
||||
});
|
||||
});
|
||||
const pdf = await loadingTask.promise;
|
||||
pdfDocuments.push(pdf);
|
||||
const page = await pdf.getPage(1);
|
||||
const viewport = page.getViewport(1.2);
|
||||
const canvasAndCtx = CanvasFactory.create(viewport.width,
|
||||
viewport.height);
|
||||
const renderTask = page.render({
|
||||
canvasContext: canvasAndCtx.context,
|
||||
viewport,
|
||||
});
|
||||
await renderTask.promise;
|
||||
const data = canvasAndCtx.canvas.toDataURL();
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
return data;
|
||||
}
|
||||
|
||||
afterEach(function(done) {
|
||||
|
|
|
@ -48,9 +48,7 @@ describe('custom canvas rendering', function() {
|
|||
}).then(function(data) {
|
||||
page = data;
|
||||
done();
|
||||
}).catch(function (reason) {
|
||||
done.fail(reason);
|
||||
});
|
||||
}).catch(done.fail);
|
||||
});
|
||||
|
||||
afterAll(function(done) {
|
||||
|
@ -66,20 +64,16 @@ describe('custom canvas rendering', function() {
|
|||
var viewport = page.getViewport(1);
|
||||
var canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
|
||||
|
||||
page.render({
|
||||
const renderTask = page.render({
|
||||
canvasContext: canvasAndCtx.context,
|
||||
viewport,
|
||||
}).then(function() {
|
||||
var { r, g, b, a, } = getTopLeftPixel(canvasAndCtx.context);
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
expect(r).toEqual(255);
|
||||
expect(g).toEqual(255);
|
||||
expect(b).toEqual(255);
|
||||
expect(a).toEqual(255);
|
||||
done();
|
||||
}).catch(function (reason) {
|
||||
done(reason);
|
||||
});
|
||||
renderTask.promise.then(function() {
|
||||
expect(getTopLeftPixel(canvasAndCtx.context)).toEqual(
|
||||
{ r: 255, g: 255, b: 255, a: 255, });
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
done();
|
||||
}).catch(done.fail);
|
||||
});
|
||||
|
||||
it('renders to canvas with a custom background', function(done) {
|
||||
|
@ -89,20 +83,16 @@ describe('custom canvas rendering', function() {
|
|||
var viewport = page.getViewport(1);
|
||||
var canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
|
||||
|
||||
page.render({
|
||||
const renderTask = page.render({
|
||||
canvasContext: canvasAndCtx.context,
|
||||
viewport,
|
||||
background: 'rgba(255,0,0,1.0)',
|
||||
}).then(function() {
|
||||
var { r, g, b, a, } = getTopLeftPixel(canvasAndCtx.context);
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
expect(r).toEqual(255);
|
||||
expect(g).toEqual(0);
|
||||
expect(b).toEqual(0);
|
||||
expect(a).toEqual(255);
|
||||
done();
|
||||
}).catch(function (reason) {
|
||||
done(reason);
|
||||
});
|
||||
renderTask.promise.then(function() {
|
||||
expect(getTopLeftPixel(canvasAndCtx.context)).toEqual(
|
||||
{ r: 255, g: 0, b: 0, a: 255, });
|
||||
CanvasFactory.destroy(canvasAndCtx);
|
||||
done();
|
||||
}).catch(done.fail);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue