import test from 'node:test'; import assert from 'node:assert/strict'; import {createRequire} from 'node:module'; const require=createRequire(import.meta.url); const {extractEncodedDocuments}=require('../packages/core/encoded-documents.cjs'); const pdf=Buffer.from('%PDF-1.4\nsynthetic bounded document'); test('JSON nested values and keys yield private original PDF bytes including base64url',()=>{ for(const value of [{nested:[{file:pdf.toString('base64')}]},{[pdf.toString('base64url')]:true}]){ const result=extractEncodedDocuments(Buffer.from(JSON.stringify(value)));assert.equal(result.complete,true);assert.equal(result.parts.length,1);assert.deepEqual(result.parts[0].bytes,pdf); result.dispose();assert.ok(result.parts[0].bytes.every(byte=>byte===0));assert.notEqual(pdf[0],0); } }); test('data URLs preserve declared MIME, percent decoding and exact decoded content',()=>{ const result=extractEncodedDocuments(Buffer.from('data:application/pdf;base64,'+encodeURIComponent(pdf.toString('base64')))); assert.equal(result.complete,true);assert.equal(result.parts[0].mime,'application/pdf');assert.deepEqual(result.parts[0].bytes,pdf);result.dispose(); }); test('invalid carriers and decoding budgets cannot become complete coverage',()=>{ for(const value of ['data:application/pdf;base64,%%%','data:application/pdf;base64,abcde','{"file":'])assert.equal(extractEncodedDocuments(Buffer.from(value),{jsonRequired:true}).complete,false); assert.equal(extractEncodedDocuments(Buffer.from(pdf.toString('base64')),{maxDecodedBytes:1}).complete,false); const result=extractEncodedDocuments(Buffer.from(JSON.stringify([pdf.toString('base64'),Buffer.from('%PDF-1.4\nother').toString('base64')])) ,{maxParts:1});assert.equal(result.complete,false);result.dispose(); }); test('ordinary text is unchanged and duplicate encoded documents use one private part',()=>{ assert.equal(extractEncodedDocuments(Buffer.from('ordinary public text')).parts.length,0); const result=extractEncodedDocuments(Buffer.from(JSON.stringify([pdf.toString('base64'),pdf.toString('base64')])));assert.equal(result.complete,true);assert.equal(result.parts.length,1);result.dispose(); }); test('embedded and URL-encoded data URLs receive typed binary coverage without rejecting plain source code',()=>{ const data='data:application/pdf;base64,'+pdf.toString('base64'); for(const value of ['file='+encodeURIComponent(data),'','document='+pdf.toString('base64')]){ const result=extractEncodedDocuments(Buffer.from(value));assert.equal(result.complete,true);assert.ok(result.parts.some(part=>part.bytes.equals(pdf)));result.dispose(); } assert.equal(extractEncodedDocuments(Buffer.from('{ let publicValue = 1; }')).complete,true); }); test('duplicate encoding does not consume part capacity; different declared MIME is independently checked',()=>{ const value=pdf.toString('base64'),duplicate=extractEncodedDocuments(Buffer.from(JSON.stringify([value,value])),{maxParts:1});assert.equal(duplicate.complete,true);duplicate.dispose(); const distinct=extractEncodedDocuments(Buffer.from(JSON.stringify(['data:application/pdf;base64,'+value,'data:image/jpeg;base64,'+value])));assert.equal(distinct.parts.length,2);distinct.dispose(); const one=extractEncodedDocuments(Buffer.from('data:application/pdf;base64,'+value),{maxParts:1});assert.equal(one.complete,true);assert.equal(one.parts.length,1);one.dispose(); }); test('large collections and deep JSON exceed bounded traversal without decoded release',()=>{ const array=extractEncodedDocuments(Buffer.from(JSON.stringify(Array.from({length:100},()=>0))),{maxNodes:10});assert.equal(array.complete,false);assert.equal(array.parts.length,0); let value=pdf.toString('base64');for(let index=0;index<10;index++)value={next:value};const deep=extractEncodedDocuments(Buffer.from(JSON.stringify(value)),{maxDepth:4});assert.equal(deep.complete,false);deep.dispose(); }); test('review regressions cover JSON percent carriers, textual envelopes and strict scalar JSON',()=>{ const uri='data:application/pdf;base64,'+pdf.toString('base64'); for(const body of [{file:encodeURIComponent(uri)},{[encodeURIComponent(uri)]:true}]){ const result=extractEncodedDocuments(Buffer.from(JSON.stringify(body)),{jsonRequired:true});assert.equal(result.complete,true);assert.ok(result.parts.some(part=>part.bytes.equals(pdf)));result.dispose(); } const inner=JSON.stringify({file:pdf.toString('base64')}),outer=extractEncodedDocuments(Buffer.from(JSON.stringify({file:Buffer.from(inner).toString('base64')}))); assert.equal(outer.complete,true);assert.ok(outer.parts.some(part=>part.bytes.toString()===inner));assert.ok(outer.decodedBytes>=inner.length); const nested=extractEncodedDocuments(outer.parts.find(part=>part.bytes.toString()===inner).bytes,{maxDecodedBytes:16777216-outer.decodedBytes});assert.ok(nested.parts.some(part=>part.bytes.equals(pdf)));nested.dispose();outer.dispose(); assert.equal(extractEncodedDocuments(Buffer.from('not JSON'),{jsonRequired:true}).complete,false); const scalar=extractEncodedDocuments(Buffer.from(JSON.stringify(pdf.toString('base64'))),{jsonRequired:true});assert.equal(scalar.complete,true);assert.deepEqual(scalar.parts[0].bytes,pdf);scalar.dispose(); });