shithub: mc

Download patch

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)