From 85bcf75da1a09fe52ce851ff8a288f0a819900d3 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 20 May 2011 20:47:14 -0400 Subject: [PATCH] stdlib: Add regression test for fs::connect and a FIXME --- src/lib/fs.rs | 1 + src/test/run-pass/lib-fs.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/test/run-pass/lib-fs.rs diff --git a/src/lib/fs.rs b/src/lib/fs.rs index 51c1ff9cdde5..79538e79ff80 100644 --- a/src/lib/fs.rs +++ b/src/lib/fs.rs @@ -19,6 +19,7 @@ fn dirname(path p) -> path { ret str::substr(p, 0u, i as uint); } +// FIXME: Need some typestate to avoid bounds check when len(pre) == 0 fn connect(path pre, path post) -> path { auto len = str::byte_len(pre); if (pre.(len - 1u) == (os_fs::path_sep as u8)) { // Trailing '/'? diff --git a/src/test/run-pass/lib-fs.rs b/src/test/run-pass/lib-fs.rs new file mode 100644 index 000000000000..45029765ad90 --- /dev/null +++ b/src/test/run-pass/lib-fs.rs @@ -0,0 +1,15 @@ +use std; + +import std::fs; + +fn test_connect() { + auto slash = fs::path_sep(); + assert (fs::connect("a", "b") + == "a" + slash + "b"); + assert (fs::connect("a" + slash, "b") + == "a" + slash + "b"); +} + +fn main() { + test_connect(); +}