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 from9f5fcae11c/extension/content-disposition.js
which is already covered by tests:6f3bbb8bbf
This commit is contained in:
parent
0ffe9b9289
commit
a4e907169e
4 changed files with 268 additions and 6 deletions
|
@ -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 () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue