Reorganize tests.

This commit is contained in:
Bob Nystrom
2013-11-26 22:52:00 -08:00
parent 897a396599
commit 56449cdbef
72 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,16 @@
// Not structurally equal.
io.write((fn 123) == (fn 123)) // expect: false
io.write((fn 123) != (fn 123)) // expect: true
// Not equal to other types.
io.write((fn 123) == 1) // expect: false
io.write((fn 123) == false) // expect: false
io.write((fn 123) == "fn 123") // expect: false
io.write((fn 123) != 1) // expect: true
io.write((fn 123) != false) // expect: true
io.write((fn 123) != "fn 123") // expect: true
// Equal by identity.
var f = fn 123
io.write(f == f) // expect: true
io.write(f != f) // expect: false

View File

@ -0,0 +1,26 @@
var f0 = fn 0
io.write(f0.call) // expect: 0
var f1 = fn(a) a
io.write(f1.call(1)) // expect: 1
var f2 = fn(a, b) a + b
io.write(f2.call(1, 2)) // expect: 3
var f3 = fn(a, b, c) a + b + c
io.write(f3.call(1, 2, 3)) // expect: 6
var f4 = fn(a, b, c, d) a + b + c + d
io.write(f4.call(1, 2, 3, 4)) // expect: 10
var f5 = fn(a, b, c, d, e) a + b + c + d + e
io.write(f5.call(1, 2, 3, 4, 5)) // expect: 15
var f6 = fn(a, b, c, d, e, f) a + b + c + d + e + f
io.write(f6.call(1, 2, 3, 4, 5, 6)) // expect: 21
var f7 = fn(a, b, c, d, e, f, g) a + b + c + d + e + f + g
io.write(f7.call(1, 2, 3, 4, 5, 6, 7)) // expect: 28
var f8 = fn(a, b, c, d, e, f, g, h) a + b + c + d + e + f + g + h
io.write(f8.call(1, 2, 3, 4, 5, 6, 7, 8)) // expect: 36

33
test/function/syntax.wren Normal file
View File

@ -0,0 +1,33 @@
// Single expression body.
(fn io.write("ok")).call // expect: ok
// TODO(bob): Precedence of fn body.
// Curly body.
fn {
io.write("ok") // expect: ok
}.call
// No trailing newline.
fn {
io.write("ok") }.call // expect: ok
// Multiple expressions.
fn {
io.write("1") // expect: 1
io.write("2") // expect: 2
}.call
// Extra newlines.
fn {
io.write("1") // expect: 1
io.write("2") // expect: 2
}.call
// TODO(bob): Arguments.

4
test/function/type.wren Normal file
View File

@ -0,0 +1,4 @@
io.write((fn 0) is Function) // expect: true
io.write((fn 0) is Object) // expect: true
io.write((fn 0) is String) // expect: false
io.write((fn 0).type == Function) // expect: true