Auto merge of #16166 - streichgeorg:initial-letter, r=emilio

initial-letter property

<!-- Please describe your changes on the following line: -->
Implemented parsing and serialization for the initial-letter property.

---
<!-- 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 #15959 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16166)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-03-30 18:37:24 -05:00 committed by GitHub
commit 04d12fa8f8
3 changed files with 98 additions and 0 deletions

View file

@ -99,6 +99,7 @@ mod outline;
mod position;
mod selectors;
mod supports;
mod text;
mod text_overflow;
mod transition_timing_function;
mod ui;

View file

@ -0,0 +1,26 @@
/* 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 parsing::parse;
use style::parser::ParserContext;
use style::stylesheets::Origin;
use style_traits::ToCss;
#[test]
fn initial_letter_should_be_parsed_correctly() {
use style::properties::longhands::initial_letter;
assert_roundtrip_with_context!(initial_letter::parse, "1.5");
assert_roundtrip_with_context!(initial_letter::parse, "1.5 3");
assert_roundtrip_with_context!(initial_letter::parse, "normal");
}
#[test]
fn initial_letter_doesnt_parse_invalid_input() {
use style::properties::longhands::initial_letter;
assert!(parse(initial_letter::parse, "1.5x 5").is_err());
}