aboutsummaryrefslogtreecommitdiff
path: root/tests/issues
diff options
context:
space:
mode:
authorFeoramund <161657516+Feoramund@users.noreply.github.com>2024-06-04 14:08:19 -0400
committerFeoramund <161657516+Feoramund@users.noreply.github.com>2024-06-04 14:23:48 -0400
commitc656a9e4cdd566b1aa473227d9d9a35b3c6812d3 (patch)
tree6e4c694c2c029f2010ff123be24bb717c5da49c0 /tests/issues
parent7d670f65624c7c1f0d9a93808a99e259b95bd4b6 (diff)
Fix and subsume `test_issue_2087` into `strconv` test suite
The full "infinity" strings were expected to be partial consumes, but this is not the case. That has been fixed and the relevant extra tests from that file have been added to this test suite. Fixes #2670
Diffstat (limited to 'tests/issues')
-rw-r--r--tests/issues/test_issue_2087.odin62
1 files changed, 0 insertions, 62 deletions
diff --git a/tests/issues/test_issue_2087.odin b/tests/issues/test_issue_2087.odin
deleted file mode 100644
index 26b6d487d..000000000
--- a/tests/issues/test_issue_2087.odin
+++ /dev/null
@@ -1,62 +0,0 @@
-// Tests issue #2087 https://github.com/odin-lang/Odin/issues/2087
-package test_issues
-
-import "core:math"
-import "core:strconv"
-import "core:testing"
-
-@(test)
-test_parse_float :: proc(t: ^testing.T) {
- {
- f, ok := strconv.parse_f64("1.2")
- testing.expect(t, ok && f == 1.2, "expected f64(1.2), fully consumed")
- f, ok = strconv.parse_f64("1.2a")
- testing.expect(t, !ok && f == 1.2, "expected f64(1.2), partially consumed")
- f, ok = strconv.parse_f64("+")
- testing.expect(t, !ok && f == 0.0, "expected f64(0.0), with ok=false")
- f, ok = strconv.parse_f64("-")
- testing.expect(t, !ok && f == 0.0, "expected f64(0.0), with ok=false")
-
-
- f, ok = strconv.parse_f64("inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Inf, "expected f64(+inf), fully consumed")
- f, ok = strconv.parse_f64("+inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Inf, "expected f64(+inf), fully consumed")
- f, ok = strconv.parse_f64("-inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Neg_Inf, "expected f64(-inf), fully consumed")
- f, ok = strconv.parse_f64("inFinity")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Inf, "expected f64(+inf), partially consumed")
- f, ok = strconv.parse_f64("+InFinity")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Inf, "expected f64(+inf), partially consumed")
- f, ok = strconv.parse_f64("-InfiniTy")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Neg_Inf, "expected f64(-inf), partially consumed")
- f, ok = strconv.parse_f64("nan")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.NaN, "expected f64(nan), fully consumed")
- f, ok = strconv.parse_f64("nAN")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.NaN, "expected f64(nan), fully consumed")
- }
- {
- f, ok := strconv.parse_f32("1.2")
- testing.expect(t, ok && f == 1.2, "expected f32(1.2), fully consumed")
-
- f, ok = strconv.parse_f32("1.2a")
- testing.expect(t, !ok && f == 1.2, "expected f32(1.2), partially consumed")
-
- f, ok = strconv.parse_f32("inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Inf, "expected f32(+inf), fully consumed")
- f, ok = strconv.parse_f32("+inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Inf, "expected f32(+inf), fully consumed")
- f, ok = strconv.parse_f32("-inf")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.Neg_Inf, "expected f32(-inf), fully consumed")
- f, ok = strconv.parse_f32("inFinity")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Inf, "expected f32(+inf), partially consumed")
- f, ok = strconv.parse_f32("+InFinity")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Inf, "expected f32(+inf), partially consumed")
- f, ok = strconv.parse_f32("-InfiniTy")
- testing.expect(t, !ok && math.classify(f) == math.Float_Class.Neg_Inf, "expected f32(-inf), partially consumed")
- f, ok = strconv.parse_f32("nan")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.NaN, "expected f32(nan), fully consumed")
- f, ok = strconv.parse_f32("nAN")
- testing.expect(t, ok && math.classify(f) == math.Float_Class.NaN, "expected f32(nan), fully consumed")
- }
-} \ No newline at end of file