Don't get me wrong, it's great that @calixteman wanted to implement that — JS should definitely be supported! I don't want to come off as rude or attacking.

For starters, JS reference specified in the [commit comment](https://github.com/mozilla/pdf.js/commit/8de98079ca05f8f7001ee077771055a57dc0e948) is outdated. It's version 8.1 from 2007… We're more than decade past that now. We should be implementing [Acrobat DC SDK](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/AcrobatDC_js_api_reference.pdf) ([here](https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/#t=Acro12_MasterBook%2FJS_API_AcroJS%2FJavaScript_API.htm) in a nice HTML version).

Other than that, the Doc object now is only implemented with `info` property with standard fields (`Title`, `Author`, `Subject`, `Keywords`, `Creator`, `Producer`, `CreationDate`, `ModDate` and `Trapped`, case insensitive). But [according to the spec](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/AcrobatDC_js_api_reference.pdf#page=243) (even [in that old version](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf#page=243)), this object can contain other, non-standard properties, that can be set both in Acrobat interface and in JS (which are case-sensitive then).

Acrobat 9.0 introduced another field to that property, `Authors`, containing semicolon-delimited list of authors.

There are probably other problems with that code due to the outdated spec @calixteman was apparently working on.
"</x:xmpmeta>" +
      '<?xpacket end="w"?>';
    const metadata = new Metadata(data);
    expect(isEmptyObj(metadata.getAll())).toEqual(true);
  });
  it('should gracefully handle "junk" before the actual metadata (issue 10395)', function () {
    const data =
      'ï»¿<?xpacket begin="ï»¿" id="W5M0MpCehiHzreSzNTczkc9d"?>' +
      '<x:xmpmeta x:xmptk="TallComponents PDFObjects 1.0" ' +
      'xmlns:x="adobe:ns:meta/">' +
      '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">' +
      '<rdf:Description rdf:about="" ' +
      'xmlns:pdf="http://ns.adobe.com/pdf/1.3/">' +
      "<pdf:Producer>PDFKit.NET 4.0.102.0</pdf:Producer>" +
      "<pdf:Keywords></pdf:Keywords>" +
      "<pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description>" +
      '<rdf:Description rdf:about="" ' +
      'xmlns:xap="http://ns.adobe.com/xap/1.0/">' +
      "<xap:CreateDate>2018-12-27T13:50:36-08:00</xap:CreateDate>" +
      "<xap:ModifyDate>2018-12-27T13:50:38-08:00</xap:ModifyDate>" +
      "<xap:CreatorTool></xap:CreatorTool>" +
      "<xap:MetadataDate>2018-12-27T13:50:38-08:00</xap:MetadataDate>" +
      '</rdf:Description><rdf:Description rdf:about="" ' +
      'xmlns:dc="http://purl.org/dc/elements/1.1/">' +
      "<dc:creator><rdf:Seq><rdf:li></rdf:li></rdf:Seq></dc:creator>" +
      "<dc:subject><rdf:Bag /></dc:subject>" +
      '<dc:description><rdf:Alt><rdf:li xml:lang="x-default">' +
      "</rdf:li></rdf:Alt></dc:description>" +
      '<dc:title><rdf:Alt><rdf:li xml:lang="x-default"></rdf:li>' +
      "</rdf:Alt></dc:title><dc:format>application/pdf</dc:format>" +