diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/lib-vec-str-conversions.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/run-pass/lib-vec-str-conversions.rs b/src/test/run-pass/lib-vec-str-conversions.rs new file mode 100644 index 00000000..1d6b61a1 --- /dev/null +++ b/src/test/run-pass/lib-vec-str-conversions.rs @@ -0,0 +1,41 @@ +// -*- rust -*- + +use std; +import std._str; +import std._vec; + +fn test_simple() { + let str s1 = "All mimsy were the borogoves"; + + /* + * FIXME from_bytes(vec[u8] v) has constraint is_utf(v), which is + * unimplemented and thereby just fails. This doesn't stop us from + * using from_bytes for now since the constraint system isn't fully + * working, but we should implement is_utf8 before that happens. + */ + + let vec[u8] v = _str.bytes(s1); + let str s2 = _str.from_bytes(v); + + let uint i = 0u; + let uint n1 = _str.byte_len(s1); + let uint n2 = _vec.len[u8](v); + + check (n1 == n2); + + while (i < n1) { + let u8 a = s1.(i); + let u8 b = s2.(i); + log a; + log b; + check (a == b); + i += 1u; + } + + log "refcnt is"; + log _str.refcount(s1); +} + +fn main() { + test_simple(); +} |