diff --git a/src/parse.rs b/src/parse.rs index 8ca2c3a..119a420 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -124,9 +124,22 @@ fn parse_unit(input: String) -> Result { "in^2" => Ok(NonMetric::SquareInch), "\"^2" => Ok(NonMetric::SquareInch), + "square foot" => Ok(NonMetric::SquareFoot), + "square feet" => Ok(NonMetric::SquareFoot), + "square ft" => Ok(NonMetric::SquareFoot), + "sq foot" => Ok(NonMetric::SquareFoot), + "sq feet" => Ok(NonMetric::SquareFoot), + "sq ft" => Ok(NonMetric::SquareFoot), "foot²" => Ok(NonMetric::SquareFoot), "feet²" => Ok(NonMetric::SquareFoot), "ft²" => Ok(NonMetric::SquareFoot), + "'²" => Ok(NonMetric::SquareFoot), + "′²" => Ok(NonMetric::SquareFoot), + "foot^2" => Ok(NonMetric::SquareFoot), + "feet^2" => Ok(NonMetric::SquareFoot), + "ft^2" => Ok(NonMetric::SquareFoot), + "'^2" => Ok(NonMetric::SquareFoot), + "sf" => Ok(NonMetric::SquareFoot), "acre" => Ok(NonMetric::Acre), "acres" => Ok(NonMetric::Acre), @@ -309,9 +322,22 @@ mod test { assert_eq!(parse_unit("in^2".to_string()), Ok(NonMetric::SquareInch)); assert_eq!(parse_unit("\"^2".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("square foot".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("square feet".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("square ft".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("sq foot".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("sq feet".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("sq ft".to_string()), Ok(NonMetric::SquareFoot)); assert_eq!(parse_unit("foot²".to_string()), Ok(NonMetric::SquareFoot)); assert_eq!(parse_unit("feet²".to_string()), Ok(NonMetric::SquareFoot)); assert_eq!(parse_unit("ft²".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("'²".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("′²".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("foot^2".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("feet^2".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("ft^2".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("'^2".to_string()), Ok(NonMetric::SquareFoot)); + assert_eq!(parse_unit("sf".to_string()), Ok(NonMetric::SquareFoot)); assert_eq!(parse_unit("acre".to_string()), Ok(NonMetric::Acre)); assert_eq!(parse_unit("acres".to_string()), Ok(NonMetric::Acre));