diff options
author | Ori Bernstein <ori@eigenstate.org> | 2015-08-26 12:20:58 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2015-08-26 12:20:58 -0700 |
commit | 2bc852bda98762d3bc01548bf972e3f1b137fbfb (patch) | |
tree | 74831deed3c9057c5fe0cbb8790d220e855bc792 /lib/std/test/strbuf.myr | |
parent | 3de952510eb2a23350d24ed926f19c0cf72a12f2 (diff) | |
download | mc-2bc852bda98762d3bc01548bf972e3f1b137fbfb.tar.gz |
Move Myrddin libs to lib/ subdirectory.
Diffstat (limited to 'lib/std/test/strbuf.myr')
-rw-r--r-- | lib/std/test/strbuf.myr | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/std/test/strbuf.myr b/lib/std/test/strbuf.myr new file mode 100644 index 0000000..2643da5 --- /dev/null +++ b/lib/std/test/strbuf.myr @@ -0,0 +1,40 @@ +use std + +const main = { + var sb + var buf : byte[16] + + sb = std.mksb() + std.assert(std.sleq(std.sbpeek(sb), ""), "mismatched empty str\n") + std.sbputs(sb, "hello") + std.assert(std.sleq(std.sbpeek(sb), "hello"), "mismatched hello\n") + std.sbputs(sb, ", hello") + std.assert(std.sleq(std.sbpeek(sb), "hello, hello"), "mismatched double hello\n") + std.sbtrim(sb, 7) + std.assert(std.sleq(std.sbpeek(sb), "hello, "), "mismatched trim\n") + std.sbputs(sb, "world") + std.assert(std.sleq(std.sbpeek(sb), "hello, world"), "mismatched hello world\n") + std.sbtrim(sb, -5) + std.assert(std.sleq(std.sbpeek(sb), "hello, "), "mismatched rtrim\n") + std.sbputc(sb, '世') + std.sbputc(sb, '界') + std.assert(std.sleq(std.sbpeek(sb), "hello, 世界"), "mismatched unicode\n") + std.sbputb(sb, 10) + std.assert(std.sleq(std.sbpeek(sb), "hello, 世界\n"), "mismatched byte\n") + + sb = std.mkbufsb(buf[:]) + std.assert(std.sbputs(sb, "hello"), "failed to add hello\n") /* 5 characters */ + std.assert(std.sbputs(sb, "hello"), "failed to add hello\n") /* 10 characters */ + std.assert(std.sbputs(sb, "hello"), "failed to add hello\n") /* 15 characters */ + std.assert(!std.sbputs(sb, "hello"), "erronous success\n") /* 16 characters */ + std.assert(std.sleq(std.sbpeek(sb), "hellohellohelloh"), "failed to copy as much as possible\n") + std.sbtrim(sb, -1) + std.assert(std.sleq(std.sbpeek(sb), "hellohellohello"), "failed rtrim\n") + std.sbputc(sb, '世') + std.assert(std.sleq(std.sbpeek(sb), "hellohellohello"), "modified overflowed putc\n") + std.sbtrim(sb, -2) + std.assert(std.sleq(std.sbpeek(sb), "hellohellohel"), "failed rtrim\n") + std.sbputc(sb, '世') + std.assert(std.sleq(std.sbpeek(sb), "hellohellohel世"), "failed to append with putc\n") +} + |