apfl/src/functional-tests/keach.at

55 lines
782 B
Text

===== script =====
l = ['foo 'bar 'baz]
keach l { k v ->
print k v
}
keach [] { k v ->
print "???"
}
d := [
'a -> 'foo
'b -> 'bar
'c -> 'baz
]
seen-a := seen-b := seen-c := 0
seen-someting-else := false
a-ok := b-ok := c-ok := false
keach d {
'a v ->
seen-a = + seen-a 1
a-ok = == v 'foo
'b v ->
seen-b = + seen-b 1
b-ok = == v 'bar
'c v ->
seen-c = + seen-c 1
c-ok = == v 'baz
_ _ ->
seen-someting-else = true
}
keach [->] { k v ->
print "???"
}
print 'seen-a seen-a
print 'a-ok a-ok
print 'seen-b seen-b
print 'b-ok b-ok
print 'seen-c seen-c
print 'c-ok c-ok
print 'seen-someting-else seen-someting-else
===== output =====
0 foo
1 bar
2 baz
seen-a 1
a-ok true
seen-b 1
b-ok true
seen-c 1
c-ok true
seen-someting-else false