packages feed

zeolite-lang-0.10.0.0: example/parser/parser-test.0rt

testcase "parse data from a file" {
  success
}

unittest test {
  TestData data <- TestData.parseFrom(Helpers.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())
  }
}

concrete Helpers {
  @type loadTestData () -> (String)
}

define Helpers {
  loadTestData () {
    scoped {
      RawFileReader reader <- RawFileReader.open($ExprLookup[MODULE_PATH]$ + "/test-data.txt")
    } cleanup {
      \ reader.freeResource()
    } in return TextReader.readAll(reader)
  }
}