tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

compression.js (787B)


      1 // |reftest| skip-if(!xulRuntime.shell)
      2 
      3 // Compressed buffers must have magic header and length
      4 assertThrows(() => decompressLZ4(new ArrayBuffer()));
      5 
      6 // Compress and decompress take an array buffer, not arrays
      7 assertThrows(() => compressLZ4([]));
      8 assertThrows(() => decompressLZ4([]));
      9 
     10 // Round trip several buffers
     11 let tests = [
     12 new Uint8Array([]),
     13 new Uint8Array([0]),
     14 new Uint8Array([0, 1, 2, 3]),
     15 new Uint8Array(1000),
     16 ];
     17 
     18 for (let test of tests) {
     19 let original = test.buffer;
     20 
     21 let compressed = compressLZ4(original);
     22 assertEq(compressed instanceof ArrayBuffer, true);
     23 
     24 let decompressed = decompressLZ4(compressed);
     25 assertEq(decompressed instanceof ArrayBuffer, true);
     26 
     27 assertEqArray(new Uint8Array(original), new Uint8Array(decompressed));
     28 }
     29 
     30 reportCompare(true,true);