forked from mirrors/gecko-dev
		
	 4a06c925ac
			
		
	
	
		4a06c925ac
		
	
	
	
	
		
			
			# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36052 --HG-- extra : source : b5be5b4f4b47c256e28a29f665dc754f6407ee7f
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|    http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| const { Lz4 } = ChromeUtils.import("resource://gre/modules/lz4.js");
 | |
| const { OS } = ChromeUtils.import("resource://gre/modules/osfile.jsm");
 | |
| 
 | |
| function compare_arrays(a, b) {
 | |
|   return Array.prototype.join.call(a) == Array.prototype.join.call(b);
 | |
| }
 | |
| 
 | |
| add_task(async function() {
 | |
|   let path = OS.Path.join("data", "compression.lz");
 | |
|   let data = await OS.File.read(path);
 | |
|   let decompressed = Lz4.decompressFileContent(data);
 | |
|   let text = new TextDecoder().decode(decompressed);
 | |
|   Assert.equal(text, "Hello, lz4");
 | |
| });
 | |
| 
 | |
| add_task(async function() {
 | |
|   for (let length of [0, 1, 1024]) {
 | |
|     let array = new Uint8Array(length);
 | |
|     for (let i = 0; i < length; ++i) {
 | |
|       array[i] = i % 256;
 | |
|     }
 | |
| 
 | |
|     let compressed = Lz4.compressFileContent(array);
 | |
|     info(
 | |
|       "Compressed " + array.byteLength + " bytes into " + compressed.byteLength
 | |
|     );
 | |
| 
 | |
|     let decompressed = Lz4.decompressFileContent(compressed);
 | |
|     info(
 | |
|       "Decompressed " +
 | |
|         compressed.byteLength +
 | |
|         " bytes into " +
 | |
|         decompressed.byteLength
 | |
|     );
 | |
| 
 | |
|     Assert.ok(compare_arrays(array, decompressed));
 | |
|   }
 | |
| });
 |