aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2015-11-14 12:36:18 -0500
committerCorey Farwell <coreyf@rwell.org>2015-11-14 16:47:10 -0500
commit30ea7729393bf9a1048046df278b7ea427e30ee4 (patch)
tree4b7c78ae3ee5f7c2572a5ca05298e572898ea50c
parent02a8e8dd16c87a5126ff7e331fc1ca353304278c (diff)
downloadservo-30ea7729393bf9a1048046df278b7ea427e30ee4.tar.gz
servo-30ea7729393bf9a1048046df278b7ea427e30ee4.zip
Make util::str::parse_length work with floats
-rw-r--r--components/util/str.rs2
-rw-r--r--tests/unit/util/str.rs1
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width-ref.html1
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width.html1
4 files changed, 4 insertions, 1 deletions
diff --git a/components/util/str.rs b/components/util/str.rs
index 9c1ddf51fef..de3b5eb42b9 100644
--- a/components/util/str.rs
+++ b/components/util/str.rs
@@ -367,7 +367,7 @@ pub fn parse_length(mut value: &str) -> LengthOrPercentageOrAuto {
}
match FromStr::from_str(value) {
- Ok(number) => LengthOrPercentageOrAuto::Length(Au::from_px(number)),
+ Ok(number) => LengthOrPercentageOrAuto::Length(Au::from_f64_px(number)),
Err(_) => LengthOrPercentageOrAuto::Auto,
}
}
diff --git a/tests/unit/util/str.rs b/tests/unit/util/str.rs
index c20db9b604d..a9069a8dca2 100644
--- a/tests/unit/util/str.rs
+++ b/tests/unit/util/str.rs
@@ -17,6 +17,7 @@ pub fn test_parse_length() {
check("0", LengthOrPercentageOrAuto::Length(Au::from_px(0)));
check("0.000%", LengthOrPercentageOrAuto::Percentage(0.0));
check("+5.82%", LengthOrPercentageOrAuto::Percentage(0.0582));
+ check("5.82", LengthOrPercentageOrAuto::Length(Au::from_f64_px(5.82)));
check("invalid", LengthOrPercentageOrAuto::Auto);
check("12 followed by invalid", LengthOrPercentageOrAuto::Length(Au::from_px(12)));
}
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width-ref.html
index 906846b3099..245fde9966f 100644
--- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width-ref.html
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width-ref.html
@@ -11,6 +11,7 @@
<div class=hr style="width: 100px"></div>
<div class=hr style="width: 100px"></div>
<div class=hr style="width: 100px"></div>
+<div class=hr style="width: 100.99px"></div>
<div class=hr style="width: 0%"></div>
<div class=hr style="width: 0%"></div>
<div class=hr style="width: 0%"></div>
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width.html
index 3cd516ad70c..a436d2ae25a 100644
--- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width.html
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-hr-element-0/width.html
@@ -7,6 +7,7 @@
<hr width='100'>
<hr width='100foo'>
<hr width=' 100 '>
+<hr width='100.99'>
<hr width='0'>
<hr width='00'>
<hr width='+0'>