servo/tests/unit/util/str.rs
Corey Farwell 5efbf0fa8f Move util::str::parse_length into 'style' component.
The function is only used in the 'style' component, so we'll move it
there alongside other relevant parse functions.
2016-03-24 10:45:33 -04:00

47 lines
1.3 KiB
Rust

/* 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 util::str::{search_index, split_html_space_chars, str_join};
#[test]
pub fn split_html_space_chars_whitespace() {
assert!(split_html_space_chars("").collect::<Vec<_>>().is_empty());
assert!(split_html_space_chars("\u{0020}\u{0009}\u{000a}\u{000c}\u{000d}").collect::<Vec<_>>().is_empty());
}
#[test]
pub fn test_str_join_empty() {
let slice = [] as [&str; 0];
let actual = str_join(&slice, "-");
let expected = "";
assert_eq!(actual, expected);
}
#[test]
pub fn test_str_join_one() {
let slice = ["alpha"];
let actual = str_join(&slice, "-");
let expected = "alpha";
assert_eq!(actual, expected);
}
#[test]
pub fn test_str_join_many() {
let slice = ["", "alpha", "", "beta", "gamma", ""];
let actual = str_join(&slice, "-");
let expected = "-alpha--beta-gamma-";
assert_eq!(actual, expected);
}
#[test]
pub fn test_search_index() {
let tuples = [("", 1, 0),
("foo", 8, 3),
("føo", 8, 3),
("foo", 2, 2),
("føo", 2, 3)];
for t in tuples.iter() {
assert_eq!(search_index(t.1, t.0.char_indices()), t.2);
};
}