Move selector matching tests and testing helpers into a #[cfg(test)] module.

This commit is contained in:
Simon Sapin 2014-01-08 13:50:23 +00:00
parent 146029bc06
commit 1d6f94fd96

View file

@ -710,9 +710,11 @@ fn match_attribute<E:TElement,
} }
/// Helper method to get some Rules from selector strings. #[cfg(test)]
/// Each sublist of the result contains the Rules for one StyleRule. mod tests {
fn get_mock_rules(css_selectors: &[&str]) -> ~[~[Rule]] { /// Helper method to get some Rules from selector strings.
/// Each sublist of the result contains the Rules for one StyleRule.
fn get_mock_rules(css_selectors: &[&str]) -> ~[~[Rule]] {
use namespaces::NamespaceMap; use namespaces::NamespaceMap;
use selectors::parse_selector_list; use selectors::parse_selector_list;
use cssparser::tokenize; use cssparser::tokenize;
@ -729,41 +731,41 @@ fn get_mock_rules(css_selectors: &[&str]) -> ~[~[Rule]] {
} }
}).to_owned_vec() }).to_owned_vec()
}).to_owned_vec() }).to_owned_vec()
} }
#[test] #[test]
fn test_rule_ordering_same_specificity(){ fn test_rule_ordering_same_specificity(){
let rules_list = get_mock_rules(["a.intro", "img.sidebar"]); let rules_list = get_mock_rules(["a.intro", "img.sidebar"]);
let rule1 = rules_list[0][0].clone(); let rule1 = rules_list[0][0].clone();
let rule2 = rules_list[1][0].clone(); let rule2 = rules_list[1][0].clone();
assert!(rule1 < rule2, "The rule that comes later should win."); assert!(rule1 < rule2, "The rule that comes later should win.");
} }
#[test] #[test]
fn test_get_id_name(){ fn test_get_id_name(){
let rules_list = get_mock_rules([".intro", "#top"]); let rules_list = get_mock_rules([".intro", "#top"]);
assert_eq!(SelectorMap::get_id_name(&rules_list[0][0]), None); assert_eq!(SelectorMap::get_id_name(&rules_list[0][0]), None);
assert_eq!(SelectorMap::get_id_name(&rules_list[1][0]), Some(~"top")); assert_eq!(SelectorMap::get_id_name(&rules_list[1][0]), Some(~"top"));
} }
#[test] #[test]
fn test_get_class_name(){ fn test_get_class_name(){
let rules_list = get_mock_rules([".intro.foo", "#top"]); let rules_list = get_mock_rules([".intro.foo", "#top"]);
assert_eq!(SelectorMap::get_class_name(&rules_list[0][0]), Some(~"intro")); assert_eq!(SelectorMap::get_class_name(&rules_list[0][0]), Some(~"intro"));
assert_eq!(SelectorMap::get_class_name(&rules_list[1][0]), None); assert_eq!(SelectorMap::get_class_name(&rules_list[1][0]), None);
} }
#[test] #[test]
fn test_get_element_name(){ fn test_get_element_name(){
let rules_list = get_mock_rules(["img.foo", "#top", "IMG", "ImG"]); let rules_list = get_mock_rules(["img.foo", "#top", "IMG", "ImG"]);
assert_eq!(SelectorMap::get_element_name(&rules_list[0][0]), Some(~"img")); assert_eq!(SelectorMap::get_element_name(&rules_list[0][0]), Some(~"img"));
assert_eq!(SelectorMap::get_element_name(&rules_list[1][0]), None); assert_eq!(SelectorMap::get_element_name(&rules_list[1][0]), None);
assert_eq!(SelectorMap::get_element_name(&rules_list[2][0]), Some(~"img")); assert_eq!(SelectorMap::get_element_name(&rules_list[2][0]), Some(~"img"));
assert_eq!(SelectorMap::get_element_name(&rules_list[3][0]), Some(~"img")); assert_eq!(SelectorMap::get_element_name(&rules_list[3][0]), Some(~"img"));
} }
#[test] #[test]
fn test_insert(){ fn test_insert(){
let rules_list = get_mock_rules([".intro.foo", "#top"]); let rules_list = get_mock_rules([".intro.foo", "#top"]);
let mut selector_map = SelectorMap::new(); let mut selector_map = SelectorMap::new();
selector_map.insert(rules_list[1][0].clone()); selector_map.insert(rules_list[1][0].clone());
@ -771,5 +773,5 @@ fn test_insert(){
selector_map.insert(rules_list[0][0].clone()); selector_map.insert(rules_list[0][0].clone());
assert_eq!(0, selector_map.class_hash.find(&~"intro").unwrap()[0].index); assert_eq!(0, selector_map.class_hash.find(&~"intro").unwrap()[0].index);
assert!(selector_map.class_hash.find(&~"foo").is_none()); assert!(selector_map.class_hash.find(&~"foo").is_none());
}
} }