@ -33,6 +33,7 @@
var PDFJS = displayGlobal . PDFJS ;
var PDFJS = displayGlobal . PDFJS ;
var createPromiseCapability = sharedUtil . createPromiseCapability ;
var createPromiseCapability = sharedUtil . createPromiseCapability ;
var DOMCanvasFactory = displayDOMUtils . DOMCanvasFactory ;
var RenderingCancelledException = displayDOMUtils . RenderingCancelledException ;
var RenderingCancelledException = displayDOMUtils . RenderingCancelledException ;
var PDFDocumentProxy = displayApi . PDFDocumentProxy ;
var PDFDocumentProxy = displayApi . PDFDocumentProxy ;
var InvalidPDFException = sharedUtil . InvalidPDFException ;
var InvalidPDFException = sharedUtil . InvalidPDFException ;
@ -46,6 +47,16 @@ var FontType = sharedUtil.FontType;
describe ( 'api' , function ( ) {
describe ( 'api' , function ( ) {
var basicApiUrl = new URL ( '../pdfs/basicapi.pdf' , window . location ) . href ;
var basicApiUrl = new URL ( '../pdfs/basicapi.pdf' , window . location ) . href ;
var basicApiFileLength = 105779 ; // bytes
var basicApiFileLength = 105779 ; // bytes
var CanvasFactory ;
beforeAll ( function ( done ) {
CanvasFactory = new DOMCanvasFactory ( ) ;
done ( ) ;
} ) ;
afterAll ( function ( ) {
CanvasFactory = null ;
} ) ;
function waitSome ( callback ) {
function waitSome ( callback ) {
var WAIT _TIMEOUT = 10 ;
var WAIT _TIMEOUT = 10 ;
@ -1006,11 +1017,11 @@ describe('api', function() {
} ) ;
} ) ;
it ( 'cancels rendering of page' , function ( done ) {
it ( 'cancels rendering of page' , function ( done ) {
var canvas = document . createElement ( 'canvas' ) ;
var viewport = page . getViewport ( 1 ) ;
var viewport = page . getViewport ( 1 ) ;
var canvasAndCtx = CanvasFactory . create ( viewport . width , viewport . height ) ;
var renderTask = page . render ( {
var renderTask = page . render ( {
canvasContext : canvas . getContext ( '2d' ) ,
canvasContext : canvasAndCtx . context ,
viewport : viewport ,
viewport : viewport ,
} ) ;
} ) ;
renderTask . cancel ( ) ;
renderTask . cancel ( ) ;
@ -1020,6 +1031,7 @@ describe('api', function() {
} ) . catch ( function ( error ) {
} ) . catch ( function ( error ) {
expect ( error instanceof RenderingCancelledException ) . toEqual ( true ) ;
expect ( error instanceof RenderingCancelledException ) . toEqual ( true ) ;
expect ( error . type ) . toEqual ( 'canvas' ) ;
expect ( error . type ) . toEqual ( 'canvas' ) ;
CanvasFactory . destroy ( canvasAndCtx ) ;
done ( ) ;
done ( ) ;
} ) ;
} ) ;
} ) ;
} ) ;
@ -1045,15 +1057,16 @@ describe('api', function() {
pdfDocuments . push ( pdf ) ;
pdfDocuments . push ( pdf ) ;
return pdf . getPage ( 1 ) ;
return pdf . getPage ( 1 ) ;
} ) . then ( function ( page ) {
} ) . then ( function ( page ) {
var c = document . createElement ( 'canvas' ) ;
var viewport = page . getViewport ( 1.2 ) ;
var v = page . getViewport ( 1.2 ) ;
var canvasAndCtx = CanvasFactory . create ( viewport . width ,
c . width = v . width ;
viewport . height ) ;
c . height = v . height ;
return page . render ( {
return page . render ( {
canvasContext : c . getContext ( '2d' ) ,
canvasContext : canvasAndCtx . context ,
viewport : v ,
viewport : viewport ,
} ) . then ( function ( ) {
} ) . then ( function ( ) {
return c . toDataURL ( ) ;
var data = canvasAndCtx . canvas . toDataURL ( ) ;
CanvasFactory . destroy ( canvasAndCtx ) ;
return data ;
} ) ;
} ) ;
} ) ;
} ) ;
}
}