Skip to content

Commit df2e2ce

Browse files
committed
refactor: move lz77 deflate integration tests to libflate crate
1 parent 76d16fe commit df2e2ce

4 files changed

Lines changed: 33 additions & 19 deletions

File tree

‎libflate_lz77/Cargo.toml‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ rle-decode-fast = "1.0.0"
1515
no_std_io2 = { version = "0.9", default-features = false, features = ["alloc"] }
1616
hashbrown = { version = "0.16" }
1717

18-
[dev-dependencies]
19-
libflate = { path = "../", version = "2.3", default-features = false }
20-
2118
[features]
2219
default = ["std"]
23-
std = ["no_std_io2/std", "libflate/std"]
20+
std = ["no_std_io2/std"]

‎libflate_lz77/src/default.rs‎

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,10 @@ impl DefaultLz77Encoder {
2222
///
2323
/// # Examples
2424
/// ```
25-
/// use libflate::deflate;
26-
/// use libflate::lz77::{self, Lz77Encode, DefaultLz77Encoder};
25+
/// use libflate_lz77::{self as lz77, DefaultLz77Encoder, Lz77Encode};
2726
///
2827
/// let lz77 = DefaultLz77Encoder::new();
2928
/// assert_eq!(lz77.window_size(), lz77::MAX_WINDOW_SIZE);
30-
///
31-
/// let options = deflate::EncodeOptions::with_lz77(lz77);
32-
/// let _deflate = deflate::Encoder::with_options(Vec::new(), options);
3329
/// ```
3430
pub fn new() -> Self {
3531
DefaultLz77EncoderBuilder::new().build()
@@ -42,14 +38,10 @@ impl DefaultLz77Encoder {
4238
///
4339
/// # Examples
4440
/// ```
45-
/// use libflate::deflate;
46-
/// use libflate::lz77::{self, Lz77Encode, DefaultLz77Encoder};
41+
/// use libflate_lz77::{self as lz77, DefaultLz77Encoder, Lz77Encode};
4742
///
4843
/// let lz77 = DefaultLz77Encoder::with_window_size(1024);
4944
/// assert_eq!(lz77.window_size(), 1024);
50-
///
51-
/// let options = deflate::EncodeOptions::with_lz77(lz77);
52-
/// let _deflate = deflate::Encoder::with_options(Vec::new(), options);
5345
/// ```
5446
pub fn with_window_size(size: u16) -> Self {
5547
DefaultLz77EncoderBuilder::new()

‎libflate_lz77/src/lib.rs‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,11 @@ impl NoCompressionLz77Encoder {
114114
///
115115
/// # Examples
116116
/// ```
117-
/// use libflate::deflate;
118-
/// use libflate::lz77::{Lz77Encode, NoCompressionLz77Encoder, CompressionLevel};
117+
/// use libflate_lz77::{CompressionLevel, Lz77Encode, NoCompressionLz77Encoder};
119118
///
120119
/// let lz77 = NoCompressionLz77Encoder::new();
121120
/// assert_eq!(lz77.compression_level(), CompressionLevel::None);
122-
///
123-
/// let options = deflate::EncodeOptions::with_lz77(lz77);
124-
/// let _deflate = deflate::Encoder::with_options(Vec::new(), options);
121+
/// assert_eq!(lz77.window_size(), libflate_lz77::MAX_WINDOW_SIZE);
125122
/// ```
126123
pub fn new() -> Self {
127124
NoCompressionLz77Encoder

‎src/lz77.rs‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ pub use libflate_lz77::*;
66
#[cfg(test)]
77
mod tests {
88
use super::*;
9+
use crate::deflate;
910
use crate::deflate::symbol::Symbol;
1011
use alloc::{vec, vec::Vec};
12+
use no_std_io2::io::{Read as _, Write as _};
1113

1214
#[test]
1315
// See: https://github.com/sile/libflate/issues/21
@@ -27,4 +29,30 @@ mod tests {
2729
]
2830
);
2931
}
32+
33+
#[test]
34+
fn no_compression_encoder_works_with_deflate() {
35+
let options = deflate::EncodeOptions::with_lz77(NoCompressionLz77Encoder::new());
36+
let mut encoder = deflate::Encoder::with_options(Vec::new(), options);
37+
encoder.write_all(b"hello world").unwrap();
38+
let encoded = encoder.finish().into_result().unwrap();
39+
40+
let mut decoder = deflate::Decoder::new(&encoded[..]);
41+
let mut decoded = Vec::new();
42+
decoder.read_to_end(&mut decoded).unwrap();
43+
assert_eq!(decoded, b"hello world");
44+
}
45+
46+
#[test]
47+
fn default_encoder_works_with_deflate() {
48+
let options = deflate::EncodeOptions::with_lz77(DefaultLz77Encoder::new());
49+
let mut encoder = deflate::Encoder::with_options(Vec::new(), options);
50+
encoder.write_all(b"hello hello hello").unwrap();
51+
let encoded = encoder.finish().into_result().unwrap();
52+
53+
let mut decoder = deflate::Decoder::new(&encoded[..]);
54+
let mut decoded = Vec::new();
55+
decoder.read_to_end(&mut decoded).unwrap();
56+
assert_eq!(decoded, b"hello hello hello");
57+
}
3058
}

0 commit comments

Comments
 (0)