aboutsummaryrefslogtreecommitdiff
path: root/tests/programs/capture.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/programs/capture.zc')
-rw-r--r--tests/programs/capture.zc41
1 files changed, 22 insertions, 19 deletions
diff --git a/tests/programs/capture.zc b/tests/programs/capture.zc
index c178791..34d03a6 100644
--- a/tests/programs/capture.zc
+++ b/tests/programs/capture.zc
@@ -1,31 +1,34 @@
+namespace;
+include rt, std;
+
// capture.start() sends everything the program writes into a string instead of
-// the terminal, and buf.end() stops it and terminates the string. nothing may
+// the terminal, and capture.end(buf) stops it and terminates the string. nothing may
// be printed during a capture, or it lands in the buffer too.
-include "src/lib/std.zc";
+include std;
fn main() {
- let buf = capture.start();
- put_s("hello world!");
- put_n(42);
- put_c(10);
- buf.end(); // stops the capture and terminates the string
+ let buf = std.capture.start();
+ rt.put_s("hello world!");
+ rt.put_n(42);
+ rt.put_c(10);
+ std.capture.end(buf); // stops the capture and terminates the string
// the capture is off again, so these go to the terminal
- put_n(outmode); put_c(10); // 0
- put_n(outbuf == 0); put_c(10); // 1, the buffer is handed over
- put_n(len_w(buf)); put_c(10); // 15
- put_s(buf); // hello world!42
+ rt.put_n(rt.outmode); rt.put_c(10); // 0
+ rt.put_n(rt.outbuf == 0); rt.put_c(10); // 1, the buffer is handed over
+ rt.put_n(rt.len_w(buf)); rt.put_c(10); // 15
+ rt.put_s(buf); // hello world!42
// a second capture does not disturb the first, and both read back
- let two = capture.start();
- put_s("second");
- two.end();
- put_n(eq_w(buf, "hello world!42\n")); put_c(10); // 1
- put_n(eq_w(two, "second")); put_c(10); // 1
+ let two = std.capture.start();
+ rt.put_s("second");
+ std.capture.end(two);
+ rt.put_n(rt.eq_w(buf, "hello world!42\n")); rt.put_c(10); // 1
+ rt.put_n(rt.eq_w(two, "second")); rt.put_c(10); // 1
// capture_stdin returns an empty string, so an unused capture is empty
- let three = capture.start();
- three.end();
- put_n(len_w(three)); put_c(10); // 0
+ let three = std.capture.start();
+ std.capture.end(three);
+ rt.put_n(rt.len_w(three)); rt.put_c(10); // 0
return 0;
} \ No newline at end of file