Auto merge of #15662 - canaltinova:column, r=Manishearth

Fix parsing methods of column-{gap,width}

<!-- Please describe your changes on the following line: -->
They weren't accepting {normal, auto} keywords. Fixed parsing methods of these properties.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15088 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15662)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-02-20 10:28:03 -08:00 committed by GitHub
commit f86e711506
5 changed files with 76 additions and 15 deletions

View file

@ -0,0 +1,42 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use cssparser::Parser;
use media_queries::CSSErrorReporterTest;
use servo_url::ServoUrl;
use style::parser::ParserContext;
use style::stylesheets::Origin;
use style_traits::ToCss;
#[test]
fn test_column_width() {
use style::properties::longhands::column_width;
assert_roundtrip_with_context!(column_width::parse, "auto");
assert_roundtrip_with_context!(column_width::parse, "6px");
assert_roundtrip_with_context!(column_width::parse, "2.5em");
assert_roundtrip_with_context!(column_width::parse, "0.3vw");
let url = ServoUrl::parse("http://localhost").unwrap();
let context = ParserContext::new(Origin::Author, &url, Box::new(CSSErrorReporterTest));
let mut negative = Parser::new("-6px");
assert!(column_width::parse(&context, &mut negative).is_err());
}
#[test]
fn test_column_gap() {
use style::properties::longhands::column_gap;
assert_roundtrip_with_context!(column_gap::parse, "normal");
assert_roundtrip_with_context!(column_gap::parse, "6px");
assert_roundtrip_with_context!(column_gap::parse, "2.5em");
assert_roundtrip_with_context!(column_gap::parse, "0.3vw");
let url = ServoUrl::parse("http://localhost").unwrap();
let context = ParserContext::new(Origin::Author, &url, Box::new(CSSErrorReporterTest));
let mut negative = Parser::new("-6px");
assert!(column_gap::parse(&context, &mut negative).is_err());
}

View file

@ -70,6 +70,7 @@ mod animation;
mod background;
mod basic_shape;
mod border;
mod column;
mod font;
mod image;
mod inherited_box;