UNPKG

787 Btext/coffeescriptView Raw
1suite 'Truthiness', ->
2
3 setup ->
4 @truthy = (ast) ->
5 ok Optimiser.isTruthy ast
6 ok not Optimiser.isFalsey ast
7 @falsey = (ast) ->
8 ok Optimiser.isFalsey ast
9 ok not Optimiser.isTruthy ast
10 @neither = (ast) ->
11 ok not Optimiser.isTruthy ast
12 ok not Optimiser.isFalsey ast
13
14 test 'ints', ->
15 @falsey new CS.Int 0
16 @truthy new CS.Int 1
17 @truthy new CS.Int 9e9
18
19 test 'floats', ->
20 @falsey new CS.Float 0.0
21 @truthy new CS.Float 0.1
22 @truthy new CS.Float 1.1
23 @truthy new CS.Float 1.2e+3
24
25 test 'strings', ->
26 @falsey new CS.String ''
27 @truthy new CS.String '0'
28
29 test 'assignment', ->
30 @truthy new CS.AssignOp (new CS.Identifier 'a'), new CS.Int 1
31 @falsey new CS.AssignOp (new CS.Identifier 'a'), new CS.Int 0