slovo/tests/string-parse-bool-result.checked.lower
2026-05-22 08:38:43 +02:00

100 lines
2.9 KiB
Plaintext

program main
fn parse_bool(text: string) -> (result bool i32)
call std.string.parse_bool_result : (result bool i32)
var text : string
fn bool_score(text: string) -> i32
local let value : unit
call parse_bool : (result bool i32)
var text : string
if : i32
std.result.is_ok : bool
var value : (result bool i32)
if : i32
std.result.unwrap_ok : bool
var value : (result bool i32)
int 1 : i32
int 0 : i32
std.result.unwrap_err : i32
var value : (result bool i32)
fn main() -> i32
local let value : unit
call parse_bool : (result bool i32)
string "true" : string
if : i32
std.result.is_ok : bool
var value : (result bool i32)
if : i32
std.result.unwrap_ok : bool
var value : (result bool i32)
int 0 : i32
int 1 : i32
std.result.unwrap_err : i32
var value : (result bool i32)
test "parse bool true ok"
local let value : unit
call parse_bool : (result bool i32)
string "true" : string
if : bool
std.result.is_ok : bool
var value : (result bool i32)
std.result.unwrap_ok : bool
var value : (result bool i32)
bool false : bool
test "parse bool false ok"
local let value : unit
call parse_bool : (result bool i32)
string "false" : string
if : bool
std.result.is_ok : bool
var value : (result bool i32)
if : bool
std.result.unwrap_ok : bool
var value : (result bool i32)
bool false : bool
bool true : bool
bool false : bool
test "parse bool uppercase err"
local let value : unit
call parse_bool : (result bool i32)
string "TRUE" : string
if : bool
std.result.is_err : bool
var value : (result bool i32)
binary = : bool
std.result.unwrap_err : i32
var value : (result bool i32)
int 1 : i32
bool false : bool
test "parse bool empty err"
local let value : unit
call parse_bool : (result bool i32)
string "" : string
if : bool
std.result.is_err : bool
var value : (result bool i32)
binary = : bool
std.result.unwrap_err : i32
var value : (result bool i32)
int 1 : i32
bool false : bool
test "parse bool whitespace err"
local let value : unit
call parse_bool : (result bool i32)
string " true" : string
if : bool
std.result.is_err : bool
var value : (result bool i32)
binary = : bool
std.result.unwrap_err : i32
var value : (result bool i32)
int 1 : i32
bool false : bool
test "parse bool helper flow"
binary = : bool
binary + : i32
call bool_score : i32
string "true" : string
call bool_score : i32
string "false" : string
int 1 : i32