1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-21 07:38:07 +02:00

Improve correctness of Content-Disposition parser

Re-uses logic from 9f5fcae11c/extension/content-disposition.js
which is already covered by tests: 6f3bbb8bbf
This commit is contained in:
Rob Wu 2018-01-19 17:39:31 +01:00
parent 0ffe9b9289
commit a4e907169e
4 changed files with 268 additions and 6 deletions

View file

@ -173,6 +173,53 @@ describe('network_utils', function() {
return 'attachment; filename="filename.pdf"';
}
})).toEqual('filename.pdf');
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename=filename.pdf';
}
})).toEqual('filename.pdf');
});
it('gets the filename from the response header (RFC 6266)', function() {
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename*=filename.pdf';
}
})).toEqual('filename.pdf');
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename*=\'\'filename.pdf';
}
})).toEqual('filename.pdf');
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename*=utf-8\'\'filename.pdf';
}
})).toEqual('filename.pdf');
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename=no.pdf; filename*=utf-8\'\'filename.pdf';
}
})).toEqual('filename.pdf');
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename*=utf-8\'\'filename.pdf; filename=no.pdf';
}
})).toEqual('filename.pdf');
});
it('gets the filename from the response header (RFC 2231)', function() {
// Tests continuations (RFC 2231 section 3, via RFC 5987 section 3.1).
expect(extractFilenameFromHeader((headerName) => {
if (headerName === 'Content-Disposition') {
return 'attachment; filename*0=filename; filename*1=.pdf';
}
})).toEqual('filename.pdf');
});
it('only extracts filename with pdf extension', function () {