fixup! Use iterators for iterating through CSS rules

Update the media queries unit tests to use iterators
This commit is contained in:
James Gilbertson 2015-04-10 16:36:44 -06:00
parent 85dcc2deaf
commit f9b5de75f2

View file

@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use geom::size::TypedSize2D; use geom::size::TypedSize2D;
use style::stylesheets::{iter_stylesheet_media_rules, iter_stylesheet_style_rules, Stylesheet}; use style::stylesheets::{Stylesheet, CSSRuleIteratorExt};
use style::stylesheets::Origin; use style::stylesheets::Origin;
use style::media_queries::*; use style::media_queries::*;
use style::values::specified; use style::values::specified;
@ -16,18 +16,17 @@ fn test_media_rule<F>(css: &str, callback: F) where F: Fn(&MediaQueryList, &str)
let url = Url::parse("http://localhost").unwrap(); let url = Url::parse("http://localhost").unwrap();
let stylesheet = Stylesheet::from_str(css, url, Origin::Author); let stylesheet = Stylesheet::from_str(css, url, Origin::Author);
let mut rule_count = 0; let mut rule_count = 0;
iter_stylesheet_media_rules(&stylesheet, |rule| { for rule in stylesheet.rules().media() {
rule_count += 1; rule_count += 1;
callback(&rule.media_queries, css); callback(&rule.media_queries, css);
}); }
assert!(rule_count > 0); assert!(rule_count > 0);
} }
fn media_query_test(device: &Device, css: &str, expected_rule_count: u32) { fn media_query_test(device: &Device, css: &str, expected_rule_count: usize) {
let url = Url::parse("http://localhost").unwrap(); let url = Url::parse("http://localhost").unwrap();
let ss = Stylesheet::from_str(css, url, Origin::Author); let ss = Stylesheet::from_str(css, url, Origin::Author);
let mut rule_count: u32 = 0; let rule_count = ss.effective_rules(device).style().count();
iter_stylesheet_style_rules(&ss, device, |_| rule_count += 1);
assert!(rule_count == expected_rule_count, css.to_owned()); assert!(rule_count == expected_rule_count, css.to_owned());
} }