Add methods to move ByteStrings underlying bytes

Add methods to move the underlying Vec<u8> for ByteString.
This commit is contained in:
Daniel Robertson 2016-02-17 19:45:35 +00:00
parent 184c7dbd47
commit d23774d3d7
4 changed files with 32 additions and 1 deletions

View file

@ -0,0 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use script::dom::bindings::str::ByteString;
#[test]
fn test_byte_string_move() {
let mut byte_str = ByteString::new(vec![0x73, 0x65, 0x72, 0x76, 0x6f]);
let mut byte_vec = byte_str.bytes();
assert_eq!(byte_vec, "servo".as_bytes());
assert_eq!(*byte_str, []);
byte_vec = byte_str.into();
assert_eq!(byte_vec, Vec::new());
}

View file

@ -9,5 +9,6 @@ extern crate util;
#[cfg(all(test, target_pointer_width = "64"))] mod size_of;
#[cfg(test)] mod textinput;
#[cfg(test)] mod dom {
mod bindings;
mod blob;
}