auto merge of #5154 : luniv/servo/viewpoint-percent-lengths, r=SimonSapin

Spec: http://dev.w3.org/csswg/css-values-3/#viewport-relative-lengths
This commit is contained in:
bors-servo 2015-03-05 18:55:02 -07:00
commit a557b51c28
7 changed files with 254 additions and 117 deletions

View file

@ -136,6 +136,7 @@ struct Reftest {
is_flaky: bool,
experimental: bool,
fragment_identifier: Option<String>,
resolution: Option<String>,
}
struct TestLine<'a> {
@ -195,6 +196,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
let mut flakiness = RenderMode::empty();
let mut experimental = false;
let mut fragment_identifier = None;
let mut resolution = None;
for condition in conditions_list {
match condition {
"flaky_cpu" => flakiness.insert(CPU_RENDERING),
@ -207,6 +209,9 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
if condition.starts_with("fragment=") {
fragment_identifier = Some(condition.slice_from("fragment=".len()).to_string());
}
if condition.starts_with("resolution=") {
resolution = Some(condition.slice_from("resolution=".len()).to_string());
}
}
let reftest = Reftest {
@ -219,6 +224,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
is_flaky: render_mode.intersects(flakiness),
experimental: experimental,
fragment_identifier: fragment_identifier,
resolution: resolution,
};
tests.push(make_test(reftest));
@ -265,6 +271,10 @@ fn capture(reftest: &Reftest, side: usize) -> (u32, u32, Vec<u8>) {
if reftest.experimental {
command.arg("--experimental");
}
if let Some(ref resolution) = reftest.resolution {
command.arg("--resolution");
command.arg(resolution);
}
let retval = match command.status() {
Ok(status) => status,
Err(e) => panic!("failed to execute process: {}", e),