[PR #1005] [MERGED] Refactor SqueezeStream for CLS Compliance, Streaming, and Generic Test Coverage #1424

Closed
opened 2026-01-29 22:20:29 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/adamhathcock/sharpcompress/pull/1005
Author: @TwanVanDongen
Created: 11/2/2025
Status: Merged
Merged: 11/4/2025
Merged by: @adamhathcock

Base: masterHead: master


📝 Commits (6)

  • 84cd772 Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression.
  • dd606a0 CSharpier...Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression.
  • 130ac83 Revert "CSharpier...Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression."
  • 2ef1215 Merge branch 'master' of https://github.com/TwanVanDongen/sharpcompress
  • 3a71a2b Ran CSharpier.
  • 59c1f02 Still difficult to run CSharpier...

📊 Changes

4 files changed (+124 additions, -115 deletions)

View changed files

📝 src/SharpCompress/Compressors/RLE90/RunLength90Stream.cs (+87 -32)
📝 src/SharpCompress/Compressors/Squeezed/SqueezedStream.cs (+34 -53)
📝 src/SharpCompress/Readers/Arc/ArcReader.cs (+1 -1)
📝 tests/SharpCompress.Test/Arc/ArcReaderTests.cs (+2 -29)

📄 Description

refactors the SqueezeStream class to improve compatibility, performance, and testability. It introduces CLS compliance, stream-based decoding, and replaces custom test methods with generic test logic for maintainability.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/adamhathcock/sharpcompress/pull/1005 **Author:** [@TwanVanDongen](https://github.com/TwanVanDongen) **Created:** 11/2/2025 **Status:** ✅ Merged **Merged:** 11/4/2025 **Merged by:** [@adamhathcock](https://github.com/adamhathcock) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (6) - [`84cd772`](https://github.com/adamhathcock/sharpcompress/commit/84cd772f506d19a23af705c1269d167b9710e8a7) Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression. - [`dd606a0`](https://github.com/adamhathcock/sharpcompress/commit/dd606a070218d56d6faf816a2f1bb01653094f94) CSharpier...Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression. - [`130ac83`](https://github.com/adamhathcock/sharpcompress/commit/130ac83076b7a07ccdd4975271c80ab0ac25144f) Revert "CSharpier...Refactors the SqueezeStream class to ensure full CLS compliance and proper stream behavior. It replaces the previous one-shot decoding logic with a true streaming implementation by piping Huffman-decoded output into the existing RunLength90Stream, enabling real-time decompression." - [`2ef1215`](https://github.com/adamhathcock/sharpcompress/commit/2ef1215b4930f81370f1d7da5f218753f0fc209f) Merge branch 'master' of https://github.com/TwanVanDongen/sharpcompress - [`3a71a2b`](https://github.com/adamhathcock/sharpcompress/commit/3a71a2b1f8af90a439794f32ee2657db5cf25804) Ran CSharpier. - [`59c1f02`](https://github.com/adamhathcock/sharpcompress/commit/59c1f02f980c112edbae58022ac1b9980da1a946) Still difficult to run CSharpier... ### 📊 Changes **4 files changed** (+124 additions, -115 deletions) <details> <summary>View changed files</summary> 📝 `src/SharpCompress/Compressors/RLE90/RunLength90Stream.cs` (+87 -32) 📝 `src/SharpCompress/Compressors/Squeezed/SqueezedStream.cs` (+34 -53) 📝 `src/SharpCompress/Readers/Arc/ArcReader.cs` (+1 -1) 📝 `tests/SharpCompress.Test/Arc/ArcReaderTests.cs` (+2 -29) </details> ### 📄 Description refactors the SqueezeStream class to improve compatibility, performance, and testability. It introduces CLS compliance, stream-based decoding, and replaces custom test methods with generic test logic for maintainability. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 22:20:29 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1424