From 29729818f0c201d703fd6f3efbea9df9ecddf8f4 Mon Sep 17 00:00:00 2001 From: Son Date: Sun, 9 Feb 2020 11:18:18 +1100 Subject: [PATCH 1/4] Empty test to start with cat --- src/cat/cat.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/cat/cat.rs b/src/cat/cat.rs index f3ea3676b..22a494bef 100755 --- a/src/cat/cat.rs +++ b/src/cat/cat.rs @@ -467,3 +467,16 @@ fn write_nonprint_to_end(in_buf: &[u8], writer: &mut W, tab: &[u8]) -> 0 } } + +mod tests { + use std::io::{BufWriter, stdout}; + + #[test] + fn test_write_nonprint_to_end() { + let mut writer = BufWriter::with_capacity(1024 * 64, stdout()); + let in_buf = [b'\n']; + let tab: [u8; 0] = []; + super::write_nonprint_to_end(&in_buf, &mut writer, &tab); + assert_eq!(tab.len(), 0); + } +} From 76ff2f54801dcf6a3d2d5884e826c969ee719aac Mon Sep 17 00:00:00 2001 From: Son Date: Sun, 9 Feb 2020 13:26:51 +1100 Subject: [PATCH 2/4] Test new line --- src/cat/cat.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cat/cat.rs b/src/cat/cat.rs index 22a494bef..067e8e005 100755 --- a/src/cat/cat.rs +++ b/src/cat/cat.rs @@ -472,11 +472,11 @@ mod tests { use std::io::{BufWriter, stdout}; #[test] - fn test_write_nonprint_to_end() { + fn test_write_nonprint_to_end_new_line() { let mut writer = BufWriter::with_capacity(1024 * 64, stdout()); let in_buf = [b'\n']; let tab: [u8; 0] = []; super::write_nonprint_to_end(&in_buf, &mut writer, &tab); - assert_eq!(tab.len(), 0); + assert_eq!(writer.buffer().len(), 0); } } From 7c9cc92163a160199855550d0c18e4e63ddf196c Mon Sep 17 00:00:00 2001 From: Son Date: Sun, 9 Feb 2020 13:41:12 +1100 Subject: [PATCH 3/4] Test write tab --- src/cat/cat.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cat/cat.rs b/src/cat/cat.rs index 067e8e005..57518ed6d 100755 --- a/src/cat/cat.rs +++ b/src/cat/cat.rs @@ -474,9 +474,18 @@ mod tests { #[test] fn test_write_nonprint_to_end_new_line() { let mut writer = BufWriter::with_capacity(1024 * 64, stdout()); - let in_buf = [b'\n']; + let in_buf = *b"\n"; let tab: [u8; 0] = []; 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); + } } From a573a24d28a8d4c958e79c350e1f15111e22e825 Mon Sep 17 00:00:00 2001 From: Son Date: Sun, 9 Feb 2020 14:18:21 +1100 Subject: [PATCH 4/4] Add test 0 to 8 and 10 to 31 --- src/cat/cat.rs | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/src/cat/cat.rs b/src/cat/cat.rs index 57518ed6d..22f22aa50 100755 --- a/src/cat/cat.rs +++ b/src/cat/cat.rs @@ -474,18 +474,40 @@ mod tests { #[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: [u8; 0] = []; - super::write_nonprint_to_end(&in_buf, &mut writer, &tab); + 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 in_buf = &[9u8]; let tab = b"tab"; - super::write_nonprint_to_end(&in_buf, &mut writer, 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]); + } + } }