aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/internal/parsing_spec.moon19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/internal/parsing_spec.moon b/spec/internal/parsing_spec.moon
index 0486276..09d5b85 100644
--- a/spec/internal/parsing_spec.moon
+++ b/spec/internal/parsing_spec.moon
@@ -23,6 +23,9 @@ describe 'atom parsing', ->
num = verify_parse_nope atom, '1234 nope'
assert.is.equal (Constant.num 1234), num
+ num = verify_parse_nope atom, '-1234 nope'
+ assert.is.equal (Constant.num -1234), num
+
it 'parses floats', ->
num = verify_parse_nope atom, '0.123 nope'
assert.is.equal (Constant.num 0.123), num
@@ -33,6 +36,22 @@ describe 'atom parsing', ->
num = verify_parse_nope atom, '0. nope'
assert.is.equal (Constant.num 0), num
+ num = verify_parse_nope atom, '-45.123 nope'
+ assert.is.equal (Constant.num -45.123), num
+
+ num = verify_parse_nope atom, '-.123 nope'
+ assert.is.equal (Constant.num -0.123), num
+
+ num = verify_parse_nope atom, '-0. nope'
+ assert.is.equal (Constant.num 0), num
+
+ it 'parses fractions', ->
+ num = verify_parse_nope atom, '1/2 nope'
+ assert.is.equal (Constant.num 0.5), num
+
+ num = verify_parse_nope atom, '-3/4 nope'
+ assert.is.equal (Constant.num -0.75), num
+
describe 'strings', ->
it 'parses double-quote strings', ->
str = verify_parse_nope atom, '"help some stuff!" nope'