diff --git a/README.md b/README.md
index 1b98922..d8945b9 100644
--- a/README.md
+++ b/README.md
@@ -134,6 +134,8 @@ const crc = bstream.readBits(12); // read in 12 bits as CRC, advancing the point
const flagbits = bstream.peekBits(6); // look ahead at next 6 bits, but do not advance the pointer
```
+
+
## Reference
* [UnRar](http://codedread.github.io/bitjs/docs/unrar.html): A work-in-progress description of the
diff --git a/tests/archive-test.html b/tests/archive-test.html
deleted file mode 100644
index 4320e01..0000000
--- a/tests/archive-test.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- Unit tests for bitjs.archive
-
-
-
-
diff --git a/tests/archive-test.js b/tests/archive-test.js
deleted file mode 100644
index e977891..0000000
--- a/tests/archive-test.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * archive-test.js
- *
- * Licensed under the MIT License
- *
- * Copyright(c) 2017 Google Inc.
- */
-
-import { getUnarchiver, UnarchiveEventType } from '../archive/archive.js';
-import { assertEquals, runTests } from './muther.js';
-
-const testInputs = {
- 'testUnzipDeflate': 'archive-testfiles/test-unzip-deflate.json',
- 'testUnzipDescriptor': 'archive-testfiles/test-unzip-descriptor.json',
- 'testUnzipStore': 'archive-testfiles/test-unzip-store.json',
- 'testUnrarM1': 'archive-testfiles/test-unrar-m1.json',
- 'testUnrarM2': 'archive-testfiles/test-unrar-m2.json',
- 'testUnrarM3': 'archive-testfiles/test-unrar-m3.json',
- 'testUnrarM4': 'archive-testfiles/test-unrar-m4.json',
- 'testUnrarM5': 'archive-testfiles/test-unrar-m5.json',
- 'testUnrarMA4': 'archive-testfiles/test-unrar-ma4.json',
- // On a Mac, tar files contain hidden files. To disable this do:
- // $ COPYFILE_DISABLE=1 tar cvf lorem.tar lorem.txt
- 'testUntar': 'archive-testfiles/test-untar-1.json',
-};
-
-// TODO: It is an error for the Unarchiver worker not to terminate or send a FINISH event.
-// We need to be able to test that here.
-
-const testSuite = { tests: {} };
-for (let testName in testInputs) {
- const testInputFilename = testInputs[testName];
- testSuite.tests[testName] = function () {
- return new Promise((resolve, reject) => {
- const scriptEl = document.createElement('script');
- scriptEl.setAttribute('src', testInputFilename);
- scriptEl.addEventListener('load', evt => {
- const testFile = window.archiveTestFile;
- try {
- const archivedFile = new Uint8Array(
- atob(testFile.archivedFile).split(',').map(str => parseInt(str)));
- const unarchivedFile = new Uint8Array(
- atob(testFile.unarchivedFile).split(',').map(str => parseInt(str)));
- const unarchiver = getUnarchiver(archivedFile.buffer, {
- pathToBitJS: '../',
- });
- unarchiver.addEventListener(UnarchiveEventType.EXTRACT, evt => {
- const theUnarchivedFile = evt.unarchivedFile.fileData;
- try {
- assertEquals(theUnarchivedFile.length, unarchivedFile.length,
- 'The unarchived buffer was not the right length');
- for (let i = 0; i < theUnarchivedFile.length; ++i) {
- assertEquals(theUnarchivedFile[i], unarchivedFile[i],
- 'Byte #' + i + ' did not match');
- }
- resolve();
- } catch (err) {
- reject(err);
- }
- });
- unarchiver.start();
- } catch (err) {
- reject(err);
- }
- });
- document.body.appendChild(scriptEl);
- });
- }
-}
-
-runTests(testSuite);
diff --git a/tests/archive-testfiles/README.md b/tests/archive-testfiles/README.md
deleted file mode 100644
index 38d1396..0000000
--- a/tests/archive-testfiles/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Test files for unarchivers.
-
- 1. Create a zip or rar file with just one file inside it.
- 2. Use test-uploader.html and choose the archived file and the unarchived file.
- 3. Paste that JSON output into a test json file.
diff --git a/tests/archive-testfiles/test-unrar-m1.json b/tests/archive-testfiles/test-unrar-m1.json
deleted file mode 100644
index 407e9b2..0000000
--- a/tests/archive-testfiles/test-unrar-m1.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwxNjEsMTM5LDExNiwzMiwxMjgsNDEsMCwxNiwxLDAsMCwxODksMSwwLDAsMywxODksMTk3LDE3OCwxNTIsNzEsOTYsODMsNzQsMjksNDksOSwwLDE2NCwxMjksMCwwLDEwOCwxMTEsMTE0LDEwMSwxMDksNDYsMTE2LDEyMCwxMTYsMTYsMjAsMjAwLDIxMywxNSwyMTMsNjUsNzgsMTQ5LDg0LDYsMjMxLDEwNCwxNjksNjIsMjMxLDIzNiwxNjAsOCwyMTcsMTg5LDEzOSw0OSwyNDgsMjM1LDk3LDE4NSwxODMsMjI4LDE2MCwxOTksNTksMzcsMzQsMTk4LDIsMTgsMjI5LDY0LDE1NSw2MCwxNDQsMjQsMTY5LDYzLDEzOSwyMjksMTA2LDE0LDUyLDI0NSwxOSwxODksNDcsMTQ1LDE2MiwxOTMsNDIsMTczLDIxNiw3NCwyNDYsMjEwLDIwMSwxNDksMTU5LDMzLDM4LDExMiwxMTcsMzUsMTEwLDY2LDIwOCwxOTcsMjA1LDQ0LDIyNyw2NCw4MiwyNTAsMTczLDIzMCwyNSwxMDcsMTM2LDIyMiw1NCwxNDUsMTUzLDE1NSwyMTcsMTMxLDE3NiwxNjIsMTI1LDY2LDE2MCwxNzMsMjEwLDIyNiwxMzgsMTY3LDU0LDY0LDE0OCw2MiwyOSw1NiwzMSw0NCwyMiwxOTgsMTc2LDE4Niw0MiwxMTksMjI3LDIwNCw4NCwxNDksMjM2LDYwLDU3LDIwOCwxODEsMjQ0LDIxNywxMjEsMTMzLDI0NCwxODUsMTQ1LDEwMCw5OSwxMjMsNywxNjUsMTgsMTc4LDE5MSw3NCwxMTksMTQyLDExNiwxMTksMTk1LDI1MCwxOTEsNTYsMTQwLDIyNCwxNjksMTUsMTg2LDE5NSw5MCwyNTMsNjQsNzEsNDksMTg0LDMwLDIxOSw5NSwxNjMsMTc4LDEzMSwxNTEsMTM0LDMwLDE2NSwxNjYsMTk1LDQzLDE0MCwxNzUsMjE4LDIxOCwxMDcsMTUyLDE1NywxOTksMTk5LDE1NSwyMDksMjQxLDI4LDc1LDEyLDgxLDM0LDIzLDkwLDgxLDM1LDc0LDEyNywxMzksMjA5LDE2LDIyNywxODcsMjQyLDgxLDEzMywxODIsMjA4LDQ4LDE1MywxMzgsMzEsNjAsMTUsMTI3LDgyLDkyLDUwLDE5MiwxOTgsMTQwLDEsMTc1LDQxLDM0LDIwMiw1MCwxNjQsMjQ4LDUxLDcyLDg4LDEzNiwyMDUsMTM0LDUxLDExNSw1MywxODIsMjAxLDI3LDE3LDE0MiwxODgsMTU4LDE1Miw3NywyMDYsMTMzLDI1MSwyNDcsNTAsNDAsMzgsMTg2LDkyLDIzOCwyMzcsMTExLDc3LDE3OCw4Myw5OCw2LDAsMTgxLDI1Miw5MCwxMjIsMjQxLDI0OCwxMjgsMTk2LDYxLDEyMywwLDY0LDcsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unrar-m2.json b/tests/archive-testfiles/test-unrar-m2.json
deleted file mode 100644
index de1390e..0000000
--- a/tests/archive-testfiles/test-unrar-m2.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwyLDI0MywxMTYsMzIsMTI4LDQxLDAsMzgsMSwwLDAsMTg5LDEsMCwwLDMsMTg5LDE5NywxNzgsMTUyLDcxLDk2LDgzLDc0LDI5LDUwLDksMCwxNjQsMTI5LDAsMCwxMDgsMTExLDExNCwxMDEsMTA5LDQ2LDExNiwxMjAsMTE2LDEzLDY1LDEyLDE0NSwxNSwyMTMsNjUsMTksMTM4LDE1NiwyLDQ0LDIyNSw4MiwxMDcsMTU1LDEwMywwLDMyLDIzLDExMywxNjUsOTYsOTIsNjIsNDksMTAzLDEyNCwxNTQsNTAsNDMsMTkyLDQwLDE0MSwyMDMsMTQ3LDEzNiwxNDAsMTA5LDIxNSwyMDMsMjI3LDI0NCwyNTQsODMsMTE2LDIxOSw4NCwxNTEsMTg5LDE5NSwyNTMsOTksMzksNjEsNjksMTg4LDIzNSwyMjUsMTA4LDExOCwxODEsODQsMjAyLDEzOCw5MSwyMjEsNzksMzcsNTAsNDgsMTU1LDE1Myw3NSw0MiwyMjEsODYsMjIwLDEyLDE2NiwxOTQsMTM0LDE3MCwxMTgsMTk2LDExOSw0Nyw0NSw2MSwyMiwxMzMsODksMTkwLDU0LDg4LDQzLDI0Nyw2MSwyNTEsMjU0LDUsMTMyLDE4MiwxNzYsMSwyMTUsMTM5LDEwMSwyNTEsMTUyLDE3MiwxNCwxNTYsMTQyLDIxNiwxODksMTIyLDE5Myw5NiwxNzYsNywyMDUsODcsMjA5LDk0LDIxNSwxMTksNjQsMTU4LDk5LDIxNSwxMzAsNzksMjksNzgsMTYxLDIwOCwxMTAsMjUwLDQyLDg0LDM1LDU4LDc0LDE4MywxNjcsMTE4LDExNiwxMzAsMTQ4LDkzLDExLDM5LDExOSwxMDgsMTksMTI2LDg3LDIyOCw3NCwxMDAsMjQxLDE0NiwxNywyNTMsMjMsMjA0LDM5LDE1OSwyNDYsMTYsOTYsMTUsNTIsMTk2LDEyMSw5Niw1MCwyMTgsMTAsMjUyLDIwOCw5MywxMjAsNzgsNjcsMzIsMTYxLDE2MCwyNDIsMjM4LDI2LDE3MCwyMDcsMTI2LDQ3LDEyOSwxOTUsNjgsMTY2LDI1Miw2MywxNDIsMTgzLDE1NCwyMzgsMTAwLDE1NiwxMDQsNzAsMjI2LDE1LDE1MiwxMiwxOCw2NywxNDMsMjQ4LDE1MiwyMTgsNDIsMTczLDQzLDE3NCwxMDYsMTkwLDY1LDE4LDIxLDE4NiwyMjgsMTE2LDUsMTMyLDIyMiwxNTcsMTUyLDE1LDE5OCwxNDIsNDksMTQ5LDIwNiw4LDEzOSwyNCwxODMsMTEzLDg4LDQ4LDM2LDc3LDI0MSwxNjYsMTc3LDE3OCwxMzQsNDksMTgxLDI1LDM2LDE0OCwxNDUsMTksNTcsMTkxLDIzNiw0LDcxLDIyMiwzNywxNjYsMTMyLDQ1LDE3OSwxOTEsMTQxLDE2NCwxNTEsMTI3LDksMTcsMzksMjMsNzIsMTM0LDQyLDEwNCw5NSwyMTAsMjIzLDExOSw3OSwxNjQsMTk2LDYxLDEyMywwLDY0LDcsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unrar-m3.json b/tests/archive-testfiles/test-unrar-m3.json
deleted file mode 100644
index e151403..0000000
--- a/tests/archive-testfiles/test-unrar-m3.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwxNDcsOTgsMTE2LDMyLDEyOCw0MSwwLDM4LDEsMCwwLDE4OSwxLDAsMCwzLDE4OSwxOTcsMTc4LDE1Miw3MSw5Niw4Myw3NCwyOSw1MSw5LDAsMTY0LDEyOSwwLDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiwxMywxMjksMTIsMTQ1LDE1LDIxMywxMjksNzgsMTQ5LDQwLDgsMTg2LDEzOCwxNDcsMjA2LDEyMiwyMDIsMCwxMjgsMTEwLDE5OCwxNTAsMTI5LDE3OSw2NCwyMjksMjE1LDIyOCwyNDAsMjE2LDE4MywxMjgsMTk0LDU1LDU1LDE4NiwxNDUsMjQsMjE5LDIwNywyMDMsMTY3LDI0MSwyNTQsODMsMTIwLDIxOSw4OCwxNTEsMjIzLDgxLDI1NCwyNDEsMjE3LDIwNyw4MSwxMDcsNDIsMTE5LDkxLDI5LDQzLDg1LDM0LDE1NCwxNTAsMjQ3LDc5LDIwOSw3NiwxNDAsMzYsMjMwLDc4LDE3MCwxNTAsODUsMTgyLDIyNyw0MSw0OCwxNjEsMTU0LDE1NywxNjEsMjksMjAzLDc1LDc5LDY5LDk3LDgyLDc5LDE0MSw4NSwyMDIsMjUzLDc5LDEyNiwyMjMsMTEzLDkzLDQ1LDE2NCwwLDExNiwyMjYsMjA5LDEyNywzOCw0MiwyMjcsMTU5LDM1LDE4MSw0Nyw5NCwxMTIsODgsNDQsMSwyNDcsNjksMjQ0LDg3LDE5NiwyNDcsNjQsMTU4LDk5LDIxNCwxMzAsNzksMjksNzgsMTYxLDIwOCwxMTAsMjE4LDQyLDg0LDM1LDQxLDIzNyw3NSw4MywxODcsNTksOTYsMTY0LDIxNSw1MCwxOTMsMjE5LDE4MCw5LDE5MSwxMSwyNDIsMzcsNTAsMTIwLDIwMSw4LDI1NSwxMzksMjI2LDE5LDIwNywyNTMsOCw0Niw3LDE1NCw5OCw2MCwxNzYsMjUsMTA4LDE5NywxMjYsMTY4LDQ2LDE4NywxNjcsMSwxNDQsODAsMjA4LDEyMSwxMTksMTMsODUsODcsMTc1LDIzLDIwOCwyMjUsMTYyLDgzLDEyNiwzMSwxOTksOTEsNzcsNTMsNTAsNzgsNTIsMzUsMTEzLDcsMjAwLDYsOSwzMywxOTksMTUyLDE1MiwyMTgsNDAsMTcyLDE2OSwxNTgsNDIsMTgyLDY1LDE4LDIxLDE3MCwyNDYsNTgsMiwxOTQsMTExLDExMCwyMDQsNywyMjMsNzEsMjQsMTk0LDIzMSw0LDY5LDE0MCw5MSwxODQsMTcwLDI0LDE4LDM4LDI0NywyMTEsODgsMjE3LDY3LDI0LDIxNCwxNDAsMTQ2LDc0LDcyLDEzNywxNTYsMjE5LDI0NCwyLDM1LDIzOCwyNDIsMjAzLDM0LDIyLDIxMywyMTksMTk4LDIxOSwzNywyMjMsMjI2LDY4LDczLDE5NywyMTAsMzMsMTIyLDE1NCwyMywxMzcsMTExLDExOSw3OSwxOTYsMTk2LDYxLDEyMywwLDY0LDcsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unrar-m4.json b/tests/archive-testfiles/test-unrar-m4.json
deleted file mode 100644
index 3264862..0000000
--- a/tests/archive-testfiles/test-unrar-m4.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwyMzAsMTU0LDExNiwzMiwxMjgsNDEsMCwzOCwxLDAsMCwxODksMSwwLDAsMywxODksMTk3LDE3OCwxNTIsNzEsOTYsODMsNzQsMjksNTIsOSwwLDE2NCwxMjksMCwwLDEwOCwxMTEsMTE0LDEwMSwxMDksNDYsMTE2LDEyMCwxMTYsMTMsMTI5LDEyLDE0NSwxNSwyMTMsMTI5LDc4LDE0OSw0MCw4LDE4NiwxMzgsMTQ3LDIwNiwxMjIsMjAyLDAsMTI4LDExMCwxOTgsMTUwLDEyOSwxNzksNjQsMjI5LDIxNSwyMjgsMjQwLDIxNiwxODMsMTI4LDE5NCw1NSw1NSwxODYsMTQ1LDI0LDIxOSwyMDcsMjAzLDE2NywyNDEsMjU0LDgzLDEyMCwyMTksODgsMTUxLDIyMyw4MSwyNTQsMjQxLDIxNywyMDcsODEsMTA3LDQyLDExOSw5MSwyOSw0Myw4NSwzNCwxNTQsMTUwLDI0Nyw3OSwyMDksNzYsMTQwLDM2LDIzMCw3OCwxNzAsMTUwLDg1LDE4MiwyMjcsNDEsNDgsMTYxLDE1NCwxNTcsMTYxLDI5LDIwMyw3NSw3OSw2OSw5Nyw4Miw3OSwxNDEsODUsMjAyLDI1Myw3OSwxMjYsMjIzLDExMyw5Myw0NSwxNjQsMCwxMTYsMjI2LDIwOSwxMjcsMzgsNDIsMjI3LDE1OSwzNSwxODEsNDcsOTQsMTEyLDg4LDQ0LDEsMjQ3LDY5LDI0NCw4NywxOTYsMjQ3LDY0LDE1OCw5OSwyMTQsMTMwLDc5LDI5LDc4LDE2MSwyMDgsMTEwLDIxOCw0Miw4NCwzNSw0MSwyMzcsNzUsODMsMTg3LDU5LDk2LDE2NCwyMTUsNTAsMTkzLDIxOSwxODAsOSwxOTEsMTEsMjQyLDM3LDUwLDEyMCwyMDEsOCwyNTUsMTM5LDIyNiwxOSwyMDcsMjUzLDgsNDYsNywxNTQsOTgsNjAsMTc2LDI1LDEwOCwxOTcsMTI2LDE2OCw0NiwxODcsMTY3LDEsMTQ0LDgwLDIwOCwxMjEsMTE5LDEzLDg1LDg3LDE3NSwyMywyMDgsMjI1LDE2Miw4MywxMjYsMzEsMTk5LDkxLDc3LDUzLDUwLDc4LDUyLDM1LDExMyw3LDIwMCw2LDksMzMsMTk5LDE1MiwxNTIsMjE4LDQwLDE3MiwxNjksMTU4LDQyLDE4Miw2NSwxOCwyMSwxNzAsMjQ2LDU4LDIsMTk0LDExMSwxMTAsMjA0LDcsMjIzLDcxLDI0LDE5NCwyMzEsNCw2OSwxNDAsOTEsMTg0LDE3MCwyNCwxOCwzOCwyNDcsMjExLDg4LDIxNyw2NywyNCwyMTQsMTQwLDE0Niw3NCw3MiwxMzcsMTU2LDIxOSwyNDQsMiwzNSwyMzgsMjQyLDIwMywzNCwyMiwyMTMsMjE5LDE5OCwyMTksMzcsMjIzLDIyNiw2OCw3MywxOTcsMjEwLDMzLDEyMiwxNTQsMjMsMTM3LDExMSwxMTksNzksMTk2LDE5Niw2MSwxMjMsMCw2NCw3LDA=","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unrar-m5.json b/tests/archive-testfiles/test-unrar-m5.json
deleted file mode 100644
index 5231370..0000000
--- a/tests/archive-testfiles/test-unrar-m5.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwxMTksMTEsMTE2LDMyLDEyOCw0MSwwLDM4LDEsMCwwLDE4OSwxLDAsMCwzLDE4OSwxOTcsMTc4LDE1Miw3MSw5Niw4Myw3NCwyOSw1Myw5LDAsMTY0LDEyOSwwLDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiwxMywxMjksMTIsMTQ1LDE1LDIxMywxMjksNzgsMTQ5LDQwLDgsMTg2LDEzOCwxNDcsMjA2LDEyMiwyMDIsMCwxMjgsMTEwLDE5OCwxNTAsMTI5LDE3OSw2NCwyMjksMjE1LDIyOCwyNDAsMjE2LDE4MywxMjgsMTk0LDU1LDU1LDE4NiwxNDUsMjQsMjE5LDIwNywyMDMsMTY3LDI0MSwyNTQsODMsMTIwLDIxOSw4OCwxNTEsMjIzLDgxLDI1NCwyNDEsMjE3LDIwNyw4MSwxMDcsNDIsMTE5LDkxLDI5LDQzLDg1LDM0LDE1NCwxNTAsMjQ3LDc5LDIwOSw3NiwxNDAsMzYsMjMwLDc4LDE3MCwxNTAsODUsMTgyLDIyNyw0MSw0OCwxNjEsMTU0LDE1NywxNjEsMjksMjAzLDc1LDc5LDY5LDk3LDgyLDc5LDE0MSw4NSwyMDIsMjUzLDc5LDEyNiwyMjMsMTEzLDkzLDQ1LDE2NCwwLDExNiwyMjYsMjA5LDEyNywzOCw0MiwyMjcsMTU5LDM1LDE4MSw0Nyw5NCwxMTIsODgsNDQsMSwyNDcsNjksMjQ0LDg3LDE5NiwyNDcsNjQsMTU4LDk5LDIxNCwxMzAsNzksMjksNzgsMTYxLDIwOCwxMTAsMjE4LDQyLDg0LDM1LDQxLDIzNyw3NSw4MywxODcsNTksOTYsMTY0LDIxNSw1MCwxOTMsMjE5LDE4MCw5LDE5MSwxMSwyNDIsMzcsNTAsMTIwLDIwMSw4LDI1NSwxMzksMjI2LDE5LDIwNywyNTMsOCw0Niw3LDE1NCw5OCw2MCwxNzYsMjUsMTA4LDE5NywxMjYsMTY4LDQ2LDE4NywxNjcsMSwxNDQsODAsMjA4LDEyMSwxMTksMTMsODUsODcsMTc1LDIzLDIwOCwyMjUsMTYyLDgzLDEyNiwzMSwxOTksOTEsNzcsNTMsNTAsNzgsNTIsMzUsMTEzLDcsMjAwLDYsOSwzMywxOTksMTUyLDE1MiwyMTgsNDAsMTcyLDE2OSwxNTgsNDIsMTgyLDY1LDE4LDIxLDE3MCwyNDYsNTgsMiwxOTQsMTExLDExMCwyMDQsNywyMjMsNzEsMjQsMTk0LDIzMSw0LDY5LDE0MCw5MSwxODQsMTcwLDI0LDE4LDM4LDI0NywyMTEsODgsMjE3LDY3LDI0LDIxNCwxNDAsMTQ2LDc0LDcyLDEzNywxNTYsMjE5LDI0NCwyLDM1LDIzOCwyNDIsMjAzLDM0LDIyLDIxMywyMTksMTk4LDIxOSwzNywyMjMsMjI2LDY4LDczLDE5NywyMTAsMzMsMTIyLDE1NCwyMywxMzcsMTExLDExOSw3OSwxOTYsMTk2LDYxLDEyMywwLDY0LDcsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unrar-ma4.json b/tests/archive-testfiles/test-unrar-ma4.json
deleted file mode 100644
index e151403..0000000
--- a/tests/archive-testfiles/test-unrar-ma4.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODIsOTcsMTE0LDMzLDI2LDcsMCwyMDcsMTQ0LDExNSwwLDAsMTMsMCwwLDAsMCwwLDAsMCwxNDcsOTgsMTE2LDMyLDEyOCw0MSwwLDM4LDEsMCwwLDE4OSwxLDAsMCwzLDE4OSwxOTcsMTc4LDE1Miw3MSw5Niw4Myw3NCwyOSw1MSw5LDAsMTY0LDEyOSwwLDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiwxMywxMjksMTIsMTQ1LDE1LDIxMywxMjksNzgsMTQ5LDQwLDgsMTg2LDEzOCwxNDcsMjA2LDEyMiwyMDIsMCwxMjgsMTEwLDE5OCwxNTAsMTI5LDE3OSw2NCwyMjksMjE1LDIyOCwyNDAsMjE2LDE4MywxMjgsMTk0LDU1LDU1LDE4NiwxNDUsMjQsMjE5LDIwNywyMDMsMTY3LDI0MSwyNTQsODMsMTIwLDIxOSw4OCwxNTEsMjIzLDgxLDI1NCwyNDEsMjE3LDIwNyw4MSwxMDcsNDIsMTE5LDkxLDI5LDQzLDg1LDM0LDE1NCwxNTAsMjQ3LDc5LDIwOSw3NiwxNDAsMzYsMjMwLDc4LDE3MCwxNTAsODUsMTgyLDIyNyw0MSw0OCwxNjEsMTU0LDE1NywxNjEsMjksMjAzLDc1LDc5LDY5LDk3LDgyLDc5LDE0MSw4NSwyMDIsMjUzLDc5LDEyNiwyMjMsMTEzLDkzLDQ1LDE2NCwwLDExNiwyMjYsMjA5LDEyNywzOCw0MiwyMjcsMTU5LDM1LDE4MSw0Nyw5NCwxMTIsODgsNDQsMSwyNDcsNjksMjQ0LDg3LDE5NiwyNDcsNjQsMTU4LDk5LDIxNCwxMzAsNzksMjksNzgsMTYxLDIwOCwxMTAsMjE4LDQyLDg0LDM1LDQxLDIzNyw3NSw4MywxODcsNTksOTYsMTY0LDIxNSw1MCwxOTMsMjE5LDE4MCw5LDE5MSwxMSwyNDIsMzcsNTAsMTIwLDIwMSw4LDI1NSwxMzksMjI2LDE5LDIwNywyNTMsOCw0Niw3LDE1NCw5OCw2MCwxNzYsMjUsMTA4LDE5NywxMjYsMTY4LDQ2LDE4NywxNjcsMSwxNDQsODAsMjA4LDEyMSwxMTksMTMsODUsODcsMTc1LDIzLDIwOCwyMjUsMTYyLDgzLDEyNiwzMSwxOTksOTEsNzcsNTMsNTAsNzgsNTIsMzUsMTEzLDcsMjAwLDYsOSwzMywxOTksMTUyLDE1MiwyMTgsNDAsMTcyLDE2OSwxNTgsNDIsMTgyLDY1LDE4LDIxLDE3MCwyNDYsNTgsMiwxOTQsMTExLDExMCwyMDQsNywyMjMsNzEsMjQsMTk0LDIzMSw0LDY5LDE0MCw5MSwxODQsMTcwLDI0LDE4LDM4LDI0NywyMTEsODgsMjE3LDY3LDI0LDIxNCwxNDAsMTQ2LDc0LDcyLDEzNywxNTYsMjE5LDI0NCwyLDM1LDIzOCwyNDIsMjAzLDM0LDIyLDIxMywyMTksMTk4LDIxOSwzNywyMjMsMjI2LDY4LDczLDE5NywyMTAsMzMsMTIyLDE1NCwyMywxMzcsMTExLDExOSw3OSwxOTYsMTk2LDYxLDEyMywwLDY0LDcsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-untar-1.json b/tests/archive-testfiles/test-untar-1.json
deleted file mode 100644
index acce644..0000000
--- a/tests/archive-testfiles/test-untar-1.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"MTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQ4LDQ4LDQ4LDU0LDUyLDUyLDMyLDAsNTEsNTEsNTEsNTEsNTQsNTAsMzIsMCw0OCw0OSw0OSw1NCw0OSw0OCwzMiwwLDQ4LDQ4LDQ4LDQ4LDQ4LDQ4LDQ4LDQ4LDU0LDU1LDUzLDMyLDQ5LDUxLDQ4LDUzLDUwLDUxLDU0LDUyLDQ5LDQ5LDUwLDMyLDQ4LDQ5LDUyLDUwLDUwLDQ4LDAsMzIsNDgsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMTcsMTE1LDExNiw5NywxMTQsMCw0OCw0OCwxMDYsMTAxLDEwMiwxMDIsMTE1LDk5LDEwNCwxMDUsMTA4LDEwOCwxMDEsMTE0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMDEsMTEwLDEwMywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDgsNDgsNDgsNDgsNDgsNDgsMzIsMCw0OCw0OCw0OCw0OCw0OCw0OCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3NiwxMTEsMTE0LDEwMSwxMDksMzIsMTA1LDExMiwxMTUsMTE3LDEwOSwzMiwxMDAsMTExLDEwOCwxMTEsMTE0LDMyLDExNSwxMDUsMTE2LDMyLDk3LDEwOSwxMDEsMTE2LDQ0LDMyLDk5LDExMSwxMTAsMTE1LDEwMSw5OSwxMTYsMTAxLDExNiwxMTcsMTE0LDMyLDk3LDEwMCwxMDUsMTEyLDEwNSwxMTUsOTksMTA1LDExMCwxMDMsMzIsMTAxLDEwOCwxMDUsMTE2LDQ0LDMyLDExNSwxMDEsMTAwLDMyLDEwMCwxMTEsMzIsMTAxLDEwNSwxMTcsMTE1LDEwOSwxMTEsMTAwLDMyLDExNiwxMDEsMTA5LDExMiwxMTEsMTE0LDMyLDEwNSwxMTAsOTksMTA1LDEwMCwxMDUsMTAwLDExNywxMTAsMTE2LDMyLDExNywxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTAxLDMyLDEwMSwxMTYsMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTA5LDk3LDEwMywxMTAsOTcsMzIsOTcsMTA4LDEwNSwxMTMsMTE3LDk3LDQ2LDMyLDg1LDExNiwzMiwxMDEsMTEwLDEwNSwxMDksMzIsOTcsMTAwLDMyLDEwOSwxMDUsMTEwLDEwNSwxMDksMzIsMTE4LDEwMSwxMTAsMTA1LDk3LDEwOSw0NCwzMiwxMTMsMTE3LDEwNSwxMTUsMzIsMTEwLDExMSwxMTUsMTE2LDExNCwxMTcsMTAwLDMyLDEwMSwxMjAsMTAxLDExNCw5OSwxMDUsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTcsMTA4LDEwOCw5NywxMDksOTksMTExLDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwNSwxMTUsMzIsMTEwLDEwNSwxMTUsMTA1LDMyLDExNywxMTYsMzIsOTcsMTA4LDEwNSwxMTMsMTE3LDEwNSwxMTIsMzIsMTAxLDEyMCwzMiwxMDEsOTcsMzIsOTksMTExLDEwOSwxMDksMTExLDEwMCwxMTEsMzIsOTksMTExLDExMCwxMTUsMTAxLDExMywxMTcsOTcsMTE2LDQ2LDMyLDY4LDExNywxMDUsMTE1LDMyLDk3LDExNywxMTYsMTAxLDMyLDEwNSwxMTQsMTE3LDExNCwxMDEsMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMDUsMTEwLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTA0LDEwMSwxMTAsMTAwLDEwMSwxMTQsMTA1LDExNiwzMiwxMDUsMTEwLDMyLDExOCwxMTEsMTA4LDExNywxMTIsMTE2LDk3LDExNiwxMDEsMzIsMTE4LDEwMSwxMDgsMTA1LDExNiwzMiwxMDEsMTE1LDExNSwxMDEsMzIsOTksMTA1LDEwOCwxMDgsMTE3LDEwOSwzMiwxMDAsMTExLDEwOCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE3LDMyLDEwMiwxMTcsMTAzLDEwNSw5NywxMTYsMzIsMTEwLDExNywxMDgsMTA4LDk3LDMyLDExMiw5NywxMTQsMTA1LDk3LDExNiwxMTcsMTE0LDQ2LDMyLDY5LDEyMCw5OSwxMDEsMTEyLDExNiwxMDEsMTE3LDExNCwzMiwxMTUsMTA1LDExMCwxMTYsMzIsMTExLDk5LDk5LDk3LDEwMSw5OSw5NywxMTYsMzIsOTksMTE3LDExMiwxMDUsMTAwLDk3LDExNiw5NywxMTYsMzIsMTEwLDExMSwxMTAsMzIsMTEyLDExNCwxMTEsMTA1LDEwMCwxMDEsMTEwLDExNiw0NCwzMiwxMTUsMTE3LDExMCwxMTYsMzIsMTA1LDExMCwzMiw5OSwxMTcsMTA4LDExMiw5NywzMiwxMTMsMTE3LDEwNSwzMiwxMTEsMTAyLDEwMiwxMDUsOTksMTA1LDk3LDMyLDEwMCwxMDEsMTE1LDEwMSwxMTQsMTE3LDExMCwxMTYsMzIsMTA5LDExMSwxMDgsMTA4LDEwNSwxMTYsMzIsOTcsMTEwLDEwNSwxMDksMzIsMTA1LDEwMCwzMiwxMDEsMTE1LDExNiwzMiwxMDgsOTcsOTgsMTExLDExNCwxMTcsMTA5LDQ2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMA==","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unzip-deflate.json b/tests/archive-testfiles/test-unzip-deflate.json
deleted file mode 100644
index 7340caf..0000000
--- a/tests/archive-testfiles/test-unzip-deflate.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODAsNzUsMyw0LDIwLDAsMCwwLDgsMCwxMTMsNzYsODIsNzQsNjAsMjcsMjM2LDIwOSwxOSwxLDAsMCwxMjQsMywwLDAsOSwwLDI4LDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiw4NSw4NCw5LDAsMywyMjksMTMzLDE2OCw4OCwyMTQsMTMzLDE2OCw4OCwxMTcsMTIwLDExLDAsMSw0LDI0MiwxODIsMSwwLDQsMTM2LDE5LDAsMCwyMzcsODEsMjA1LDEwOSwxMzEsNDksOCwxODksMTAzLDEzOCw1NSw2NCwxNDksNDEsMjE4LDkxLDE3NCwyOSwxMjgsOTgsMTQ2LDM0LDIxNywxOTgsMTc3LDMzLDIwMiwyNDgsMTk3LDI1MywyMTgsMzMsNDIsMjQ1LDEwMiwxMiwxODgsNjMsNDYsNTQsMTY1LDY1LDE5OSwxMzgsMTM0LDk4LDIxMywzOCwxNTAsNTgsMTY4LDEzNywxOTEsMTI4LDE3Myw0Nyw5NywyMywxNDMsOSw0Miw1OCwxMTYsMTc3LDI0NiwyNywxNjQsMTA2LDU0LDE1MSwxNDgsOTIsMTI4LDEwNCwxNzIsMTAyLDUsNDYsMTA5LDIyOCwxNzgsMTE4LDIxNCwxNjIsMzcsMTg2LDM1LDI4LDE0OSw2MiwxOCwzMCwyMjYsNywxODAsMTYwLDIwOSwxNzMsMTksMTY4LDIzNCw2MSwyMzIsMTQwLDExOSwxMzUsMTE2LDEwOSwxMzcsMTQxLDE2NiwyNTEsMjQxLDIwMCwxNDYsMjE4LDExLDIzOCwxNjEsMTEsMjIxLDE1MCwyMDcsNDAsMTQ0LDE2Nyw3Niw4NiwzOSw4NywyMzUsMTM2LDkwLDE2OSwxNzcsMjksMjAwLDEyMyw3MiwxNTEsMTEwLDE2NiwxMTEsNzIsMjksNTcsMTIsMTYxLDIwLDIyMiw4MiwxNDcsMjksNiwxNDYsMjAyLDIwNywxMjAsMjIxLDE0NCwyMCw0NiwyMDgsMjUsMTY5LDIyOCwyNDAsMTcwLDI5LDgzLDE5OCwxNDgsNzksMjMzLDY5LDEwMiwyNiwyMDcsMTQzLDEzNSwyMTMsMjQsNzMsMzksNDEsMzksMTU3LDY2LDIxNCwxOCwxNzYsMjE0LDI1MCwxNTUsODAsMjYsMTAsOTIsMjI3LDE2NiwyMjgsMjMyLDkxLDE2LDYsMjA1LDQ0LDk4LDE1OCwyNDEsMjQ2LDEwMCwyNSw0NiwxNzcsOTksMjA0LDEyLDE0MCwxNTMsMTMyLDExNSwxNDIsOTksMTA0LDMzLDIyMywyNywyMzMsOTgsNzYsMjExLDM0LDEyNSwxNjcsMTg0LDE0Nyw3NCw4MiwxNDIsNTgsMTA0LDI1MSwxMzQsOTMsMTc1LDIwMiw3NCw0MCwxNzgsMTAwLDIzOCwxMTAsMTc5LDE4NiwxMDEsMjA4LDE0LDcyLDUxLDE0MiwyNDUsMTQ3LDEwNywxODAsMjQzLDIzMywxMTYsMjQ5LDYzLDIyMywyMjMsNjEsMjIzLDIzLDgwLDc1LDEsMiwzMCwzLDIwLDAsMCwwLDgsMCwxMTMsNzYsODIsNzQsNjAsMjcsMjM2LDIwOSwxOSwxLDAsMCwxMjQsMywwLDAsOSwwLDI0LDAsMCwwLDAsMCwxLDAsMCwwLDE2NCwxMjksMCwwLDAsMCwxMDgsMTExLDExNCwxMDEsMTA5LDQ2LDExNiwxMjAsMTE2LDg1LDg0LDUsMCwzLDIyOSwxMzMsMTY4LDg4LDExNywxMjAsMTEsMCwxLDQsMjQyLDE4MiwxLDAsNCwxMzYsMTksMCwwLDgwLDc1LDUsNiwwLDAsMCwwLDEsMCwxLDAsNzksMCwwLDAsODYsMSwwLDAsMCww","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0NiwxMCwxMCw3NiwxMTEsMTE0LDEwMSwxMDksMzIsMTA1LDExMiwxMTUsMTE3LDEwOSwzMiwxMDAsMTExLDEwOCwxMTEsMTE0LDMyLDExNSwxMDUsMTE2LDMyLDk3LDEwOSwxMDEsMTE2LDQ0LDMyLDk5LDExMSwxMTAsMTE1LDEwMSw5OSwxMTYsMTAxLDExNiwxMTcsMTE0LDMyLDk3LDEwMCwxMDUsMTEyLDEwNSwxMTUsOTksMTA1LDExMCwxMDMsMzIsMTAxLDEwOCwxMDUsMTE2LDQ0LDMyLDExNSwxMDEsMTAwLDMyLDEwMCwxMTEsMzIsMTAxLDEwNSwxMTcsMTE1LDEwOSwxMTEsMTAwLDMyLDExNiwxMDEsMTA5LDExMiwxMTEsMTE0LDMyLDEwNSwxMTAsOTksMTA1LDEwMCwxMDUsMTAwLDExNywxMTAsMTE2LDMyLDExNywxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTAxLDMyLDEwMSwxMTYsMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTA5LDk3LDEwMywxMTAsOTcsMzIsOTcsMTA4LDEwNSwxMTMsMTE3LDk3LDQ2LDMyLDg1LDExNiwzMiwxMDEsMTEwLDEwNSwxMDksMzIsOTcsMTAwLDMyLDEwOSwxMDUsMTEwLDEwNSwxMDksMzIsMTE4LDEwMSwxMTAsMTA1LDk3LDEwOSw0NCwzMiwxMTMsMTE3LDEwNSwxMTUsMzIsMTEwLDExMSwxMTUsMTE2LDExNCwxMTcsMTAwLDMyLDEwMSwxMjAsMTAxLDExNCw5OSwxMDUsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTcsMTA4LDEwOCw5NywxMDksOTksMTExLDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwNSwxMTUsMzIsMTEwLDEwNSwxMTUsMTA1LDMyLDExNywxMTYsMzIsOTcsMTA4LDEwNSwxMTMsMTE3LDEwNSwxMTIsMzIsMTAxLDEyMCwzMiwxMDEsOTcsMzIsOTksMTExLDEwOSwxMDksMTExLDEwMCwxMTEsMzIsOTksMTExLDExMCwxMTUsMTAxLDExMywxMTcsOTcsMTE2LDQ2LDMyLDY4LDExNywxMDUsMTE1LDMyLDk3LDExNywxMTYsMTAxLDMyLDEwNSwxMTQsMTE3LDExNCwxMDEsMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMDUsMTEwLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTA0LDEwMSwxMTAsMTAwLDEwMSwxMTQsMTA1LDExNiwzMiwxMDUsMTEwLDMyLDExOCwxMTEsMTA4LDExNywxMTIsMTE2LDk3LDExNiwxMDEsMzIsMTE4LDEwMSwxMDgsMTA1LDExNiwzMiwxMDEsMTE1LDExNSwxMDEsMzIsOTksMTA1LDEwOCwxMDgsMTE3LDEwOSwzMiwxMDAsMTExLDEwOCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE3LDMyLDEwMiwxMTcsMTAzLDEwNSw5NywxMTYsMzIsMTEwLDExNywxMDgsMTA4LDk3LDMyLDExMiw5NywxMTQsMTA1LDk3LDExNiwxMTcsMTE0LDQ2LDMyLDY5LDEyMCw5OSwxMDEsMTEyLDExNiwxMDEsMTE3LDExNCwzMiwxMTUsMTA1LDExMCwxMTYsMzIsMTExLDk5LDk5LDk3LDEwMSw5OSw5NywxMTYsMzIsOTksMTE3LDExMiwxMDUsMTAwLDk3LDExNiw5NywxMTYsMzIsMTEwLDExMSwxMTAsMzIsMTEyLDExNCwxMTEsMTA1LDEwMCwxMDEsMTEwLDExNiw0NCwzMiwxMTUsMTE3LDExMCwxMTYsMzIsMTA1LDExMCwzMiw5OSwxMTcsMTA4LDExMiw5NywzMiwxMTMsMTE3LDEwNSwzMiwxMTEsMTAyLDEwMiwxMDUsOTksMTA1LDk3LDMyLDEwMCwxMDEsMTE1LDEwMSwxMTQsMTE3LDExMCwxMTYsMzIsMTA5LDExMSwxMDgsMTA4LDEwNSwxMTYsMzIsOTcsMTEwLDEwNSwxMDksMzIsMTA1LDEwMCwzMiwxMDEsMTE1LDExNiwzMiwxMDgsOTcsOTgsMTExLDExNCwxMTcsMTA5LDQ2"}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unzip-descriptor.json b/tests/archive-testfiles/test-unzip-descriptor.json
deleted file mode 100644
index 71fc9a4..0000000
--- a/tests/archive-testfiles/test-unzip-descriptor.json
+++ /dev/null
@@ -1,4 +0,0 @@
-window.archiveTestFile = {
- "archivedFile": "ODAsNzUsMyw0LDIwLDAsOCwwLDgsMCwyNiw0MCwzNyw3MSwwLDAsMCwwLDAsMCwwLDAsNjQsMSwwLDAsMTAsMCwyOCwwLDExNSwxMDEsOTksMTExLDExMCwxMDAsNDYsMTE2LDEyMCwxMTYsODUsODQsOSwwLDMsMTE2LDIxNywyMzQsODUsOTUsMTkwLDE3MSw5NCwxMTcsMTIwLDExLDAsMSw0LDI0MiwxODIsMSwwLDQsODMsOTUsMSwwLDExLDExOCwxMTcsMjQ2LDI0NywxMTUsODEsOCwzOCwxNDMsMjI2LDIyOSwzNCw4MywyMjcsMTc2LDIwOSwxNSwwLDgwLDc1LDcsOCwyMjQsOCwyLDkwLDE5LDAsMCwwLDY0LDEsMCwwLDgwLDc1LDEsMiwzMCwzLDIwLDAsOCwwLDgsMCwyNiw0MCwzNyw3MSwyMjQsOCwyLDkwLDE5LDAsMCwwLDY0LDEsMCwwLDEwLDAsMjQsMCwwLDAsMCwwLDEsMCwwLDAsMTY0LDEyOSwwLDAsMCwwLDExNSwxMDEsOTksMTExLDExMCwxMDAsNDYsMTE2LDEyMCwxMTYsODUsODQsNSwwLDMsMTE2LDIxNywyMzQsODUsMTE3LDEyMCwxMSwwLDEsNCwyNDIsMTgyLDEsMCw0LDgzLDk1LDEsMCw4MCw3NSw1LDYsMCwwLDAsMCwxLDAsMSwwLDgwLDAsMCwwLDEwMywwLDAsMCwwLDA=",
- "unarchivedFile": "ODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMTMsMTAsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMTMsMTAsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMTMsMTAsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMTMsMTAsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMzIsODMsNjksNjcsNzksNzgsNjgsMTMsMTA="
-}
\ No newline at end of file
diff --git a/tests/archive-testfiles/test-unzip-store.json b/tests/archive-testfiles/test-unzip-store.json
deleted file mode 100644
index 40d6b47..0000000
--- a/tests/archive-testfiles/test-unzip-store.json
+++ /dev/null
@@ -1 +0,0 @@
-window.archiveTestFile={"archivedFile":"ODAsNzUsMyw0LDEwLDAsMCwwLDAsMCwyNDMsODUsODMsNzQsMTg5LDE5NywxNzgsMTUyLDE4OSwxLDAsMCwxODksMSwwLDAsOSwwLDI4LDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiw4NSw4NCw5LDAsMyw3NCwyMzIsMTY5LDg4LDk2LDIzMiwxNjksODgsMTE3LDEyMCwxMSwwLDEsNCwyNDIsMTgyLDEsMCw0LDEzNiwxOSwwLDAsNzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Niw4MCw3NSwxLDIsMzAsMywxMCwwLDAsMCwwLDAsMjQzLDg1LDgzLDc0LDE4OSwxOTcsMTc4LDE1MiwxODksMSwwLDAsMTg5LDEsMCwwLDksMCwyNCwwLDAsMCwwLDAsMCwwLDAsMCwxNjQsMTI5LDAsMCwwLDAsMTA4LDExMSwxMTQsMTAxLDEwOSw0NiwxMTYsMTIwLDExNiw4NSw4NCw1LDAsMyw3NCwyMzIsMTY5LDg4LDExNywxMjAsMTEsMCwxLDQsMjQyLDE4MiwxLDAsNCwxMzYsMTksMCwwLDgwLDc1LDUsNiwwLDAsMCwwLDEsMCwxLDAsNzksMCwwLDAsMCwyLDAsMCwwLDA=","unarchivedFile":"NzYsMTExLDExNCwxMDEsMTA5LDMyLDEwNSwxMTIsMTE1LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwzMiwxMTUsMTA1LDExNiwzMiw5NywxMDksMTAxLDExNiw0NCwzMiw5OSwxMTEsMTEwLDExNSwxMDEsOTksMTE2LDEwMSwxMTYsMTE3LDExNCwzMiw5NywxMDAsMTA1LDExMiwxMDUsMTE1LDk5LDEwNSwxMTAsMTAzLDMyLDEwMSwxMDgsMTA1LDExNiw0NCwzMiwxMTUsMTAxLDEwMCwzMiwxMDAsMTExLDMyLDEwMSwxMDUsMTE3LDExNSwxMDksMTExLDEwMCwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCwzMiwxMDUsMTEwLDk5LDEwNSwxMDAsMTA1LDEwMCwxMTcsMTEwLDExNiwzMiwxMTcsMTE2LDMyLDEwOCw5Nyw5OCwxMTEsMTE0LDEwMSwzMiwxMDEsMTE2LDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMTAxLDMyLDEwOSw5NywxMDMsMTEwLDk3LDMyLDk3LDEwOCwxMDUsMTEzLDExNyw5Nyw0NiwzMiw4NSwxMTYsMzIsMTAxLDExMCwxMDUsMTA5LDMyLDk3LDEwMCwzMiwxMDksMTA1LDExMCwxMDUsMTA5LDMyLDExOCwxMDEsMTEwLDEwNSw5NywxMDksNDQsMzIsMTEzLDExNywxMDUsMTE1LDMyLDExMCwxMTEsMTE1LDExNiwxMTQsMTE3LDEwMCwzMiwxMDEsMTIwLDEwMSwxMTQsOTksMTA1LDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE3LDEwOCwxMDgsOTcsMTA5LDk5LDExMSwzMiwxMDgsOTcsOTgsMTExLDExNCwxMDUsMTE1LDMyLDExMCwxMDUsMTE1LDEwNSwzMiwxMTcsMTE2LDMyLDk3LDEwOCwxMDUsMTEzLDExNywxMDUsMTEyLDMyLDEwMSwxMjAsMzIsMTAxLDk3LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMDAsMTExLDMyLDk5LDExMSwxMTAsMTE1LDEwMSwxMTMsMTE3LDk3LDExNiw0NiwzMiw2OCwxMTcsMTA1LDExNSwzMiw5NywxMTcsMTE2LDEwMSwzMiwxMDUsMTE0LDExNywxMTQsMTAxLDMyLDEwMCwxMTEsMTA4LDExMSwxMTQsMzIsMTA1LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDEwNCwxMDEsMTEwLDEwMCwxMDEsMTE0LDEwNSwxMTYsMzIsMTA1LDExMCwzMiwxMTgsMTExLDEwOCwxMTcsMTEyLDExNiw5NywxMTYsMTAxLDMyLDExOCwxMDEsMTA4LDEwNSwxMTYsMzIsMTAxLDExNSwxMTUsMTAxLDMyLDk5LDEwNSwxMDgsMTA4LDExNywxMDksMzIsMTAwLDExMSwxMDgsMTExLDExNCwxMDEsMzIsMTAxLDExNywzMiwxMDIsMTE3LDEwMywxMDUsOTcsMTE2LDMyLDExMCwxMTcsMTA4LDEwOCw5NywzMiwxMTIsOTcsMTE0LDEwNSw5NywxMTYsMTE3LDExNCw0NiwzMiw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTAxLDExNywxMTQsMzIsMTE1LDEwNSwxMTAsMTE2LDMyLDExMSw5OSw5OSw5NywxMDEsOTksOTcsMTE2LDMyLDk5LDExNywxMTIsMTA1LDEwMCw5NywxMTYsOTcsMTE2LDMyLDExMCwxMTEsMTEwLDMyLDExMiwxMTQsMTExLDEwNSwxMDAsMTAxLDExMCwxMTYsNDQsMzIsMTE1LDExNywxMTAsMTE2LDMyLDEwNSwxMTAsMzIsOTksMTE3LDEwOCwxMTIsOTcsMzIsMTEzLDExNywxMDUsMzIsMTExLDEwMiwxMDIsMTA1LDk5LDEwNSw5NywzMiwxMDAsMTAxLDExNSwxMDEsMTE0LDExNywxMTAsMTE2LDMyLDEwOSwxMTEsMTA4LDEwOCwxMDUsMTE2LDMyLDk3LDExMCwxMDUsMTA5LDMyLDEwNSwxMDAsMzIsMTAxLDExNSwxMTYsMzIsMTA4LDk3LDk4LDExMSwxMTQsMTE3LDEwOSw0Ng=="}
\ No newline at end of file
diff --git a/tests/muther.js b/tests/muther.js
deleted file mode 100644
index 74662dc..0000000
--- a/tests/muther.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Minimal Unit Test Harness
- *
- * Licensed under the MIT License
- *
- * Copyright(c) 2014, Google Inc.
- */
-function setOrCreate(id, style, innerHTML) {
- let el = document.querySelector('#' + id);
- if (!el) {
- el = document.createElement('div');
- el.id = id;
- document.body.appendChild(el);
- }
- el.setAttribute('style', style);
- el.innerHTML = innerHTML;
-}
-export function assert(cond, err) { if (!cond) { throw err || 'Undefined error'; } }
-export function assertEquals(a, b, err) { assert(a === b, err || (a + '!=' + b)); }
-export function assertThrows(fn, err) {
- let threw = false;
- try { fn(); } catch (e) { threw = true; }
- assert(threw, err || 'Code did not throw');
-}
-export function runTests(spec) {
- let prevResult = Promise.resolve(true);
- for (let testName in spec['tests']) {
- setOrCreate(testName, 'color:#F90', 'RUNNING: ' + testName);
- try {
- prevResult = prevResult.then(() => {
- if (spec['setUp']) spec['setUp']();
- const thisResult = spec['tests'][testName]() || Promise.resolve(true);
- return thisResult.then(() => {
- if (spec['tearDown']) spec['tearDown']();
- setOrCreate(testName, 'color:#090', 'PASS: ' + testName);
- });
- }).catch(err => setOrCreate(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err));
- } catch (err) {
- setOrCreate(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err);
- }
- }
-}
diff --git a/tests/test-uploader.html b/tests/test-uploader.html
deleted file mode 100644
index 5fe470e..0000000
--- a/tests/test-uploader.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
- Select archived file
-
-
-
- Select unarchived file
-
-
-
-
-
diff --git a/tests/test-uploader.js b/tests/test-uploader.js
deleted file mode 100644
index f1b5c2f..0000000
--- a/tests/test-uploader.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * test-uploader.js
- *
- * Provides readers for byte streams.
- *
- * Licensed under the MIT License
- *
- * Copyright(c) 2017 Google Inc.
- */
-
-/**
- * TODO:
- * - ask user to choose the archived binary file
- * - read it in as bytes, convert to text
- * - ask user to choose the unarchived file
- * - put the binary and text results together in a JSON blob:
- {
- "archivedFile": ...,
- "unarchivedFIle": ...
- }
- */
-
-let archiveUploaderEl = null;
-let archivedFileAsText = null;
-let unarchiveUploaderEl = null;
-let unarchivedFileAsText = null;
-
-function init() {
- archiveUploaderEl = document.querySelector('#archive-uploader');
- unarchiveUploaderEl = document.querySelector('#unarchive-uploader');
-
- archiveUploaderEl.addEventListener('change', getArchivedFile, false);
- unarchiveUploaderEl.addEventListener('change', getUnarchivedFile, false);
-}
-
-function getArchivedFile(evt) {
- const filelist = evt.target.files;
- const fr = new FileReader();
- fr.onload = function () {
- const arr = new Uint8Array(fr.result);
- archivedFileAsText = btoa(arr);
- archiveUploaderEl.setAttribute('disabled', 'true');
- unarchiveUploaderEl.removeAttribute('disabled');
- };
- fr.readAsArrayBuffer(filelist[0]);
-}
-
-function getUnarchivedFile(evt) {
- const filelist = evt.target.files;
- const fr = new FileReader();
- fr.onload = function () {
- const arr = new Uint8Array(fr.result);
- unarchivedFileAsText = btoa(arr);
- unarchiveUploaderEl.setAttribute('disabled', 'true');
- output();
- };
- fr.readAsArrayBuffer(filelist[0]);
-}
-
-function output() {
- let json = 'window.archiveTestFile = {\n';
- json += ' "archivedFile": "' + archivedFileAsText + '",\n';
- json += ' "unarchivedFile": "' + unarchivedFileAsText + '"\n';
- json += '}';
- document.getElementById('json').textContent = json;
-}
-
-// To turn the base64 string back into bytes:
-// new Uint8Array(atob(archivedFileAsText).split(',').map(s => parseInt(s)))
diff --git a/tests/unzipper-test.html b/tests/unzipper-test.html
deleted file mode 100644
index 5bc3983..0000000
--- a/tests/unzipper-test.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- Tiny web inteface to test performance of the Unzipper.
-
-
-
-
-
- Select a bunch of zip files
-
-
-
-
\ No newline at end of file
diff --git a/tests/unzipper-test.js b/tests/unzipper-test.js
deleted file mode 100644
index f6983e1..0000000
--- a/tests/unzipper-test.js
+++ /dev/null
@@ -1,44 +0,0 @@
-
-import { UnarchiveEventType, Unzipper } from '../archive/archive.js';
-
-const result = document.querySelector('#result');
-const fileInputEl = document.querySelector('#unzip-tester');
-
-async function getFiles(fileChangeEvt) {
- result.innerHTML = `Starting to load files`;
- const files = fileChangeEvt.target.files;
- const buffers = [];
- for (const file of files) {
- buffers.push(await new Promise((resolve, reject) => {
- const fr = new FileReader();
- fr.onload = () => {
- resolve(new Uint8Array(fr.result));
- };
- fr.readAsArrayBuffer(file);
- }));
- }
-
- result.innerHTML = `Loaded files`;
-
- let fileNum = 0;
- const INC = 100 / files.length;
- const start = performance.now();
-
- for (const b of buffers) {
- await new Promise((resolve, reject) => {
- const unzipper = new Unzipper(b.buffer);
- unzipper.addEventListener(UnarchiveEventType.FINISH, () => {
- fileNum++;
- resolve();
- });
- result.innerHTML = `Unzipping file ${fileNum} / ${files.length}`;
- unzipper.start();
- });
- }
-
- const end = performance.now();
- result.innerHTML = `Unzipping took ${end - start}ms`;
-}
-
-fileInputEl.addEventListener('change', getFiles, false);
-
diff --git a/tests/zipper-test.html b/tests/zipper-test.html
deleted file mode 100644
index 12ac530..0000000
--- a/tests/zipper-test.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Tiny web inteface to test the Zipper.
-
-
-
-
-
- Select a bunch of files to zip
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/zipper-test.js b/tests/zipper-test.js
deleted file mode 100644
index 6c6f4f6..0000000
--- a/tests/zipper-test.js
+++ /dev/null
@@ -1,66 +0,0 @@
-
-import { Zipper, ZipCompressionMethod } from '../archive/compress.js';
-
-const result = document.querySelector('#result');
-const fileInputEl = document.querySelector('#zip-tester');
-const saveButtonEl = document.querySelector('#save');
-let byteArray = null;
-
-/**
- * @typedef FileInfo An object that is sent to this worker to represent a file.
- * @property {string} fileName The name of this file. TODO: Includes the path?
- * @property {number} lastModTime The number of ms since the Unix epoch (1970-01-01 at midnight).
- * @property {Uint8Array} fileData The bytes of the file.
- */
-
-/**
- * @returns {Promise<}
- */
-async function getFiles(fileChangeEvt) {
- result.innerHTML = `Starting to load files`;
- const files = fileChangeEvt.target.files;
- const fileInfos = [];
- for (const file of files) {
- fileInfos.push(await new Promise((resolve, reject) => {
- const fr = new FileReader();
- fr.onload = () => {
- resolve({
- fileName: file.name,
- lastModTime: file.lastModified,
- fileData: new Uint8Array(fr.result),
- });
- };
- fr.readAsArrayBuffer(file);
- }));
- }
-
- result.innerHTML = `Loaded files`;
-
- const zipper = new Zipper({
- zipCompressionMethod: ZipCompressionMethod.DEFLATE,
- });
- byteArray = await zipper.start(fileInfos, true);
- result.innerHTML = `Zipping done`;
- saveButtonEl.style.display = '';
-}
-
-async function saveFile(evt) {
- /** @type {FileSystemFileHandle} */
- const fileHandle = await window['showSaveFilePicker']({
- types: [
- {
- accept: {
- 'application/zip': ['.zip', '.cbz'],
- },
- },
- ],
- });
-
- /** @type {FileSystemWritableFileStream} */
- const writableStream = await fileHandle.createWritable();
- writableStream.write(byteArray);
- writableStream.close();
-}
-
-fileInputEl.addEventListener('change', getFiles, false);
-saveButtonEl.addEventListener('click', saveFile, false);
diff --git a/types/archive/common.d.ts b/types/archive/common.d.ts
index 3193116..a252b23 100644
--- a/types/archive/common.d.ts
+++ b/types/archive/common.d.ts
@@ -7,6 +7,11 @@
*
* Copyright(c) 2023 Google Inc.
*/
+/**
+ * @typedef Implementation
+ * @property {MessagePort} hostPort The port the host uses to communicate with the implementation.
+ * @property {Function} disconnectFn A function to call when the port has been disconnected.
+ */
/**
* Connects a host to a compress/decompress implementation via MessagePorts. The implementation must
* have an exported connect() function that accepts a MessagePort. If the runtime support Workers
@@ -14,8 +19,19 @@
* dynamically imports the implementation inside the current JS context (node, bun).
* @param {string} implFilename The compressor/decompressor implementation filename relative to this
* path (e.g. './unzip.js').
- * @returns {Promise} The Promise resolves to the MessagePort connected to the
- * implementation that the host should use.
+ * @param {Function} disconnectFn A function to run when the port is disconnected.
+ * @returns {Promise} The Promise resolves to the Implementation, which includes the
+ * MessagePort connected to the implementation that the host should use.
*/
-export function getConnectedPort(implFilename: string): Promise;
+export function getConnectedPort(implFilename: string): Promise;
+export type Implementation = {
+ /**
+ * The port the host uses to communicate with the implementation.
+ */
+ hostPort: MessagePort;
+ /**
+ * A function to call when the port has been disconnected.
+ */
+ disconnectFn: Function;
+};
//# sourceMappingURL=common.d.ts.map
\ No newline at end of file
diff --git a/types/archive/common.d.ts.map b/types/archive/common.d.ts.map
index 2f911ff..f952810 100644
--- a/types/archive/common.d.ts.map
+++ b/types/archive/common.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../archive/common.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;GASG;AACH,+CALW,MAAM,GAEJ,QAAQ,WAAW,CAAC,CAoBhC"}
\ No newline at end of file
+{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../archive/common.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,+CANW,MAAM,GAGJ,QAAQ,cAAc,CAAC,CA0BnC;;;;;cAtCa,WAAW"}
\ No newline at end of file
diff --git a/types/archive/decompress.d.ts b/types/archive/decompress.d.ts
index 1d3c8f6..d6f8843 100644
--- a/types/archive/decompress.d.ts
+++ b/types/archive/decompress.d.ts
@@ -43,6 +43,12 @@ export class Unarchiver extends EventTarget {
* @private
*/
private port_;
+ /**
+ * A function to call to disconnect the implementation from the host.
+ * @type {Function}
+ * @private
+ */
+ private disconnectFn_;
/**
* The ArrayBuffer object.
* @type {ArrayBuffer}
@@ -54,6 +60,13 @@ export class Unarchiver extends EventTarget {
* @type {boolean}
*/
debugMode_: boolean;
+ /**
+ * Overridden so that the type hints for eventType are specific.
+ * @param {'progress'|'extract'|'finish'} eventType
+ * @param {EventListenerOrEventListenerObject} listener
+ * @override
+ */
+ override addEventListener(eventType: 'progress' | 'extract' | 'finish', listener: EventListenerOrEventListenerObject): void;
/**
* This method must be overridden by the subclass to return the script filename.
* @returns {string} The MIME type of the archive.
diff --git a/types/archive/decompress.d.ts.map b/types/archive/decompress.d.ts.map
index 12eaec2..0fc8e9e 100644
--- a/types/archive/decompress.d.ts.map
+++ b/types/archive/decompress.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../archive/decompress.js"],"names":[],"mappings":"AA6QA;;;;;;;;;;GAUG;AACH,kCARW,WAAW,YAGX,iBAAiB,GAAC,MAAM,GAGtB,UAAU,CAkBtB;AA1QD;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IASE;;;;;;;OAOG;IACH,yBAPW,WAAW,YAGX,iBAAiB,GAAC,MAAM,EAyBlC;IArCD;;;;;OAKG;IACH,cAAM;IAmBJ;;;;OAIG;IACH,cAHU,WAAW,CAGA;IAErB;;;OAGG;IACH,YAFU,OAAO,CAEkB;IAGrC;;;;OAIG;IACH,yBAHa,MAAM,CAKlB;IAED;;;;OAIG;IACH,+BAHa,MAAM,CAKlB;IAED;;;;;OAKG;IACH,8BAsBC;IAED;;;;;;OAMG;IACH,yBAaC;IAED;;;;;OAKG;IACH,SAJa,QAAQ,IAAI,CAAC,CA8BzB;IAGD;;;;;;;;OAQG;IACH,WAPW,WAAW,qBAGX,OAAO,oBAgBjB;IAED;;OAEG;IACH,aAKC;CACF;AAID;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;;cAtOa,MAAM;cACN,UAAU;;;;;;YAKV,OAAO"}
\ No newline at end of file
+{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../archive/decompress.js"],"names":[],"mappings":"AAkSA;;;;;;;;;;GAUG;AACH,kCARW,WAAW,YAGX,iBAAiB,GAAC,MAAM,GAGtB,UAAU,CAkBtB;AA/RD;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAgBE;;;;;;;OAOG;IACH,yBAPW,WAAW,YAGX,iBAAiB,GAAC,MAAM,EAyBlC;IA5CD;;;;;OAKG;IACH,cAAM;IAEN;;;;OAIG;IACH,sBAAc;IAmBZ;;;;OAIG;IACH,cAHU,WAAW,CAGA;IAErB;;;OAGG;IACH,YAFU,OAAO,CAEkB;IAGrC;;;;;OAKG;IACH,qCAJW,UAAU,GAAC,SAAS,GAAC,QAAQ,YAC7B,kCAAkC,QAK5C;IAED;;;;OAIG;IACH,yBAHa,MAAM,CAKlB;IAED;;;;OAIG;IACH,+BAHa,MAAM,CAKlB;IAED;;;;;OAKG;IACH,8BAsBC;IAED;;;;;;OAMG;IACH,yBAaC;IAED;;;;;OAKG;IACH,SAJa,QAAQ,IAAI,CAAC,CAgCzB;IAGD;;;;;;;;OAQG;IACH,WAPW,WAAW,qBAGX,OAAO,oBAgBjB;IAED;;OAEG;IACH,aAOC;CACF;AAID;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;;cA3Pa,MAAM;cACN,UAAU;;;;;;YAKV,OAAO"}
\ No newline at end of file
diff --git a/types/io/bytestream.d.ts.map b/types/io/bytestream.d.ts.map
index 0562ca6..f102823 100644
--- a/types/io/bytestream.d.ts.map
+++ b/types/io/bytestream.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"bytestream.d.ts","sourceRoot":"","sources":["../../io/bytestream.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IACE;;;;OAIG;IACH,gBAJW,WAAW,eACX,MAAM,2BACN,MAAM,cAsChB;IA3BC;;;;OAIG;IACH,cAA+C;IAE/C;;;;OAIG;IACH,eAAgB;IAEhB;;;;OAIG;IACH,YAAY;IAEZ;;;;OAIG;IACH,mBAAmB;IAGrB;;OAEG;IACH,0BAEC;IAED;;OAEG;IACH,0BAGC;IAED;;;;;;OAMG;IACH,qBAOC;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAkClB;IAGD;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,MAAM,CAUlB;IAGD;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;;OAMG;IACH,aAJW,MAAM,gBACN,OAAO,GACL,UAAU,CAyCtB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,UAAU,CAItB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CA6BlB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,SAFW,WAAW,QAWrB;IAED;;;OAGG;IACH,OAFa,UAAU,CAStB;CACF"}
\ No newline at end of file
+{"version":3,"file":"bytestream.d.ts","sourceRoot":"","sources":["../../io/bytestream.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IACE;;;;OAIG;IACH,gBAJW,WAAW,eACX,MAAM,2BACN,MAAM,cAqChB;IA3BC;;;;OAIG;IACH,cAA+C;IAE/C;;;;OAIG;IACH,eAAgB;IAEhB;;;;OAIG;IACH,YAAY;IAEZ;;;;OAIG;IACH,mBAAmB;IAGrB;;OAEG;IACH,0BAEC;IAED;;OAEG;IACH,0BAGC;IAED;;;;;;OAMG;IACH,qBAOC;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAkClB;IAGD;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,MAAM,CAUlB;IAGD;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;;OAMG;IACH,aAJW,MAAM,gBACN,OAAO,GACL,UAAU,CAyCtB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,UAAU,CAItB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CA6BlB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,SAFW,WAAW,QAWrB;IAED;;;OAGG;IACH,OAFa,UAAU,CAStB;CACF"}
\ No newline at end of file