diff --git a/src/parse.rs b/src/parse.rs index bc9dc95..8ca2c3a 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -108,9 +108,21 @@ fn parse_unit(input: String) -> Result { "F" => Ok(NonMetric::Fahrenheit), // Area + "square inch" => Ok(NonMetric::SquareInch), + "square inches" => Ok(NonMetric::SquareInch), + "square in" => Ok(NonMetric::SquareInch), + "sq inch" => Ok(NonMetric::SquareInch), + "sq inches" => Ok(NonMetric::SquareInch), + "sq in" => Ok(NonMetric::SquareInch), "inch²" => Ok(NonMetric::SquareInch), "inches²" => Ok(NonMetric::SquareInch), "in²" => Ok(NonMetric::SquareInch), + "\"²" => Ok(NonMetric::SquareInch), + "″²" => Ok(NonMetric::SquareInch), + "inch^2" => Ok(NonMetric::SquareInch), + "inches^2" => Ok(NonMetric::SquareInch), + "in^2" => Ok(NonMetric::SquareInch), + "\"^2" => Ok(NonMetric::SquareInch), "foot²" => Ok(NonMetric::SquareFoot), "feet²" => Ok(NonMetric::SquareFoot), @@ -281,9 +293,21 @@ mod test { assert_eq!(parse_unit("F".to_string()), Ok(NonMetric::Fahrenheit)); // Area + assert_eq!(parse_unit("square inch".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("square inches".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("square in".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("sq inch".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("sq inches".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("sq in".to_string()), Ok(NonMetric::SquareInch)); assert_eq!(parse_unit("inch²".to_string()), Ok(NonMetric::SquareInch)); assert_eq!(parse_unit("inches²".to_string()), Ok(NonMetric::SquareInch)); assert_eq!(parse_unit("in²".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("\"²".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("″²".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("inch^2".to_string()), Ok(NonMetric::SquareInch)); + assert_eq!(parse_unit("inches^2".to_string()), Ok(NonMetric::SquareInch)); + 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("foot²".to_string()), Ok(NonMetric::SquareFoot)); assert_eq!(parse_unit("feet²".to_string()), Ok(NonMetric::SquareFoot));