Sha256: f535451773ba6a532ca2a2d4fc24f6e13c24edcc6877950f26ff3a0a26cfbc60
Contents?: true
Size: 1.69 KB
Versions: 10
Compression:
Stored size: 1.69 KB
Contents
# Assignment # ---------- test "context property assignment (using @)", -> nonce = {} addMethod = -> @method = -> nonce this eq nonce, addMethod.call({}).method() test "unassignable values", -> nonce = {} for nonref in ['', '""', '0', 'f()'].concat CoffeeScript.RESERVED eq nonce, (try CoffeeScript.compile "#{nonref} = v" catch e then nonce) test "compound assignments should not declare", -> # TODO: make description more clear # TODO: remove reference to Math eq Math, (-> Math or= 0)() #### Statements as Expressions test "assign the result of a try/catch block", -> # multiline result = try nonexistent * missing catch error true eq true, result # single line result = try nonexistent * missing catch error then true eq true, result test "conditionals", -> # assign inside the condition of a conditional statement nonce = {} if a = nonce then 1 eq nonce, a 1 if b = nonce eq nonce, b # assign the result of a conditional statement c = if true then nonce eq nonce, c test "assign inside the condition of a `while` loop", -> nonce = {} count = 1 a = nonce while count-- eq nonce, a count = 1 while count-- b = nonce eq nonce, b #### Compound Assignment test "compound assignment (math operators)", -> num = 10 num -= 5 eq 5, num num *= 10 eq 50, num num /= 10 eq 5, num num %= 3 eq 2, num test "more compound assignment", -> a = {} val = undefined val ||= a val ||= true eq a, val b = {} val &&= true eq val, true val &&= b eq b, val c = {} val = null val ?= c val ?= true eq c, val #### Destructuring Assignment # NO TESTS?! # TODO: make tests for destructuring assignment
Version data entries
10 entries across 10 versions & 2 rubygems