slovo/tests/stdin-result.surface.lower
2026-05-22 08:38:43 +02:00

56 lines
1.3 KiB
Plaintext

program main
fn stdin_result() -> (result string i32)
call std.io.read_stdin_result
fn stdin_text_or_empty(value: (result string i32)) -> string
match
subject
var value
arm ok text
var text
arm err code
string ""
fn stdin_len_or_code(value: (result string i32)) -> i32
match
subject
var value
arm ok text
call std.string.len
var text
arm err code
var code
fn stdin_ok_len() -> i32
call std.string.len
unwrap_ok
call stdin_result
fn main() -> i32
local let value: (result string i32)
call stdin_result
if
is_ok
var value
call std.string.len
unwrap_ok
var value
int 1
test "stdin result test runner returns ok"
is_ok
call stdin_result
test "stdin result payload length matches match"
local let value: (result string i32)
call stdin_result
binary =
call std.string.len
unwrap_ok
var value
call stdin_len_or_code
var value
test "stdin result match observes ok payload"
local let value: (result string i32)
call stdin_result
binary =
call std.string.len
call stdin_text_or_empty
var value
call stdin_len_or_code
var value