zeolite-lang-0.6.0.0: example/parser/parser-test.0rt
testcase "parse data from a file" {
success Test$execute()
}
concrete Test {
@type execute () -> ()
}
define Test {
execute () {
TestData data <- TestData$parseFrom(loadTestData()).getValue()
if (data.getName() != "example data") {
fail(data.getName())
}
if (data.getDescription() != "THIS_IS_A_TOKEN") {
fail(data.getDescription())
}
if (data.getBoolean() != false) {
fail(data.getBoolean())
}
}
@type loadTestData () -> (String)
loadTestData () {
scoped {
RawFileReader reader <- RawFileReader$open($ExprLookup[MODULE_PATH]$ + "/test-data.txt")
} cleanup {
\ reader.freeResource()
} in return TextReader$readAll(reader)
}
}