style: Fix parsing of text decorations.

Adds a reftest so it doesn't break again.
This commit is contained in:
Patrick Walton 2015-02-24 17:26:44 -08:00
parent bf60477e95
commit f188278dd2
4 changed files with 40 additions and 5 deletions

View file

@ -1443,7 +1443,7 @@ pub mod longhands {
impl ComputedValueAsSpecified for SpecifiedValue {}
#[derive(PartialEq, Eq, Copy, Clone)]
#[derive(PartialEq, Eq, Copy, Clone, Debug)]
pub struct SpecifiedValue {
pub underline: bool,
pub overline: bool,
@ -1495,8 +1495,8 @@ pub mod longhands {
}
let mut blink = false;
let mut empty = true;
loop {
match_ignore_ascii_case! { try!(input.expect_ident()),
while let Ok(ident) = input.expect_ident() {
match_ignore_ascii_case! { ident,
"underline" => if result.underline { return Err(()) }
else { empty = false; result.underline = true },
"overline" => if result.overline { return Err(()) }
@ -1521,7 +1521,7 @@ pub mod longhands {
impl ComputedValueAsSpecified for SpecifiedValue {}
#[derive(Clone, PartialEq, Copy)]
#[derive(Clone, PartialEq, Copy, Debug)]
pub struct SpecifiedValue {
pub underline: Option<RGBA>,
pub overline: Option<RGBA>,
@ -1574,7 +1574,6 @@ pub mod longhands {
if result.line_through.is_none() {
result.line_through = maybe(context.text_decoration.line_through, context)
}
result
}

View file

@ -250,3 +250,4 @@ fragment=top != ../html/acid2.html acid2_ref.html
== text_align_complex_a.html text_align_complex_ref.html
== percentage_height_root.html percentage_height_root_ref.html
== canvas_transform_a.html canvas_transform_ref.html
!= text_decoration_smoke_a.html text_decoration_smoke_ref.html

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<!-- Tests that `text-decoration` does something. -->
<style>
#a {
text-decoration: underline;
color: red;
font-size: 96px;
width: 300px;
}
</style>
</head>
<body>
<div id=a>Foo</div>
</body>
</html>

View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<!-- Tests that `text-decoration` does something. -->
<style>
#a {
color: red;
font-size: 96px;
width: 300px;
}
</style>
</head>
<body>
<div id=a>Foo</div>
</body>
</html>