From 98a1cac4ef4cb766c64fb476fabf7d162dd30361 Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 6 Feb 2020 17:50:33 -0600 Subject: [PATCH] Add tests to cover SEEK_CUR and SEEK_END --- tests/run-pass/fs.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/run-pass/fs.rs b/tests/run-pass/fs.rs index 4da67369aef8..73e6f37453fa 100644 --- a/tests/run-pass/fs.rs +++ b/tests/run-pass/fs.rs @@ -45,6 +45,17 @@ fn main() { let mut contents = Vec::new(); file.read_to_end(&mut contents).unwrap(); assert_eq!(bytes, contents.as_slice()); + // Test seeking relative to the end of the file. + file.seek(SeekFrom::End(-1)).unwrap(); + let mut contents = Vec::new(); + file.read_to_end(&mut contents).unwrap(); + assert_eq!(&bytes[bytes.len() - 1..], contents.as_slice()); + // Test seeking relative to the current position. + file.seek(SeekFrom::Start(5)).unwrap(); + file.seek(SeekFrom::Current(-3)).unwrap(); + let mut contents = Vec::new(); + file.read_to_end(&mut contents).unwrap(); + assert_eq!(&bytes[2..], contents.as_slice()); // Test that metadata of an absolute path is correct. test_metadata(bytes, &path).unwrap();