Ensure that AnnotationBorderStyle.setWidth
is able to handle the input being a Name
, to correctly deal with corrupt PDF documents (issue 10385)
This commit is contained in:
parent
15b3806937
commit
76a9580aeb
@ -482,6 +482,11 @@ class AnnotationBorderStyle {
|
||||
* @param {integer} width - The width
|
||||
*/
|
||||
setWidth(width) {
|
||||
// Some corrupt PDF generators may provide the width as a `Name`,
|
||||
// rather than as a number (fixes issue 10385).
|
||||
if (isName(width)) {
|
||||
width = parseFloat(width.name);
|
||||
}
|
||||
if (Number.isInteger(width)) {
|
||||
this.width = width;
|
||||
}
|
||||
|
@ -236,6 +236,14 @@ describe('annotation', function() {
|
||||
expect(borderStyle.width).toEqual(1);
|
||||
});
|
||||
|
||||
it('should set/get a valid width, when the input is a `Name` (issue 10385)',
|
||||
function() {
|
||||
const borderStyle = new AnnotationBorderStyle();
|
||||
borderStyle.setWidth(Name.get('0'));
|
||||
|
||||
expect(borderStyle.width).toEqual(0);
|
||||
});
|
||||
|
||||
it('should set and get a valid style', function() {
|
||||
const borderStyle = new AnnotationBorderStyle();
|
||||
borderStyle.setStyle(Name.get('D'));
|
||||
|
Loading…
Reference in New Issue
Block a user