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