mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 11:07:44 +00:00
Merge branch 'phungleson-fix-cat'
This commit is contained in:
commit
b1d06a9b58
1 changed files with 44 additions and 0 deletions
|
@ -462,3 +462,47 @@ fn write_nonprint_to_end<W: Write>(in_buf: &[u8], writer: &mut W, tab: &[u8]) ->
|
|||
0
|
||||
}
|
||||
}
|
||||
|
||||
mod tests {
|
||||
use std::io::{BufWriter, stdout};
|
||||
|
||||
#[test]
|
||||
fn test_write_nonprint_to_end_new_line() {
|
||||
let mut writer = BufWriter::with_capacity(1024 * 64, stdout());
|
||||
let in_buf = b"\n";
|
||||
let tab = b"";
|
||||
super::write_nonprint_to_end(in_buf, &mut writer, tab);
|
||||
assert_eq!(writer.buffer().len(), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_nonprint_to_end_9() {
|
||||
let mut writer = BufWriter::with_capacity(1024 * 64, stdout());
|
||||
let in_buf = &[9u8];
|
||||
let tab = b"tab";
|
||||
super::write_nonprint_to_end(in_buf, &mut writer, tab);
|
||||
assert_eq!(writer.buffer(), tab);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_nonprint_to_end_0_to_8() {
|
||||
for byte in 0u8..=8u8 {
|
||||
let mut writer = BufWriter::with_capacity(1024 * 64, stdout());
|
||||
let in_buf = &[byte];
|
||||
let tab = b"";
|
||||
super::write_nonprint_to_end(in_buf, &mut writer, tab);
|
||||
assert_eq!(writer.buffer(), [b'^', byte + 64]);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_nonprint_to_end_10_to_31() {
|
||||
for byte in 11u8..=31u8 {
|
||||
let mut writer = BufWriter::with_capacity(1024 * 64, stdout());
|
||||
let in_buf = &[byte];
|
||||
let tab = b"";
|
||||
super::write_nonprint_to_end(in_buf, &mut writer, tab);
|
||||
assert_eq!(writer.buffer(), [b'^', byte + 64]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue