From a2377ccf91158ce5c9da2e5d0cc1f56fa562b2fe Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 28 Oct 2011 22:42:38 -0700 Subject: stdlib: Add vec::init. Returns all but the last element. Per haskell, to go with head/tail, and last. --- src/test/stdtest/vec.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/test/stdtest') diff --git a/src/test/stdtest/vec.rs b/src/test/stdtest/vec.rs index 453c9f8e414..5f644c450b6 100644 --- a/src/test/stdtest/vec.rs +++ b/src/test/stdtest/vec.rs @@ -5,6 +5,7 @@ import std::vec::*; import std::option; import std::option::none; import std::option::some; +import std::task; fn square(n: uint) -> uint { ret n * n; } @@ -443,6 +444,31 @@ fn reversed_mut() { assert (v2[1] == 10); } +#[test] +fn init() { + let v = vec::init([1, 2, 3]); + assert v == [1, 2]; +} + +#[cfg(target_os = "linux")] +#[cfg(target_os = "mac")] +#[test] +fn init_empty() { + + let r = task::join( + task::spawn_joinable((), fn (&&_i: ()) { + task::unsupervise(); + vec::init::([]); + })); + assert r == task::tr_failure +} + +// FIXME: Windows can't undwind +#[cfg(target_os = "win32")] +#[test] +#[ignore] +fn init_empty() { } + // Local Variables: // mode: rust; // fill-column: 78; -- cgit 1.4.1-3-g733a5