mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Fix up unit tests.
MozReview-Commit-ID: 9eyOhoQ02qX
This commit is contained in:
parent
442211723c
commit
f105d3438d
4 changed files with 246 additions and 300 deletions
|
@ -90,26 +90,23 @@ fn test_parse_stylesheet() {
|
|||
},
|
||||
}))),
|
||||
CssRule::Style(Arc::new(stylesheet.shared_lock.wrap(StyleRule {
|
||||
selectors: SelectorList(vec![
|
||||
Selector::new_for_unit_testing(
|
||||
SelectorInner::from_vec(vec![
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::LocalName(LocalName {
|
||||
name: local_name!("input"),
|
||||
lower_name: local_name!("input"),
|
||||
}),
|
||||
Component::AttributeInNoNamespace {
|
||||
local_name: local_name!("type"),
|
||||
local_name_lower: local_name!("type"),
|
||||
operator: AttrSelectorOperator::Equal,
|
||||
value: "hidden".to_owned(),
|
||||
case_sensitivity: ParsedCaseSensitivity::AsciiCaseInsensitive,
|
||||
never_matches: false,
|
||||
}
|
||||
]),
|
||||
(0 << 20) + (1 << 10) + (1 << 0)
|
||||
),
|
||||
]),
|
||||
selectors: SelectorList::from_vec(vec!(
|
||||
Selector::from_vec(vec!(
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::LocalName(LocalName {
|
||||
name: local_name!("input"),
|
||||
lower_name: local_name!("input"),
|
||||
}),
|
||||
Component::AttributeInNoNamespace {
|
||||
local_name: local_name!("type"),
|
||||
local_name_lower: local_name!("type"),
|
||||
operator: AttrSelectorOperator::Equal,
|
||||
value: "hidden".to_owned(),
|
||||
case_sensitivity: ParsedCaseSensitivity::AsciiCaseInsensitive,
|
||||
never_matches: false,
|
||||
}
|
||||
), (0 << 20) + (1 << 10) + (1 << 0))
|
||||
)),
|
||||
block: Arc::new(stylesheet.shared_lock.wrap(block_from(vec![
|
||||
(PropertyDeclaration::Display(longhands::display::SpecifiedValue::none),
|
||||
Importance::Important),
|
||||
|
@ -123,28 +120,23 @@ fn test_parse_stylesheet() {
|
|||
},
|
||||
}))),
|
||||
CssRule::Style(Arc::new(stylesheet.shared_lock.wrap(StyleRule {
|
||||
selectors: SelectorList(vec![
|
||||
Selector::new_for_unit_testing(
|
||||
SelectorInner::from_vec(vec![
|
||||
selectors: SelectorList::from_vec(vec!(
|
||||
Selector::from_vec(vec!(
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::LocalName(LocalName {
|
||||
name: local_name!("html"),
|
||||
lower_name: local_name!("html"),
|
||||
}),
|
||||
]),
|
||||
(0 << 20) + (0 << 10) + (1 << 0)
|
||||
), (0 << 20) + (0 << 10) + (1 << 0)),
|
||||
Selector::from_vec(vec!(
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::LocalName(LocalName {
|
||||
name: local_name!("body"),
|
||||
lower_name: local_name!("body"),
|
||||
})
|
||||
), (0 << 20) + (0 << 10) + (1 << 0)
|
||||
),
|
||||
Selector::new_for_unit_testing(
|
||||
SelectorInner::from_vec(vec![
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::LocalName(LocalName {
|
||||
name: local_name!("body"),
|
||||
lower_name: local_name!("body"),
|
||||
}),
|
||||
]),
|
||||
(0 << 20) + (0 << 10) + (1 << 0)
|
||||
),
|
||||
]),
|
||||
)),
|
||||
block: Arc::new(stylesheet.shared_lock.wrap(block_from(vec![
|
||||
(PropertyDeclaration::Display(longhands::display::SpecifiedValue::block),
|
||||
Importance::Normal),
|
||||
|
@ -155,18 +147,15 @@ fn test_parse_stylesheet() {
|
|||
},
|
||||
}))),
|
||||
CssRule::Style(Arc::new(stylesheet.shared_lock.wrap(StyleRule {
|
||||
selectors: SelectorList(vec![
|
||||
Selector::new_for_unit_testing(
|
||||
SelectorInner::from_vec(vec![
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::ID(Atom::from("d1")),
|
||||
Component::Combinator(Combinator::Child),
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::Class(Atom::from("ok")),
|
||||
]),
|
||||
(1 << 20) + (1 << 10) + (0 << 0)
|
||||
),
|
||||
]),
|
||||
selectors: SelectorList::from_vec(vec!(
|
||||
Selector::from_vec(vec!(
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::ID(Atom::from("d1")),
|
||||
Component::Combinator(Combinator::Child),
|
||||
Component::DefaultNamespace(NsAtom::from("http://www.w3.org/1999/xhtml")),
|
||||
Component::Class(Atom::from("ok"))
|
||||
), (1 << 20) + (1 << 10) + (0 << 0))
|
||||
)),
|
||||
block: Arc::new(stylesheet.shared_lock.wrap(block_from(vec![
|
||||
(PropertyDeclaration::BackgroundColor(
|
||||
longhands::background_color::SpecifiedValue {
|
||||
|
|
|
@ -45,7 +45,7 @@ fn get_mock_rules(css_selectors: &[&str]) -> (Vec<Vec<Rule>>, SharedRwLock) {
|
|||
let guard = shared_lock.read();
|
||||
let rule = locked.read_with(&guard);
|
||||
rule.selectors.0.iter().map(|s| {
|
||||
Rule::new(s.clone(), locked.clone(), i)
|
||||
Rule::new(s.selector.clone(), s.hashes.clone(), locked.clone(), i)
|
||||
}).collect()
|
||||
}).collect(), shared_lock)
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ fn parse_selectors(selectors: &[&str]) -> Vec<Selector<SelectorImpl>> {
|
|||
.map(|x| SelectorParser::parse_author_origin_no_namespace(x).unwrap().0
|
||||
.into_iter()
|
||||
.nth(0)
|
||||
.unwrap())
|
||||
.unwrap().selector)
|
||||
.collect()
|
||||
}
|
||||
|
||||
|
@ -126,7 +126,6 @@ fn test_revalidation_selectors() {
|
|||
"p:first-child span",
|
||||
]).into_iter()
|
||||
.filter(|s| needs_revalidation(&s))
|
||||
.map(|s| s.inner.complex)
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let reference = parse_selectors(&[
|
||||
|
@ -167,7 +166,6 @@ fn test_revalidation_selectors() {
|
|||
// Selectors in the ancestor chain (needed for cousin sharing).
|
||||
"p:first-child span",
|
||||
]).into_iter()
|
||||
.map(|s| s.inner.complex)
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
assert_eq!(test.len(), reference.len());
|
||||
|
@ -189,22 +187,22 @@ fn test_rule_ordering_same_specificity() {
|
|||
#[test]
|
||||
fn test_get_id_name() {
|
||||
let (rules_list, _) = get_mock_rules(&[".intro", "#top"]);
|
||||
assert_eq!(selector_map::get_id_name(&rules_list[0][0].selector.inner), None);
|
||||
assert_eq!(selector_map::get_id_name(&rules_list[1][0].selector.inner), Some(Atom::from("top")));
|
||||
assert_eq!(selector_map::get_id_name(rules_list[0][0].selector.iter()), None);
|
||||
assert_eq!(selector_map::get_id_name(rules_list[1][0].selector.iter()), Some(Atom::from("top")));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_get_class_name() {
|
||||
let (rules_list, _) = get_mock_rules(&[".intro.foo", "#top"]);
|
||||
assert_eq!(selector_map::get_class_name(&rules_list[0][0].selector.inner), Some(Atom::from("foo")));
|
||||
assert_eq!(selector_map::get_class_name(&rules_list[1][0].selector.inner), None);
|
||||
assert_eq!(selector_map::get_class_name(rules_list[0][0].selector.iter()), Some(Atom::from("foo")));
|
||||
assert_eq!(selector_map::get_class_name(rules_list[1][0].selector.iter()), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_get_local_name() {
|
||||
let (rules_list, _) = get_mock_rules(&["img.foo", "#top", "IMG", "ImG"]);
|
||||
let check = |i: usize, names: Option<(&str, &str)>| {
|
||||
assert!(selector_map::get_local_name(&rules_list[i][0].selector.inner)
|
||||
assert!(selector_map::get_local_name(rules_list[i][0].selector.iter())
|
||||
== names.map(|(name, lower_name)| LocalNameSelector {
|
||||
name: LocalName::from(name),
|
||||
lower_name: LocalName::from(lower_name) }))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue