115 Commits

Author SHA1 Message Date
Timofey Solomko 41a6c9bae3 Various refactors and fixes for swiftlint 2017-10-02 23:11:38 +03:00
Timofey Solomko aa8df11302 Add block size changing support for bzip2 compression 2017-10-02 00:16:41 +03:00
Timofey Solomko 58cb43959f Extract deflate constants into separate file as an extension 2017-10-01 15:02:58 +03:00
Timofey Solomko d3839a70ad Rename files with compress extensions 2017-09-27 22:02:42 +03:00
Timofey Solomko 401d3cf26b Extract code for BW transformation 2017-09-27 20:04:01 +03:00
Timofey Solomko a28732828f Update xcode project with xcode 9 2017-09-19 23:48:05 +03:00
Timofey Solomko f8d4451c18 Remove recursive procedure for huffman lengths generation 2017-09-17 13:03:59 +03:00
Timofey Solomko e5d2b78781 Add new procedure for huffman code length generation 2017-09-17 13:02:09 +03:00
Timofey Solomko ce1c64ebcd Add some tests for BZip2 compression 2017-09-10 13:10:51 +03:00
Timofey Solomko 34f718e152 Add BZip2 compression implementation 2017-09-10 13:10:36 +03:00
Timofey Solomko 26d7e7e1b4 Add SuffixArray implementation 2017-09-10 13:09:40 +03:00
Timofey Solomko 59237d3790 Add RecursiveHuffmanTree enum
It will be used in HuffmanTree construction in BZip2 compression.
2017-09-03 23:18:49 +03:00
Timofey Solomko a70e557f38 Extract HuffmanLength array creation code into Deflate specific file 2017-09-03 22:46:00 +03:00
Timofey Solomko 97c767abf5 Add HuffmanLength class
This class represents (symbol, codeLength) pairs used in construction of HuffmanTrees. It also includes useful functions for generating HuffmanLengths from other structures.
2017-09-03 13:58:11 +03:00
Timofey Solomko 89dfa410fe Rename file with BZip2 tests for consistency 2017-09-02 19:56:40 +03:00
Timofey Solomko 12da128ddd Change EncodingHuffmanTree API to be more consistent with decoding tree and cleanup usage 2017-08-29 00:10:04 +03:00
Timofey Solomko 2aca494757 Rename HuffmanTree into DecodingHuffmanTree 2017-08-29 00:03:56 +03:00
Timofey Solomko 9827e32bdd Extract code for huffman encoding into separate class 2017-08-29 00:01:03 +03:00
Timofey Solomko 59a0896fa5 Add tests for different 7z compression methods 2017-08-10 16:48:36 +03:00
Timofey Solomko a23b685008 Add tests for several 7z format features 2017-08-06 18:08:14 +03:00
Timofey Solomko 29f99d8f53 Add a lot of tests for containers' corner cases
This includes containers created on Windows, as well as container with only empty file or directory and completely empty containers (which are somewhat hard to create for ZIP or TAR).
Also typo in one 7z test is fixed.
2017-08-03 22:59:34 +03:00
Timofey Solomko 86874b9bee Add some tests for 7z "empty" cases 2017-07-30 22:25:37 +03:00
Timofey Solomko e455ccb5b0 Add xcode project groups for deflate and bzip2 2017-07-29 23:30:34 +03:00
Timofey Solomko b01e3c99d3 Rework 7z tests to also use open function, provide long versions of them and use 7z container with SWCompression source code 2017-07-29 23:28:25 +03:00
Timofey Solomko 363fe78ead Add 7zEntry class and its first iteration 2017-07-29 00:02:17 +03:00
Timofey Solomko 83c2a0d213 Add new EntryInfo struct for 7z and public function for getting them 2017-07-28 19:48:48 +03:00
Timofey Solomko 3b31a51792 Use BitReader everywhere in 7z
It should protect from not updating index in DWP when we switch between DWP and BitReader.
2017-07-28 19:19:11 +03:00
Timofey Solomko 133d2325fc Another iteration of 7zip implementation
Extracted 7zProperty into a separate file; converted all structs to classes (to eliminates cows); replaced switches with ifs to ensure correct order of structures; overall completed implementation of structures (except fileinfo properties and packed header); codec renamed to coder.
2017-07-25 17:35:03 +03:00
Timofey Solomko adf55c3d64 Revert "Extract multiByteDecode for use in 7z"
This reverts commit e390e582b1.
2017-07-25 13:42:20 +03:00
Timofey Solomko 8e88fd3167 Add two more 7z tests 2017-07-25 13:39:42 +03:00
Timofey Solomko f76c2b575a More 7z progress 2017-07-18 23:28:17 +03:00
Timofey Solomko 507db69ddb Add a lot of 7z related files for structures 2017-07-18 21:06:37 +03:00
Timofey Solomko e390e582b1 Extract multiByteDecode for use in 7z 2017-07-18 21:06:22 +03:00
Timofey Solomko b5c0032f38 First steps in 7z development 2017-07-18 18:50:27 +03:00
Timofey Solomko 81ba512994 Remove SWCompression/Common 2017-07-15 21:07:50 +03:00
Timofey Solomko f8a2297f63 Add tests for tars with long names inside 2017-07-15 20:29:30 +03:00
Timofey Solomko 7ba077aab7 Extract some common code for ZIP 2017-07-15 20:03:25 +03:00
Timofey Solomko a9ab327583 Add test of zip file with BZip2 compression 2017-07-09 13:50:44 +03:00
Timofey Solomko eeefa31be0 Rename BitToByteWriter to BitWriter 2017-07-09 13:06:25 +03:00
Timofey Solomko a4cd339fc4 Separated byte and bit reading parts of DWP into distinct class 2017-07-08 22:02:26 +03:00
Timofey Solomko 410ab31473 Split several more classes into separate files 2017-07-08 17:05:25 +03:00
Timofey Solomko e3b21c9d0f Merge branch 'hotfix-3.1.2' into develop 2017-07-08 00:22:32 +03:00
Timofey Solomko 6c323f9add Add tests for various tar formats 2017-07-08 00:08:08 +03:00
Timofey Solomko a10b47f334 Rearrange files in project 2017-07-06 18:46:31 +03:00
Timofey Solomko 39eea7c42a Split code into separate files
Overtime size of source files became unmanageble, so it is better to split them. Also internal zip structure have been renamed to include word zip.
2017-07-06 18:41:30 +03:00
Timofey Solomko da072b0ab1 Added test for zip container with lzma compression. 2017-07-01 23:49:22 +03:00
Timofey Solomko e352c5abd6 Added tests for XZ multi-unarchive. 2017-06-30 23:55:58 +03:00
Timofey Solomko e90a1d244c Added test for gzip multiUnarchive. 2017-06-29 00:13:22 +03:00
Timofey Solomko 2c8966d4ca Now uses single Info.plist file for all platforms. 2017-06-12 16:18:19 +03:00
Timofey Solomko 85acfcc8da Added zip test with file with utf-8 name. 2017-05-27 22:45:37 +03:00