Add newline after encoding

This commit is contained in:
Nathan Fisher 2025-01-11 00:14:24 -05:00
parent c5e302c9b0
commit 903d516af8
2 changed files with 11 additions and 4 deletions

View File

@ -30,7 +30,7 @@ use {
fn main() { fn main() {
let mut encoder = Encoder::new("Hello, World!".as_bytes(), vec![], None, Some(76)); let mut encoder = Encoder::new("Hello, World!".as_bytes(), vec![], None, Some(76));
encoder.encode().unwrap(); encoder.encode().unwrap();
assert_eq!(encoder.output(), b"SGVsbG8sIFdvcmxkIQ=="); assert_eq!(encoder.output(), b"SGVsbG8sIFdvcmxkIQ==\n");
} }
``` ```

View File

@ -15,7 +15,7 @@ use {
/// # fn main() { /// # fn main() {
/// let mut encoder = Encoder::new("Hello, World!".as_bytes(), vec![], None, Some(76)); /// let mut encoder = Encoder::new("Hello, World!".as_bytes(), vec![], None, Some(76));
/// encoder.encode().unwrap(); /// encoder.encode().unwrap();
/// assert_eq!(encoder.output(), b"SGVsbG8sIFdvcmxkIQ=="); /// assert_eq!(encoder.output(), b"SGVsbG8sIFdvcmxkIQ==\n");
/// # } /// # }
/// ``` /// ```
pub struct Encoder<R: Read, W: Write> { pub struct Encoder<R: Read, W: Write> {
@ -93,6 +93,13 @@ impl<R: Read, W: Write> Encoder<R, W> {
self.writer.write_all(&obuf)?; self.writer.write_all(&obuf)?;
} }
if outlen < 4 { if outlen < 4 {
if let Some(wrap) = self.wrap {
if total % wrap != 0 {
writeln!(self.writer)?;
}
} else {
writeln!(self.writer)?;
}
break; break;
} }
} }
@ -121,10 +128,10 @@ mod tests {
wrap: None, wrap: None,
}; };
encoder.encode().unwrap(); encoder.encode().unwrap();
assert_eq!(encoder.writer, b"SGVsbG8sIFdvcmxkIQ=="); assert_eq!(encoder.writer, b"SGVsbG8sIFdvcmxkIQ==\n");
encoder = Encoder::new("Hello, World!\n".as_bytes(), vec![], None, None); encoder = Encoder::new("Hello, World!\n".as_bytes(), vec![], None, None);
encoder.encode().unwrap(); encoder.encode().unwrap();
assert_eq!(encoder.writer, b"SGVsbG8sIFdvcmxkIQo="); assert_eq!(encoder.writer, b"SGVsbG8sIFdvcmxkIQo=\n");
} }
#[test] #[test]