mirror of
https://github.com/servo/servo.git
synced 2025-08-10 07:55:33 +01:00
Various fixes in basic-shape parsing/serialization found by unit tests
This commit is contained in:
parent
e69f6396e2
commit
973796b989
2 changed files with 18 additions and 12 deletions
|
@ -51,14 +51,16 @@ impl Position {
|
|||
-> Result<Position, ()> {
|
||||
let (horiz, vert) = match (category(first), category(second)) {
|
||||
// Don't allow two vertical keywords or two horizontal keywords.
|
||||
// also don't allow length/percentage values in the wrong position
|
||||
(PositionCategory::HorizontalKeyword, PositionCategory::HorizontalKeyword) |
|
||||
(PositionCategory::VerticalKeyword, PositionCategory::VerticalKeyword) => return Err(()),
|
||||
(PositionCategory::VerticalKeyword, PositionCategory::VerticalKeyword) |
|
||||
(PositionCategory::LengthOrPercentage, PositionCategory::HorizontalKeyword) |
|
||||
(PositionCategory::VerticalKeyword, PositionCategory::LengthOrPercentage) => return Err(()),
|
||||
|
||||
// Swap if both are keywords and vertical precedes horizontal.
|
||||
(PositionCategory::VerticalKeyword, PositionCategory::HorizontalKeyword) |
|
||||
(PositionCategory::VerticalKeyword, PositionCategory::OtherKeyword) |
|
||||
(PositionCategory::OtherKeyword, PositionCategory::HorizontalKeyword) => (second, first),
|
||||
|
||||
// By default, horizontal is first.
|
||||
_ => (first, second),
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue