ref: cf94e8f3c050f869d11a985f7ac4a4d9a477a9e4
parent: 58f59a52b75a9bd3d1be9ae6f4532f5949e45896
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Jun 18 12:58:31 EDT 2015
Add tests for formatting.
--- a/libstd/test/fmt.myr
+++ b/libstd/test/fmt.myr
@@ -7,7 +7,7 @@
ap = std.vastart(&args)
sl = std.bfmtv(buf[:], fmt, &ap)
if !std.sleq(expected, sl)
- std.fatal("mismatched expected fmt \"{}\", expected \"{}\"\n", sl, expected)
+ std.fatal("mismatched fmt: got \"{}\", expected \"{}\"\n", sl, expected)
;;
}
@@ -17,15 +17,17 @@
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(" 10", "{w=10}", 10)
+ check("0000000010", "{p=0,w=10}", 10)
+ check("4294967295", "{p=0,w=10}", -1 castto(uint))
+ check("-000000001", "{p=0,w=10}", -1)
+ check("xxxxxxxx-1", "{p=x,w=10}", -1)
+ check(" -1", "{w=10}", -1)
+ check("100000" , "{3}", 100000)
+ check("foobarbaz", "{}bar{}", "foo", "baz")
+ check("{}barbaz", "{{}}bar{}", "baz")
+ check("{barbaz}", "{{bar{}}}", "baz")
check("abcd", "{}", "abcd")
check("123", "{}", 123)
check("7b", "{x}", 123)