zeolite-lang-0.9.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)
}
}