summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhadija Kamran <kkamran.bese16seecs@seecs.edu.pk>2023-01-26 11:06:27 +0500
committerMarge Bot <marge-bot@gnome.org>2023-02-01 04:05:02 +0000
commit7cedfd21cbb4b7397c288e8d5b842f331f985858 (patch)
treee9a06a44b3c515e0609642e9cc9f171567de4ee1
parent7906bf841f0dfe1a2957f3c0d681223a9802fd71 (diff)
downloadlibrsvg-7cedfd21cbb4b7397c288e8d5b842f331f985858.tar.gz
Support 'turn' unit for <angle>
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/788>
-rw-r--r--src/angle.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/angle.rs b/src/angle.rs
index 8cd71d96..eb0f692c 100644
--- a/src/angle.rs
+++ b/src/angle.rs
@@ -89,6 +89,7 @@ impl Parse for Angle {
"deg" => Angle::from_degrees(value),
"grad" => Angle::from_degrees(value * 360.0 / 400.0),
"rad" => Angle::new(value),
+ "turn" => Angle::from_degrees(value * 360.0),
_ => {
return Err(loc.new_unexpected_token_error(token.clone()));
}
@@ -120,6 +121,10 @@ mod tests {
Angle::parse_str("-400grad").unwrap(),
Angle::from_degrees(-360.0)
);
+ assert_eq!(
+ Angle::parse_str("0.25turn").unwrap(),
+ Angle::from_degrees(90.0)
+ );
assert!(Angle::parse_str("").is_err());
assert!(Angle::parse_str("foo").is_err());