Skip to content

Commit

Permalink
Merge pull request #160 from Ph0enixKM/159-fractions-without-leading-…
Browse files Browse the repository at this point in the history
…zero-do-not-parse-correctly
  • Loading branch information
Ph0enixKM authored Jun 8, 2024
2 parents a140ad7 + 828dce0 commit ec95070
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/modules/expression/literal/number.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ impl SyntaxModule<ParserMetadata> for Number {
if let Ok(sym) = token(meta, "-") {
self.value.push_str(&sym);
}
if let Ok(value) = number(meta, vec![]) {
if let Ok(value) = integer(meta, vec![]) {
self.value.push_str(&value);
}
if let Ok(sym) = token(meta, ".") {
self.value.push_str(&sym);
self.value.push_str(&number(meta, vec![])?);
self.value.push_str(&integer(meta, vec![])?);
}
if self.value.is_empty() {
return Err(Failure::Quiet(PositionInfo::from_metadata(meta)))
Expand All @@ -44,4 +44,4 @@ impl TranslateModule for Number {
fn translate(&self, _meta: &mut TranslateMetadata) -> String {
self.value.to_string()
}
}
}
10 changes: 10 additions & 0 deletions src/tests/validity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,16 @@ fn very_complex_arithmetic() {
test_amber!(code, "24");
}

#[test]
fn fractions_with_no_leading_zero() {
let code = "
let a = .2
let b = .1
echo a + b
";
test_amber!(code, ".3");
}

#[test]
fn parenthesis() {
let code = "
Expand Down

0 comments on commit ec95070

Please sign in to comment.