diff options
author | Corey Farwell <coreyf@rwell.org> | 2015-11-14 12:36:18 -0500 |
---|---|---|
committer | Corey Farwell <coreyf@rwell.org> | 2015-11-14 16:47:10 -0500 |
commit | 30ea7729393bf9a1048046df278b7ea427e30ee4 (patch) | |
tree | 4b7c78ae3ee5f7c2572a5ca05298e572898ea50c | |
parent | 02a8e8dd16c87a5126ff7e331fc1ca353304278c (diff) | |
download | servo-30ea7729393bf9a1048046df278b7ea427e30ee4.tar.gz servo-30ea7729393bf9a1048046df278b7ea427e30ee4.zip |
Make util::str::parse_length work with floats
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'> |