ref: e6624da5efc4a98942a3620dae59c0610331a812
dir: /libstd/test/fmt.myr/
use std const check = {expected, fmt, args : ... var buf : byte[2048] var sl, ap ap = std.vastart(&args) sl = std.bfmtv(buf[:], fmt, &ap) if !std.sleq(expected, sl) std.fatal("mismatched expected fmt \"{}\", expected \"{}\"\n", sl, expected) ;; } const main = { /* FIXME: make these equivalents tested. check(" abcd", "%10s", "abcd") check("00000bdcae", "%010s", "bdcae") check("abcdefghijkl", "%010s", "abcdefghijkl") check("a", "%01s", "a") check(" 10", "%10i", 10) check("0000000010", "%010i", 10) check("4294967295", "%010ui", -1) check("-000000001", "%010i", -1) check(" -1", "%10i", -1) check("100000" , "%3i", 100000) check("foobarbaz", "%sbar%s", "foo", "baz") check("%sbarbaz", "%%sbar%s", "baz") */ check("abcd", "{}", "abcd") check("123", "{}", 123) check("7b", "{x}", 123) check("0x7b", "0x{x}", 123) }