From b97927230533040bdab94444c7b5672bcf7a4558 Mon Sep 17 00:00:00 2001 From: Bob Nystrom Date: Sun, 5 Jan 2014 12:27:12 -0800 Subject: [PATCH] Clean up text handling a bit: - Rename IO.write -> IO.print. - Make IO.write not print a newline. - Support \u Unicode escapes in strings. --- benchmark/binary_trees.wren | 8 +- benchmark/fib.wren | 4 +- benchmark/for.wren | 4 +- benchmark/method_call.wren | 6 +- corelib.wren | 8 +- example/hello.wren | 2 +- src/wren_compiler.c | 68 +- src/wren_core.c | 14 +- test/and.wren | 28 +- test/assignment/associativity.wren | 6 +- test/assignment/global.wren | 8 +- test/assignment/local.wren | 8 +- test/assignment/syntax.wren | 8 +- test/bool/equality.wren | 36 +- test/bool/not.wren | 6 +- test/bool/to_string.wren | 4 +- test/bool/type.wren | 8 +- test/break/in_for_loop.wren | 4 +- test/break/in_while_loop.wren | 4 +- test/break/nested_loop.wren | 4 +- test/class/equality.wren | 16 +- test/class/name_inside_body.wren | 4 +- test/class/new.wren | 2 +- test/class/type.wren | 6 +- test/closure/assign_to_closure.wren | 8 +- .../close_over_function_parameter.wren | 2 +- test/closure/close_over_method_parameter.wren | 2 +- test/closure/closed_closure_in_function.wren | 2 +- test/closure/closed_closure_in_method.wren | 2 +- test/closure/nested_closure.wren | 6 +- test/closure/open_closure_in_function.wren | 2 +- test/closure/open_closure_in_method.wren | 2 +- .../reference_closure_multiple_times.wren | 4 +- test/closure/reuse_closure_slot.wren | 2 +- test/closure/use_global_in_function.wren | 2 +- test/closure/use_global_in_method.wren | 4 +- test/comments/block.wren | 4 +- test/comments/block_at_eof.wren | 2 +- test/comments/line_at_eof.wren | 2 +- test/comments/unicode.wren | 2 +- test/comments/unterminated_block.wren | 2 +- test/comments/unterminated_nested_block.wren | 2 +- test/constructor/default.wren | 4 +- test/constructor/infix_class_expression.wren | 2 +- test/constructor/new.wren | 10 +- test/constructor/superclass.wren | 18 +- test/empty_block.wren | 2 +- test/field/closure.wren | 4 +- test/field/default_to_null.wren | 2 +- test/field/multiple.wren | 10 +- test/field/nested_class.wren | 6 +- test/field/object_reference.wren | 2 +- test/field/use_before_set.wren | 2 +- test/for.wren | 6 +- test/for/close_over_loop_variable.wren | 4 +- test/for/closure_in_body.wren | 2 +- test/for/for_in_syntax.wren | 6 +- test/for/only_evaluate_sequence_once.wren | 4 +- test/function/empty_block.wren | 2 +- test/function/equality.wren | 20 +- test/function/parameters.wren | 34 +- test/function/syntax.wren | 14 +- test/function/type.wren | 8 +- test/grammar.wren | 20 +- test/if.wren | 26 +- test/inheritance/inherit_fields.wren | 8 +- test/inheritance/inherit_methods.wren | 16 +- test/inheritance/inherit_static_methods.wren | 16 +- test/inheritance/is.wren | 18 +- test/io/write.wren | 6 +- test/is.wren | 48 +- test/limit/long_function.wren | 2000 ++++++++--------- test/limit/long_string.wren | 2 +- test/limit/many_constants.wren | 2 +- test/list/add.wren | 8 +- test/list/clear.wren | 6 +- test/list/count.wren | 6 +- test/list/insert.wren | 20 +- test/list/iterate.wren | 12 +- test/list/iterator_value.wren | 8 +- test/list/newlines.wren | 8 +- test/list/remove_at.wren | 14 +- test/list/subscript.wren | 16 +- test/list/subscript_setter.wren | 6 +- test/list/to_string.wren | 8 +- test/list/type.wren | 8 +- test/method/arity.wren | 34 +- test/method/empty_block.wren | 2 +- test/method/long_name.wren | 2 +- test/method/many_methods.wren | 2 +- test/method/operators.wren | 26 +- test/method/static.wren | 8 +- test/method/too_many_arguments.wren | 2 +- test/no_trailing_newline.wren | 2 +- test/null.wren | 2 +- test/null_type.wren | 8 +- test/number/abs.wren | 12 +- test/number/bitwise_not.wren | 28 +- test/number/comparison.wren | 40 +- test/number/divide.wren | 4 +- test/number/equality.wren | 28 +- test/number/literals.wren | 12 +- test/number/minus.wren | 8 +- test/number/mod.wren | 18 +- test/number/multiply.wren | 4 +- test/number/plus.wren | 6 +- test/number/range.wren | 12 +- test/number/to_string.wren | 10 +- test/number/type.wren | 8 +- test/object/to_string.wren | 2 +- test/or.wren | 28 +- test/return/after_else.wren | 2 +- test/return/after_if.wren | 2 +- test/return/after_while.wren | 2 +- test/return/in_function.wren | 2 +- test/return/in_method.wren | 4 +- test/semicolon.wren | 2 +- test/setter/associativity.wren | 6 +- test/setter/instance.wren | 2 +- test/setter/result.wren | 2 +- test/setter/same_name_as_method.wren | 4 +- test/setter/static.wren | 2 +- test/string/contains.wren | 12 +- test/string/count.wren | 4 +- test/string/equality.wren | 28 +- test/string/escapes.wren | 7 +- test/string/literals.wren | 4 +- test/string/subscript.wren | 16 +- test/string/to_string.wren | 4 +- test/string/type.wren | 8 +- test/string/unicode_escapes.wren | 18 + test/super/call_other_method.wren | 4 +- test/super/call_same_method.wren | 4 +- test/super/closure.wren | 2 +- test/super/indirectly_inherited.wren | 4 +- test/this/closure.wren | 2 +- test/this/nested_class.wren | 6 +- test/this/nested_closure.wren | 2 +- test/this/this_in_method.wren | 2 +- test/unexpected_character.wren | 2 +- test/variable/global_in_initializer.wren | 2 +- test/variable/global_without_initializer.wren | 2 +- test/variable/local_in_initializer.wren | 2 +- test/variable/local_in_middle_of_block.wren | 8 +- test/variable/local_in_nested_block.wren | 2 +- test/variable/local_without_initializer.wren | 2 +- test/variable/many_locals.wren | 2 +- .../variable/many_nonsimultaneous_locals.wren | 4 +- test/variable/scope_if.wren | 4 +- .../scope_reuse_in_different_blocks.wren | 4 +- test/variable/scope_while.wren | 2 +- test/variable/shadow_and_local.wren | 4 +- test/variable/shadow_global.wren | 4 +- test/variable/shadow_in_initializer.wren | 2 +- test/variable/shadow_local.wren | 4 +- test/variable/undefined_global.wren | 2 +- test/variable/undefined_local.wren | 2 +- test/while/closure_in_body.wren | 2 +- test/while/syntax.wren | 6 +- 159 files changed, 1690 insertions(+), 1599 deletions(-) create mode 100644 test/string/unicode_escapes.wren diff --git a/benchmark/binary_trees.wren b/benchmark/binary_trees.wren index 0057562a..9ad20af5 100644 --- a/benchmark/binary_trees.wren +++ b/benchmark/binary_trees.wren @@ -26,7 +26,7 @@ var stretchDepth = maxDepth + 1 var start = OS.clock -IO.write("stretch tree of depth " + stretchDepth.toString + " check: " + +IO.print("stretch tree of depth " + stretchDepth.toString + " check: " + new Tree(0, stretchDepth).check.toString) var longLivedTree = new Tree(0, maxDepth) @@ -46,13 +46,13 @@ while (depth < stretchDepth) { i = i + 1 } - IO.write((iterations * 2).toString + " trees of depth " + depth.toString + + IO.print((iterations * 2).toString + " trees of depth " + depth.toString + " check: " + check.toString) iterations = iterations / 4 depth = depth + 2 } -IO.write("long lived tree of depth " + maxDepth.toString + " check: " + +IO.print("long lived tree of depth " + maxDepth.toString + " check: " + longLivedTree.check.toString) -IO.write("elapsed: " + (OS.clock - start).toString) +IO.print("elapsed: " + (OS.clock - start).toString) diff --git a/benchmark/fib.wren b/benchmark/fib.wren index 378cf79b..62e1c86d 100644 --- a/benchmark/fib.wren +++ b/benchmark/fib.wren @@ -8,6 +8,6 @@ var fib = fn(n) { var start = OS.clock for (i in 1..5) { - IO.write(fib.call(28)) + IO.print(fib.call(28)) } -IO.write("elapsed: " + (OS.clock - start).toString) +IO.print("elapsed: " + (OS.clock - start).toString) diff --git a/benchmark/for.wren b/benchmark/for.wren index ea1153f2..584b28f2 100644 --- a/benchmark/for.wren +++ b/benchmark/for.wren @@ -7,5 +7,5 @@ var sum = 0 for (i in list) { sum = sum + i } -IO.write(sum) -IO.write("elapsed: " + (OS.clock - start).toString) +IO.print(sum) +IO.print("elapsed: " + (OS.clock - start).toString) diff --git a/benchmark/method_call.wren b/benchmark/method_call.wren index 6338818d..b686ba2a 100644 --- a/benchmark/method_call.wren +++ b/benchmark/method_call.wren @@ -46,7 +46,7 @@ for (i in 0...n) { val = toggle.activate.value } -IO.write(toggle.value) +IO.print(toggle.value) val = true var ntoggle = new NthToggle(val, 3) @@ -64,6 +64,6 @@ for (i in 0...n) { val = ntoggle.activate.value } -IO.write(ntoggle.value) +IO.print(ntoggle.value) -IO.write("elapsed: " + (OS.clock - start).toString) +IO.print("elapsed: " + (OS.clock - start).toString) diff --git a/corelib.wren b/corelib.wren index 0f396eea..0fd4aca8 100644 --- a/corelib.wren +++ b/corelib.wren @@ -1,8 +1,14 @@ // Note: This is converted to a C string literal and inserted into // src/wren_core.c using make_corelib. class IO { + static print(obj) { + IO.writeString_(obj.toString) + IO.writeString_("\n") + return obj + } + static write(obj) { - IO.write__native__(obj.toString) + IO.writeString_(obj.toString) return obj } } diff --git a/example/hello.wren b/example/hello.wren index 06cb80a0..0bb440c3 100644 --- a/example/hello.wren +++ b/example/hello.wren @@ -1 +1 @@ -IO.write("Hello, world!") +IO.print("Hello, world!") diff --git a/src/wren_compiler.c b/src/wren_compiler.c index 57a81ab6..3e42206a 100644 --- a/src/wren_compiler.c +++ b/src/wren_compiler.c @@ -514,10 +514,71 @@ static void readName(Parser* parser, TokenType type) makeToken(parser, type); } -// Adds [c] to the current string literal being tokenized. -static void addStringChar(Parser* parser, char c) +// Adds [c] to the current string literal being tokenized. If [c] is outside of +// ASCII range, it will emit the UTF-8 encoded byte sequence for it. +static void addStringChar(Parser* parser, uint32_t c) { - wrenByteBufferWrite(parser->vm, &parser->string, c); + ByteBuffer* buffer = &parser->string; + + if (c <= 0x7f) + { + // Single byte (i.e. fits in ASCII). + wrenByteBufferWrite(parser->vm, buffer, c); + } + else if (c <= 0x7ff) + { + // Two byte sequence: 110xxxxx 10xxxxxx. + wrenByteBufferWrite(parser->vm, buffer, 0xc0 | ((c & 0x7c0) >> 6)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | (c & 0x3f)); + } + else if (c <= 0xffff) + { + // Three byte sequence: 1110xxxx 10xxxxxx 10xxxxxx. + wrenByteBufferWrite(parser->vm, buffer, 0xe0 | ((c & 0xf000) >> 12)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | ((c & 0xfc0) >> 6)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | (c & 0x3f)); + } + else if (c <= 0x10ffff) + { + // Four byte sequence: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx. + wrenByteBufferWrite(parser->vm, buffer, 0xf0 | ((c & 0x1c0000) >> 18)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | ((c & 0x3f000) >> 12)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | ((c & 0xfc0) >> 6)); + wrenByteBufferWrite(parser->vm, buffer, 0x80 | (c & 0x3f)); + } + else + { + // Invalid Unicode value. See: http://tools.ietf.org/html/rfc3629 + // TODO: Error. + } +} + +// Reads the next character, which should be a hex digit (0-9, a-f, or A-F) and +// returns its numeric value. If the character isn't a hex digit, returns -1. +static int readHexDigit(Parser* parser) +{ + char c = nextChar(parser); + if (c >= '0' && c <= '9') return c - '0'; + if (c >= 'a' && c <= 'f') return c - 'a' + 10; + if (c >= 'A' && c <= 'F') return c - 'A' + 10; + return -1; +} + +// Reads a four hex digit Unicode escape sequence in a string literal. +static void readUnicodeEscape(Parser* parser) +{ + int value = 0; + for (int i = 0; i < 4; i++) + { + char digit = readHexDigit(parser); + // TODO: Signal error. + if (digit == -1) return; + + value = (value * 16) | digit; + } + + // TODO: Handle encoding! + addStringChar(parser, value); } // Finishes lexing a string literal. @@ -538,6 +599,7 @@ static void readString(Parser* parser) case '\\': addStringChar(parser, '\\'); break; case 'n': addStringChar(parser, '\n'); break; case 't': addStringChar(parser, '\t'); break; + case 'u': readUnicodeEscape(parser); break; default: // TODO: Emit error token. break; diff --git a/src/wren_core.c b/src/wren_core.c index 6cb43155..dbb80fbd 100644 --- a/src/wren_core.c +++ b/src/wren_core.c @@ -43,8 +43,14 @@ // make_corelib. Do not edit here. const char* coreLibSource = "class IO {\n" +" static print(obj) {\n" +" IO.writeString_(obj.toString)\n" +" IO.writeString_(\"\n\")\n" +" return obj\n" +" }\n" +"\n" " static write(obj) {\n" -" IO.write__native__(obj.toString)\n" +" IO.writeString_(obj.toString)\n" " return obj\n" " }\n" "}\n" @@ -471,9 +477,9 @@ DEF_NATIVE(string_subscript) DEF_NATIVE(io_writeString) { + if (!validateString(vm, args, 1, "Argument")) return PRIM_ERROR; wrenPrintValue(args[1]); - printf("\n"); - RETURN_VAL(args[1]); + RETURN_NULL; } DEF_NATIVE(os_clock) @@ -621,5 +627,5 @@ void wrenInitializeCore(WrenVM* vm) NATIVE(vm->numClass, "!= ", num_bangeq); ObjClass* ioClass = AS_CLASS(findGlobal(vm, "IO")); - NATIVE(ioClass->metaclass, "write__native__ ", io_writeString); + NATIVE(ioClass->metaclass, "writeString_ ", io_writeString); } diff --git a/test/and.wren b/test/and.wren index c2c0de1a..d05d0561 100644 --- a/test/and.wren +++ b/test/and.wren @@ -1,26 +1,26 @@ // Note: These tests implicitly depend on ints being truthy. -// Also rely on IO.write() returning its argument. +// Also rely on IO.print() returning its argument. // Return the first non-true argument. -IO.write(false && 1) // expect: false -IO.write(true && 1) // expect: 1 -IO.write(1 && 2 && false) // expect: false +IO.print(false && 1) // expect: false +IO.print(true && 1) // expect: 1 +IO.print(1 && 2 && false) // expect: false // Return the last argument if all are true. -IO.write(1 && true) // expect: true -IO.write(1 && 2 && 3) // expect: 3 +IO.print(1 && true) // expect: true +IO.print(1 && 2 && 3) // expect: 3 // Short-circuit at the first false argument. -IO.write(true) && // expect: true - IO.write(false) && // expect: false - IO.write(false) // should not print +IO.print(true) && // expect: true + IO.print(false) && // expect: false + IO.print(false) // should not print // Swallow a trailing newline. -IO.write(true && +IO.print(true && true) // expect: true // Only false is falsy. -IO.write(0 && true) // expect: true -IO.write(null && true) // expect: true -IO.write("" && true) // expect: true -IO.write(false && true) // expect: false +IO.print(0 && true) // expect: true +IO.print(null && true) // expect: true +IO.print("" && true) // expect: true +IO.print(false && true) // expect: false diff --git a/test/assignment/associativity.wren b/test/assignment/associativity.wren index 2fb8ea5f..e7844499 100644 --- a/test/assignment/associativity.wren +++ b/test/assignment/associativity.wren @@ -4,6 +4,6 @@ var c = "c" // Assignment is right-associative. a = b = c -IO.write(a) // expect: c -IO.write(b) // expect: c -IO.write(c) // expect: c +IO.print(a) // expect: c +IO.print(b) // expect: c +IO.print(c) // expect: c diff --git a/test/assignment/global.wren b/test/assignment/global.wren index 806cf9ca..fa070409 100644 --- a/test/assignment/global.wren +++ b/test/assignment/global.wren @@ -1,8 +1,8 @@ var a = "before" -IO.write(a) // expect: before +IO.print(a) // expect: before a = "after" -IO.write(a) // expect: after +IO.print(a) // expect: after -IO.write(a = "arg") // expect: arg -IO.write(a) // expect: arg +IO.print(a = "arg") // expect: arg +IO.print(a) // expect: arg diff --git a/test/assignment/local.wren b/test/assignment/local.wren index cc29c424..e71383e5 100644 --- a/test/assignment/local.wren +++ b/test/assignment/local.wren @@ -1,10 +1,10 @@ fn { var a = "before" - IO.write(a) // expect: before + IO.print(a) // expect: before a = "after" - IO.write(a) // expect: after + IO.print(a) // expect: after - IO.write(a = "arg") // expect: arg - IO.write(a) // expect: arg + IO.print(a = "arg") // expect: arg + IO.print(a) // expect: arg }.call diff --git a/test/assignment/syntax.wren b/test/assignment/syntax.wren index 7fc91a8d..f283a5bd 100644 --- a/test/assignment/syntax.wren +++ b/test/assignment/syntax.wren @@ -2,10 +2,10 @@ var a = "a" var b = "b" a = b = "chain" -IO.write(a) // expect: chain -IO.write(a) // expect: chain +IO.print(a) // expect: chain +IO.print(a) // expect: chain // Assignment on RHS of variable. var c = a = "var" -IO.write(a) // expect: var -IO.write(c) // expect: var +IO.print(a) // expect: var +IO.print(c) // expect: var diff --git a/test/bool/equality.wren b/test/bool/equality.wren index 9e61f63a..6797482a 100644 --- a/test/bool/equality.wren +++ b/test/bool/equality.wren @@ -1,23 +1,23 @@ -IO.write(true == true) // expect: true -IO.write(true == false) // expect: false -IO.write(false == true) // expect: false -IO.write(false == false) // expect: true +IO.print(true == true) // expect: true +IO.print(true == false) // expect: false +IO.print(false == true) // expect: false +IO.print(false == false) // expect: true // Not equal to other types. -IO.write(true == 1) // expect: false -IO.write(false == 0) // expect: false -IO.write(true == "true") // expect: false -IO.write(false == "false") // expect: false -IO.write(false == "") // expect: false +IO.print(true == 1) // expect: false +IO.print(false == 0) // expect: false +IO.print(true == "true") // expect: false +IO.print(false == "false") // expect: false +IO.print(false == "") // expect: false -IO.write(true != true) // expect: false -IO.write(true != false) // expect: true -IO.write(false != true) // expect: true -IO.write(false != false) // expect: false +IO.print(true != true) // expect: false +IO.print(true != false) // expect: true +IO.print(false != true) // expect: true +IO.print(false != false) // expect: false // Not equal to other types. -IO.write(true != 1) // expect: true -IO.write(false != 0) // expect: true -IO.write(true != "true") // expect: true -IO.write(false != "false") // expect: true -IO.write(false != "") // expect: true +IO.print(true != 1) // expect: true +IO.print(false != 0) // expect: true +IO.print(true != "true") // expect: true +IO.print(false != "false") // expect: true +IO.print(false != "") // expect: true diff --git a/test/bool/not.wren b/test/bool/not.wren index 55510225..cc8b7558 100644 --- a/test/bool/not.wren +++ b/test/bool/not.wren @@ -1,3 +1,3 @@ -IO.write(!true) // expect: false -IO.write(!false) // expect: true -IO.write(!!true) // expect: true +IO.print(!true) // expect: false +IO.print(!false) // expect: true +IO.print(!!true) // expect: true diff --git a/test/bool/to_string.wren b/test/bool/to_string.wren index 0f3322d2..e23c13c6 100644 --- a/test/bool/to_string.wren +++ b/test/bool/to_string.wren @@ -1,2 +1,2 @@ -IO.write(true.toString) // expect: true -IO.write(false.toString) // expect: false +IO.print(true.toString) // expect: true +IO.print(false.toString) // expect: false diff --git a/test/bool/type.wren b/test/bool/type.wren index 52e0d3a5..242b7871 100644 --- a/test/bool/type.wren +++ b/test/bool/type.wren @@ -1,4 +1,4 @@ -IO.write(true is Bool) // expect: true -IO.write(true is Object) // expect: true -IO.write(true is Num) // expect: false -IO.write(true.type == Bool) // expect: true +IO.print(true is Bool) // expect: true +IO.print(true is Object) // expect: true +IO.print(true is Num) // expect: false +IO.print(true.type == Bool) // expect: true diff --git a/test/break/in_for_loop.wren b/test/break/in_for_loop.wren index df89195a..67479f33 100644 --- a/test/break/in_for_loop.wren +++ b/test/break/in_for_loop.wren @@ -1,7 +1,7 @@ for (i in [1, 2, 3, 4, 5]) { - IO.write(i) + IO.print(i) if (i > 2) break - IO.write(i) + IO.print(i) } // expect: 1 // expect: 1 diff --git a/test/break/in_while_loop.wren b/test/break/in_while_loop.wren index 2e0e9cf7..9ef4fb5f 100644 --- a/test/break/in_while_loop.wren +++ b/test/break/in_while_loop.wren @@ -1,9 +1,9 @@ var i = 0 while (true) { i = i + 1 - IO.write(i) + IO.print(i) if (i > 2) break - IO.write(i) + IO.print(i) } // expect: 1 // expect: 1 diff --git a/test/break/nested_loop.wren b/test/break/nested_loop.wren index be4cb39e..62784ba0 100644 --- a/test/break/nested_loop.wren +++ b/test/break/nested_loop.wren @@ -1,11 +1,11 @@ var i = 0 while (true) { - IO.write("outer " + i.toString) + IO.print("outer " + i.toString) if (i > 1) break var j = 0 while (true) { - IO.write("inner " + j.toString) + IO.print("inner " + j.toString) if (j > 1) break j = j + 1 diff --git a/test/class/equality.wren b/test/class/equality.wren index 8f6bfb2b..51dce1a7 100644 --- a/test/class/equality.wren +++ b/test/class/equality.wren @@ -1,13 +1,13 @@ -IO.write(Num == Num) // expect: true -IO.write(Num == Bool) // expect: false +IO.print(Num == Num) // expect: true +IO.print(Num == Bool) // expect: false // Not equal to other types. -IO.write(Num == 123) // expect: false -IO.write(Num == true) // expect: false +IO.print(Num == 123) // expect: false +IO.print(Num == true) // expect: false -IO.write(Num != Num) // expect: false -IO.write(Num != Bool) // expect: true +IO.print(Num != Num) // expect: false +IO.print(Num != Bool) // expect: true // Not equal to other types. -IO.write(Num != 123) // expect: true -IO.write(Num != true) // expect: true +IO.print(Num != 123) // expect: true +IO.print(Num != true) // expect: true diff --git a/test/class/name_inside_body.wren b/test/class/name_inside_body.wren index 5fb7ed58..4f8656ea 100644 --- a/test/class/name_inside_body.wren +++ b/test/class/name_inside_body.wren @@ -1,10 +1,10 @@ class Foo { static sayName { - IO.write(Foo.toString) + IO.print(Foo.toString) } sayName { - IO.write(Foo.toString) + IO.print(Foo.toString) } static toString { return "Foo!" } diff --git a/test/class/new.wren b/test/class/new.wren index 9483ee27..c99e5e07 100644 --- a/test/class/new.wren +++ b/test/class/new.wren @@ -1,6 +1,6 @@ class Foo {} var foo = new Foo -IO.write(foo is Foo) // expect: true +IO.print(foo is Foo) // expect: true // TODO: Test precedence and grammar of what follows "new". diff --git a/test/class/type.wren b/test/class/type.wren index dea1ff0b..24239fcc 100644 --- a/test/class/type.wren +++ b/test/class/type.wren @@ -1,10 +1,10 @@ class Foo {} // A class is a class. -IO.write(Foo is Class) // expect: true +IO.print(Foo is Class) // expect: true // It's metatype is also a class. -IO.write(Foo.type is Class) // expect: true +IO.print(Foo.type is Class) // expect: true // The metatype's metatype is Class. -IO.write(Foo.type.type == Class) // expect: true +IO.print(Foo.type.type == Class) // expect: true diff --git a/test/closure/assign_to_closure.wren b/test/closure/assign_to_closure.wren index 511699a0..13c76ddb 100644 --- a/test/closure/assign_to_closure.wren +++ b/test/closure/assign_to_closure.wren @@ -4,15 +4,15 @@ var g = null { var local = "local" f = fn { - IO.write(local) + IO.print(local) local = "after f" - IO.write(local) + IO.print(local) } g = fn { - IO.write(local) + IO.print(local) local = "after g" - IO.write(local) + IO.print(local) } } diff --git a/test/closure/close_over_function_parameter.wren b/test/closure/close_over_function_parameter.wren index f8495944..3821059c 100644 --- a/test/closure/close_over_function_parameter.wren +++ b/test/closure/close_over_function_parameter.wren @@ -2,7 +2,7 @@ var f = null fn(param) { f = fn { - IO.write(param) + IO.print(param) } }.call("param") diff --git a/test/closure/close_over_method_parameter.wren b/test/closure/close_over_method_parameter.wren index d3181a48..7dc87a3c 100644 --- a/test/closure/close_over_method_parameter.wren +++ b/test/closure/close_over_method_parameter.wren @@ -3,7 +3,7 @@ var f = null class Foo { method(param) { f = fn { - IO.write(param) + IO.print(param) } } } diff --git a/test/closure/closed_closure_in_function.wren b/test/closure/closed_closure_in_function.wren index df26eccc..474fc65f 100644 --- a/test/closure/closed_closure_in_function.wren +++ b/test/closure/closed_closure_in_function.wren @@ -3,7 +3,7 @@ var f = null { var local = "local" f = fn { - IO.write(local) + IO.print(local) } } diff --git a/test/closure/closed_closure_in_method.wren b/test/closure/closed_closure_in_method.wren index 8dc3c842..3025841e 100644 --- a/test/closure/closed_closure_in_method.wren +++ b/test/closure/closed_closure_in_method.wren @@ -4,7 +4,7 @@ var foo = null var local = "local" class Foo { method { - IO.write(local) + IO.print(local) } } diff --git a/test/closure/nested_closure.wren b/test/closure/nested_closure.wren index ebf92d06..6fb1ca46 100644 --- a/test/closure/nested_closure.wren +++ b/test/closure/nested_closure.wren @@ -7,9 +7,9 @@ fn { fn { var c = "c" f = fn { - IO.write(a) - IO.write(b) - IO.write(c) + IO.print(a) + IO.print(b) + IO.print(c) } }.call }.call diff --git a/test/closure/open_closure_in_function.wren b/test/closure/open_closure_in_function.wren index 9aeff842..9fc233d1 100644 --- a/test/closure/open_closure_in_function.wren +++ b/test/closure/open_closure_in_function.wren @@ -1,6 +1,6 @@ { var local = "local" fn { - IO.write(local) // expect: local + IO.print(local) // expect: local }.call } diff --git a/test/closure/open_closure_in_method.wren b/test/closure/open_closure_in_method.wren index 97badc24..bd1d1e52 100644 --- a/test/closure/open_closure_in_method.wren +++ b/test/closure/open_closure_in_method.wren @@ -2,7 +2,7 @@ var local = "local" class Foo { method { - IO.write(local) + IO.print(local) } } diff --git a/test/closure/reference_closure_multiple_times.wren b/test/closure/reference_closure_multiple_times.wren index bad90186..fdf5d873 100644 --- a/test/closure/reference_closure_multiple_times.wren +++ b/test/closure/reference_closure_multiple_times.wren @@ -3,8 +3,8 @@ var f = null { var a = "a" f = fn { - IO.write(a) - IO.write(a) + IO.print(a) + IO.print(a) } } diff --git a/test/closure/reuse_closure_slot.wren b/test/closure/reuse_closure_slot.wren index 8aa223d1..1685b36a 100644 --- a/test/closure/reuse_closure_slot.wren +++ b/test/closure/reuse_closure_slot.wren @@ -3,7 +3,7 @@ { var a = "a" - f = fn IO.write(a) + f = fn IO.print(a) } { diff --git a/test/closure/use_global_in_function.wren b/test/closure/use_global_in_function.wren index 910e9a72..aaa50240 100644 --- a/test/closure/use_global_in_function.wren +++ b/test/closure/use_global_in_function.wren @@ -2,5 +2,5 @@ var global = "global" // TODO: Forward reference to global declared after use. fn { - IO.write(global) // expect: global + IO.print(global) // expect: global }.call diff --git a/test/closure/use_global_in_method.wren b/test/closure/use_global_in_method.wren index 38b9f6db..e61770ba 100644 --- a/test/closure/use_global_in_method.wren +++ b/test/closure/use_global_in_method.wren @@ -3,11 +3,11 @@ var global = "global" class Foo { method { - IO.write(global) + IO.print(global) } static classMethod { - IO.write(global) + IO.print(global) } } diff --git a/test/comments/block.wren b/test/comments/block.wren index 626a4b4a..bf7d5b81 100644 --- a/test/comments/block.wren +++ b/test/comments/block.wren @@ -1,5 +1,5 @@ // In middle of line. -IO.write/* ... */(/* */"ok"/* */) // expect: ok +IO.print/* ... */(/* */"ok"/* */) // expect: ok // Nested. -IO.write(/* in /* nest */ out */"ok") // expect: ok +IO.print(/* in /* nest */ out */"ok") // expect: ok diff --git a/test/comments/block_at_eof.wren b/test/comments/block_at_eof.wren index cbc935f1..a7e1bf7a 100644 --- a/test/comments/block_at_eof.wren +++ b/test/comments/block_at_eof.wren @@ -1,2 +1,2 @@ -IO.write("ok") // expect: ok +IO.print("ok") // expect: ok /* comment */ \ No newline at end of file diff --git a/test/comments/line_at_eof.wren b/test/comments/line_at_eof.wren index e44ed826..f450eab8 100644 --- a/test/comments/line_at_eof.wren +++ b/test/comments/line_at_eof.wren @@ -1,2 +1,2 @@ -IO.write("ok") // expect: ok +IO.print("ok") // expect: ok // comment \ No newline at end of file diff --git a/test/comments/unicode.wren b/test/comments/unicode.wren index 233dd695..06e65898 100644 --- a/test/comments/unicode.wren +++ b/test/comments/unicode.wren @@ -8,4 +8,4 @@ // TODO: What about combining characters? -IO.write("ok") // expect: ok +IO.print("ok") // expect: ok diff --git a/test/comments/unterminated_block.wren b/test/comments/unterminated_block.wren index 18d6c474..1c39563d 100644 --- a/test/comments/unterminated_block.wren +++ b/test/comments/unterminated_block.wren @@ -1,3 +1,3 @@ // expect error line 3 -IO.write("nope") /* +IO.print("nope") /* oops \ No newline at end of file diff --git a/test/comments/unterminated_nested_block.wren b/test/comments/unterminated_nested_block.wren index 2c196fa1..0afe4ff1 100644 --- a/test/comments/unterminated_nested_block.wren +++ b/test/comments/unterminated_nested_block.wren @@ -1,4 +1,4 @@ // expect error line 4 -IO.write("nope") /* /* /* +IO.print("nope") /* /* /* */ oops \ No newline at end of file diff --git a/test/constructor/default.wren b/test/constructor/default.wren index a9e4f996..a8b8085f 100644 --- a/test/constructor/default.wren +++ b/test/constructor/default.wren @@ -4,5 +4,5 @@ class Foo { // Classes inherit the argument-less "new" one by default. var foo = new Foo -IO.write(foo is Foo) // expect: true -IO.write(foo.toString) // expect: Foo +IO.print(foo is Foo) // expect: true +IO.print(foo.toString) // expect: Foo diff --git a/test/constructor/infix_class_expression.wren b/test/constructor/infix_class_expression.wren index 876b9436..a0d9ef36 100644 --- a/test/constructor/infix_class_expression.wren +++ b/test/constructor/infix_class_expression.wren @@ -2,6 +2,6 @@ class Foo { + other { return "Foo " + other } } -IO.write(new Foo + "value") // expect: Foo value +IO.print(new Foo + "value") // expect: Foo value // TODO: Other expressions following a constructor, like new Foo.bar("arg"). diff --git a/test/constructor/new.wren b/test/constructor/new.wren index 01eb61cd..9539ea67 100644 --- a/test/constructor/new.wren +++ b/test/constructor/new.wren @@ -1,7 +1,7 @@ class Foo { - new { IO.write("zero") } - new(a) { IO.write(a) } - new(a, b) { IO.write(a + b) } + new { IO.print("zero") } + new(a) { IO.print(a) } + new(a, b) { IO.print(a + b) } toString { return "Foo" } } @@ -13,5 +13,5 @@ new Foo("one", "two") // expect: onetwo // Returns the new instance. var foo = new Foo // expect: zero -IO.write(foo is Foo) // expect: true -IO.write(foo.toString) // expect: Foo +IO.print(foo is Foo) // expect: true +IO.print(foo.toString) // expect: Foo diff --git a/test/constructor/superclass.wren b/test/constructor/superclass.wren index e0e16dd4..5f7c2871 100644 --- a/test/constructor/superclass.wren +++ b/test/constructor/superclass.wren @@ -1,6 +1,6 @@ class A { new(arg) { - IO.write("new A " + arg) + IO.print("new A " + arg) _field = arg } @@ -10,7 +10,7 @@ class A { class B is A { new(arg1, arg2) { super(arg2) - IO.write("new B " + arg1) + IO.print("new B " + arg1) _field = arg1 } @@ -20,7 +20,7 @@ class B is A { class C is B { new { super("one", "two") - IO.write("new C") + IO.print("new C") _field = "c" } @@ -31,10 +31,10 @@ var c = new C // expect: new A two // expect: new B one // expect: new C -IO.write(c is A) // expect: true -IO.write(c is B) // expect: true -IO.write(c is C) // expect: true +IO.print(c is A) // expect: true +IO.print(c is B) // expect: true +IO.print(c is C) // expect: true -IO.write(c.aField) // expect: two -IO.write(c.bField) // expect: one -IO.write(c.cField) // expect: c +IO.print(c.aField) // expect: two +IO.print(c.bField) // expect: one +IO.print(c.cField) // expect: c diff --git a/test/empty_block.wren b/test/empty_block.wren index 71591ff7..cfe778ac 100644 --- a/test/empty_block.wren +++ b/test/empty_block.wren @@ -4,4 +4,4 @@ if (true) {} if (false) {} else {} -IO.write("ok") // expect: ok \ No newline at end of file +IO.print("ok") // expect: ok \ No newline at end of file diff --git a/test/field/closure.wren b/test/field/closure.wren index cba651e5..782805cf 100644 --- a/test/field/closure.wren +++ b/test/field/closure.wren @@ -11,6 +11,6 @@ class Foo { } var foo = new Foo -IO.write(foo.closeOverGet.call) // expect: Foo field +IO.print(foo.closeOverGet.call) // expect: Foo field foo.closeOverSet.call -IO.write(foo.closeOverGet.call) // expect: new value +IO.print(foo.closeOverGet.call) // expect: new value diff --git a/test/field/default_to_null.wren b/test/field/default_to_null.wren index 9cc13e7f..aeba18d1 100644 --- a/test/field/default_to_null.wren +++ b/test/field/default_to_null.wren @@ -1,5 +1,5 @@ class Foo { - write { IO.write(_field) } + write { IO.print(_field) } } (new Foo).write // expect: null diff --git a/test/field/multiple.wren b/test/field/multiple.wren index dfa740e5..879993d9 100644 --- a/test/field/multiple.wren +++ b/test/field/multiple.wren @@ -8,11 +8,11 @@ class Foo { } write { - IO.write(_a) - IO.write(_b) - IO.write(_c) - IO.write(_d) - IO.write(_e) + IO.print(_a) + IO.print(_b) + IO.print(_c) + IO.print(_d) + IO.print(_e) } } diff --git a/test/field/nested_class.wren b/test/field/nested_class.wren index 4ecc2523..85153bdf 100644 --- a/test/field/nested_class.wren +++ b/test/field/nested_class.wren @@ -1,17 +1,17 @@ class Outer { method { _field = "outer" - IO.write(_field) // expect: outer + IO.print(_field) // expect: outer class Inner { method { _field = "inner" - IO.write(_field) // expect: inner + IO.print(_field) // expect: inner } } (new Inner).method - IO.write(_field) // expect: outer + IO.print(_field) // expect: outer } } diff --git a/test/field/object_reference.wren b/test/field/object_reference.wren index 5c834561..2a201dad 100644 --- a/test/field/object_reference.wren +++ b/test/field/object_reference.wren @@ -11,7 +11,7 @@ class Node { _left.write } - IO.write(_value) + IO.print(_value) if (_right is Node) { _right.write diff --git a/test/field/use_before_set.wren b/test/field/use_before_set.wren index 3c453799..6674547c 100644 --- a/test/field/use_before_set.wren +++ b/test/field/use_before_set.wren @@ -1,5 +1,5 @@ class Foo { - write { IO.write(_field) } // Compile a use of the field... + write { IO.print(_field) } // Compile a use of the field... init { _field = "value" } // ...before an assignment to it. } diff --git a/test/for.wren b/test/for.wren index af0278f8..6e7ed2bf 100644 --- a/test/for.wren +++ b/test/for.wren @@ -1,12 +1,12 @@ // Single-expression body. -for (i in [1, 2, 3]) IO.write(i) +for (i in [1, 2, 3]) IO.print(i) // expect: 1 // expect: 2 // expect: 3 // Block body. for (i in [1, 2, 3]) { - IO.write(i) + IO.print(i) } // expect: 1 // expect: 2 @@ -14,7 +14,7 @@ for (i in [1, 2, 3]) { // Newline after "for". for -(i in [1, 2, 3]) IO.write(i) +(i in [1, 2, 3]) IO.print(i) // expect: 1 // expect: 2 // expect: 3 diff --git a/test/for/close_over_loop_variable.wren b/test/for/close_over_loop_variable.wren index f3a3a975..a3b2a503 100644 --- a/test/for/close_over_loop_variable.wren +++ b/test/for/close_over_loop_variable.wren @@ -1,8 +1,8 @@ var list = [] for (i in [1, 2, 3]) { - list.add(fn IO.write(i)) - //list.add(fn IO.write(i)) + list.add(fn IO.print(i)) + //list.add(fn IO.print(i)) } for (f in list) f.call diff --git a/test/for/closure_in_body.wren b/test/for/closure_in_body.wren index c0d5af94..3070a5fb 100644 --- a/test/for/closure_in_body.wren +++ b/test/for/closure_in_body.wren @@ -2,7 +2,7 @@ var list = [] for (i in [1, 2, 3]) { var j = i + 1 - list.add(fn IO.write(j)) + list.add(fn IO.print(j)) } for (f in list) f.call diff --git a/test/for/for_in_syntax.wren b/test/for/for_in_syntax.wren index af0278f8..6e7ed2bf 100644 --- a/test/for/for_in_syntax.wren +++ b/test/for/for_in_syntax.wren @@ -1,12 +1,12 @@ // Single-expression body. -for (i in [1, 2, 3]) IO.write(i) +for (i in [1, 2, 3]) IO.print(i) // expect: 1 // expect: 2 // expect: 3 // Block body. for (i in [1, 2, 3]) { - IO.write(i) + IO.print(i) } // expect: 1 // expect: 2 @@ -14,7 +14,7 @@ for (i in [1, 2, 3]) { // Newline after "for". for -(i in [1, 2, 3]) IO.write(i) +(i in [1, 2, 3]) IO.print(i) // expect: 1 // expect: 2 // expect: 3 diff --git a/test/for/only_evaluate_sequence_once.wren b/test/for/only_evaluate_sequence_once.wren index d7ddadcb..931a2aca 100644 --- a/test/for/only_evaluate_sequence_once.wren +++ b/test/for/only_evaluate_sequence_once.wren @@ -1,9 +1,9 @@ var f = fn { - IO.write("evaluate sequence") + IO.print("evaluate sequence") return [1, 2, 3] } -for (i in f.call) IO.write(i) +for (i in f.call) IO.print(i) // expect: evaluate sequence // expect: 1 // expect: 2 diff --git a/test/function/empty_block.wren b/test/function/empty_block.wren index 632e7ba2..840daa2e 100644 --- a/test/function/empty_block.wren +++ b/test/function/empty_block.wren @@ -1,2 +1,2 @@ var f = fn {} -IO.write(f.call) // expect: null +IO.print(f.call) // expect: null diff --git a/test/function/equality.wren b/test/function/equality.wren index f6b75647..9de8548a 100644 --- a/test/function/equality.wren +++ b/test/function/equality.wren @@ -1,16 +1,16 @@ // Not structurally equal. -IO.write((fn 123) == (fn 123)) // expect: false -IO.write((fn 123) != (fn 123)) // expect: true +IO.print((fn 123) == (fn 123)) // expect: false +IO.print((fn 123) != (fn 123)) // expect: true // Not equal to other types. -IO.write((fn 123) == 1) // expect: false -IO.write((fn 123) == false) // expect: false -IO.write((fn 123) == "fn 123") // expect: false -IO.write((fn 123) != 1) // expect: true -IO.write((fn 123) != false) // expect: true -IO.write((fn 123) != "fn 123") // expect: true +IO.print((fn 123) == 1) // expect: false +IO.print((fn 123) == false) // expect: false +IO.print((fn 123) == "fn 123") // expect: false +IO.print((fn 123) != 1) // expect: true +IO.print((fn 123) != false) // expect: true +IO.print((fn 123) != "fn 123") // expect: true // Equal by identity. var f = fn 123 -IO.write(f == f) // expect: true -IO.write(f != f) // expect: false +IO.print(f == f) // expect: true +IO.print(f != f) // expect: false diff --git a/test/function/parameters.wren b/test/function/parameters.wren index e12d08ee..e88b98b0 100644 --- a/test/function/parameters.wren +++ b/test/function/parameters.wren @@ -1,50 +1,50 @@ var f0 = fn 0 -IO.write(f0.call) // expect: 0 +IO.print(f0.call) // expect: 0 var f1 = fn(a) a -IO.write(f1.call(1)) // expect: 1 +IO.print(f1.call(1)) // expect: 1 var f2 = fn(a, b) a + b -IO.write(f2.call(1, 2)) // expect: 3 +IO.print(f2.call(1, 2)) // expect: 3 var f3 = fn(a, b, c) a + b + c -IO.write(f3.call(1, 2, 3)) // expect: 6 +IO.print(f3.call(1, 2, 3)) // expect: 6 var f4 = fn(a, b, c, d) a + b + c + d -IO.write(f4.call(1, 2, 3, 4)) // expect: 10 +IO.print(f4.call(1, 2, 3, 4)) // expect: 10 var f5 = fn(a, b, c, d, e) a + b + c + d + e -IO.write(f5.call(1, 2, 3, 4, 5)) // expect: 15 +IO.print(f5.call(1, 2, 3, 4, 5)) // expect: 15 var f6 = fn(a, b, c, d, e, f) a + b + c + d + e + f -IO.write(f6.call(1, 2, 3, 4, 5, 6)) // expect: 21 +IO.print(f6.call(1, 2, 3, 4, 5, 6)) // expect: 21 var f7 = fn(a, b, c, d, e, f, g) a + b + c + d + e + f + g -IO.write(f7.call(1, 2, 3, 4, 5, 6, 7)) // expect: 28 +IO.print(f7.call(1, 2, 3, 4, 5, 6, 7)) // expect: 28 var f8 = fn(a, b, c, d, e, f, g, h) a + b + c + d + e + f + g + h -IO.write(f8.call(1, 2, 3, 4, 5, 6, 7, 8)) // expect: 36 +IO.print(f8.call(1, 2, 3, 4, 5, 6, 7, 8)) // expect: 36 var f9 = fn(a, b, c, d, e, f, g, h, i) a + b + c + d + e + f + g + h + i -IO.write(f9.call(1, 2, 3, 4, 5, 6, 7, 8, 9)) // expect: 45 +IO.print(f9.call(1, 2, 3, 4, 5, 6, 7, 8, 9)) // expect: 45 var f10 = fn(a, b, c, d, e, f, g, h, i, j) a + b + c + d + e + f + g + h + i + j -IO.write(f10.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // expect: 55 +IO.print(f10.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // expect: 55 var f11 = fn(a, b, c, d, e, f, g, h, i, j, k) a + b + c + d + e + f + g + h + i + j + k -IO.write(f11.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)) // expect: 66 +IO.print(f11.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)) // expect: 66 var f12 = fn(a, b, c, d, e, f, g, h, i, j, k, l) a + b + c + d + e + f + g + h + i + j + k + l -IO.write(f12.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)) // expect: 78 +IO.print(f12.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)) // expect: 78 var f13 = fn(a, b, c, d, e, f, g, h, i, j, k, l, m) a + b + c + d + e + f + g + h + i + j + k + l + m -IO.write(f13.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)) // expect: 91 +IO.print(f13.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)) // expect: 91 var f14 = fn(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a + b + c + d + e + f + g + h + i + j + k + l + m + n -IO.write(f14.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)) // expect: 105 +IO.print(f14.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)) // expect: 105 var f15 = fn(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a + b + c + d + e + f + g + h + i + j + k + l + m + n + o -IO.write(f15.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) // expect: 120 +IO.print(f15.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) // expect: 120 var f16 = fn(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p -IO.write(f16.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)) // expect: 136 +IO.print(f16.call(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)) // expect: 136 diff --git a/test/function/syntax.wren b/test/function/syntax.wren index 187011ea..07115b67 100644 --- a/test/function/syntax.wren +++ b/test/function/syntax.wren @@ -1,31 +1,31 @@ // Single expression body. -(fn IO.write("ok")).call // expect: ok +(fn IO.print("ok")).call // expect: ok // TODO: Precedence of fn body. // Curly body. fn { - IO.write("ok") // expect: ok + IO.print("ok") // expect: ok }.call // No trailing newline. fn { - IO.write("ok") }.call // expect: ok + IO.print("ok") }.call // expect: ok // Multiple expressions. fn { - IO.write("1") // expect: 1 - IO.write("2") // expect: 2 + IO.print("1") // expect: 1 + IO.print("2") // expect: 2 }.call // Extra newlines. fn { - IO.write("1") // expect: 1 + IO.print("1") // expect: 1 - IO.write("2") // expect: 2 + IO.print("2") // expect: 2 }.call diff --git a/test/function/type.wren b/test/function/type.wren index debf5023..65dced36 100644 --- a/test/function/type.wren +++ b/test/function/type.wren @@ -1,4 +1,4 @@ -IO.write((fn 0) is Function) // expect: true -IO.write((fn 0) is Object) // expect: true -IO.write((fn 0) is String) // expect: false -IO.write((fn 0).type == Function) // expect: true +IO.print((fn 0) is Function) // expect: true +IO.print((fn 0) is Object) // expect: true +IO.print((fn 0) is String) // expect: false +IO.print((fn 0).type == Function) // expect: true diff --git a/test/grammar.wren b/test/grammar.wren index a3b6235e..36590f70 100644 --- a/test/grammar.wren +++ b/test/grammar.wren @@ -1,31 +1,31 @@ // * has higher precedence than +. -IO.write(2 + 3 * 4) // expect: 14 +IO.print(2 + 3 * 4) // expect: 14 // * has higher precedence than -. -IO.write(20 - 3 * 4) // expect: 8 +IO.print(20 - 3 * 4) // expect: 8 // / has higher precedence than +. -IO.write(2 + 6 / 3) // expect: 4 +IO.print(2 + 6 / 3) // expect: 4 // / has higher precedence than -. -IO.write(2 - 6 / 3) // expect: 0 +IO.print(2 - 6 / 3) // expect: 0 // < has higher precedence than ==. -IO.write(false == 2 < 1) // expect: true +IO.print(false == 2 < 1) // expect: true // > has higher precedence than ==. -IO.write(false == 1 > 2) // expect: true +IO.print(false == 1 > 2) // expect: true // <= has higher precedence than ==. -IO.write(false == 2 <= 1) // expect: true +IO.print(false == 2 <= 1) // expect: true // >= has higher precedence than ==. -IO.write(false == 1 >= 2) // expect: true +IO.print(false == 1 >= 2) // expect: true // Unary - has lower precedence than .. -IO.write(-"abc".count) // expect: -3 +IO.print(-"abc".count) // expect: -3 // TODO: %, associativity. // Using () for grouping. -IO.write((2 * (6 - (2 + 2)))) // expect: 4 +IO.print((2 * (6 - (2 + 2)))) // expect: 4 diff --git a/test/if.wren b/test/if.wren index 379f666c..023b7fb8 100644 --- a/test/if.wren +++ b/test/if.wren @@ -1,28 +1,28 @@ // Evaluate the 'then' expression if the condition is true. -if (true) IO.write("good") // expect: good -if (false) IO.write("bad") +if (true) IO.print("good") // expect: good +if (false) IO.print("bad") // Evaluate the 'else' expression if the condition is false. -if (true) IO.write("good") else IO.write("bad") // expect: good -if (false) IO.write("bad") else IO.write("good") // expect: good +if (true) IO.print("good") else IO.print("bad") // expect: good +if (false) IO.print("bad") else IO.print("good") // expect: good // Allow blocks for branches. -if (true) { IO.write("block") } // expect: block -if (false) null else { IO.write("block") } // expect: block +if (true) { IO.print("block") } // expect: block +if (false) null else { IO.print("block") } // expect: block // Assignment in if condition. var a = false -if (a = true) IO.write(a) // expect: true +if (a = true) IO.print(a) // expect: true // Newline after "if". if -(true) IO.write("good") // expect: good +(true) IO.print("good") // expect: good // Newline after "else". -if (false) IO.write("bad") else -IO.write("good") // expect: good +if (false) IO.print("bad") else +IO.print("good") // expect: good // Only false is falsy. -if (0) IO.write(0) // expect: 0 -if (null) IO.write(null) // expect: null -if ("") IO.write("empty") // expect: empty +if (0) IO.print(0) // expect: 0 +if (null) IO.print(null) // expect: null +if ("") IO.print("empty") // expect: empty diff --git a/test/inheritance/inherit_fields.wren b/test/inheritance/inherit_fields.wren index 799a87d0..90d713fa 100644 --- a/test/inheritance/inherit_fields.wren +++ b/test/inheritance/inherit_fields.wren @@ -5,8 +5,8 @@ class Foo { } fooPrint { - IO.write(_field1) - IO.write(_field2) + IO.print(_field1) + IO.print(_field2) } } @@ -17,8 +17,8 @@ class Bar is Foo { } barPrint { - IO.write(_field1) - IO.write(_field2) + IO.print(_field1) + IO.print(_field2) } } diff --git a/test/inheritance/inherit_methods.wren b/test/inheritance/inherit_methods.wren index b755f539..2308d37b 100644 --- a/test/inheritance/inherit_methods.wren +++ b/test/inheritance/inherit_methods.wren @@ -1,15 +1,15 @@ class Foo { - methodOnFoo { IO.write("foo") } - method(a) { IO.write("foo") } - method(a, b, c) { IO.write("foo") } - override { IO.write("foo") } + methodOnFoo { IO.print("foo") } + method(a) { IO.print("foo") } + method(a, b, c) { IO.print("foo") } + override { IO.print("foo") } } class Bar is Foo { - methodOnBar { IO.write("bar") } - method(a, b) { IO.write("bar") } - method(a, b, c, d) { IO.write("bar") } - override { IO.write("bar") } + methodOnBar { IO.print("bar") } + method(a, b) { IO.print("bar") } + method(a, b, c, d) { IO.print("bar") } + override { IO.print("bar") } } var bar = new Bar diff --git a/test/inheritance/inherit_static_methods.wren b/test/inheritance/inherit_static_methods.wren index 0f651fc2..148c5292 100644 --- a/test/inheritance/inherit_static_methods.wren +++ b/test/inheritance/inherit_static_methods.wren @@ -1,15 +1,15 @@ class Foo { - static methodOnFoo { IO.write("foo") } - static method(a) { IO.write("foo") } - static method(a, b, c) { IO.write("foo") } - static override { IO.write("foo") } + static methodOnFoo { IO.print("foo") } + static method(a) { IO.print("foo") } + static method(a, b, c) { IO.print("foo") } + static override { IO.print("foo") } } class Bar is Foo { - static methodOnBar { IO.write("bar") } - static method(a, b) { IO.write("bar") } - static method(a, b, c, d) { IO.write("bar") } - static override { IO.write("bar") } + static methodOnBar { IO.print("bar") } + static method(a, b) { IO.print("bar") } + static method(a, b, c, d) { IO.print("bar") } + static override { IO.print("bar") } } Bar.methodOnFoo // expect: foo diff --git a/test/inheritance/is.wren b/test/inheritance/is.wren index 14ac0d0a..5c865e00 100644 --- a/test/inheritance/is.wren +++ b/test/inheritance/is.wren @@ -5,12 +5,12 @@ var a = new A var b = new B var c = new C -IO.write(a is A) // expect: true -IO.write(a is B) // expect: false -IO.write(a is C) // expect: false -IO.write(b is A) // expect: true -IO.write(b is B) // expect: true -IO.write(b is C) // expect: false -IO.write(c is A) // expect: true -IO.write(c is B) // expect: true -IO.write(c is C) // expect: true +IO.print(a is A) // expect: true +IO.print(a is B) // expect: false +IO.print(a is C) // expect: false +IO.print(b is A) // expect: true +IO.print(b is B) // expect: true +IO.print(b is C) // expect: false +IO.print(c is A) // expect: true +IO.print(c is B) // expect: true +IO.print(c is C) // expect: true diff --git a/test/io/write.wren b/test/io/write.wren index 10e2b867..d2fb84e7 100644 --- a/test/io/write.wren +++ b/test/io/write.wren @@ -3,10 +3,10 @@ class Foo { } // Calls toString on argument. -IO.write(new Foo) // expect: Foo.toString +IO.print(new Foo) // expect: Foo.toString // Returns argument. -var result = IO.write(123) // expect: 123 -IO.write(result == 123) // expect: true +var result = IO.print(123) // expect: 123 +IO.print(result == 123) // expect: true // TODO: What if toString on argument doesn't return a string? diff --git a/test/is.wren b/test/is.wren index 3b47b9ca..0b03a8de 100644 --- a/test/is.wren +++ b/test/is.wren @@ -1,32 +1,32 @@ -IO.write(Num is Class) // expect: true -IO.write(true is Bool) // expect: true -IO.write((fn 1) is Function) // expect: true -IO.write(123 is Num) // expect: true -IO.write(null is Null) // expect: true -IO.write("s" is String) // expect: true +IO.print(Num is Class) // expect: true +IO.print(true is Bool) // expect: true +IO.print((fn 1) is Function) // expect: true +IO.print(123 is Num) // expect: true +IO.print(null is Null) // expect: true +IO.print("s" is String) // expect: true -IO.write(Num is Bool) // expect: false -IO.write(null is Class) // expect: false -IO.write(true is Function) // expect: false -IO.write((fn 1) is Num) // expect: false -IO.write("s" is Null) // expect: false -IO.write(123 is String) // expect: false +IO.print(Num is Bool) // expect: false +IO.print(null is Class) // expect: false +IO.print(true is Function) // expect: false +IO.print((fn 1) is Num) // expect: false +IO.print("s" is Null) // expect: false +IO.print(123 is String) // expect: false // Everything extends Object. -IO.write(Num is Object) // expect: true -IO.write(null is Object) // expect: true -IO.write(true is Object) // expect: true -IO.write((fn 1) is Object) // expect: true -IO.write("s" is Object) // expect: true -IO.write(123 is Object) // expect: true +IO.print(Num is Object) // expect: true +IO.print(null is Object) // expect: true +IO.print(true is Object) // expect: true +IO.print((fn 1) is Object) // expect: true +IO.print("s" is Object) // expect: true +IO.print(123 is Object) // expect: true // Classes extend Class. -IO.write(Num is Class) // expect: true -IO.write(null is Class) // expect: false -IO.write(true is Class) // expect: false -IO.write((fn 1) is Class) // expect: false -IO.write("s" is Class) // expect: false -IO.write(123 is Class) // expect: false +IO.print(Num is Class) // expect: true +IO.print(null is Class) // expect: false +IO.print(true is Class) // expect: false +IO.print((fn 1) is Class) // expect: false +IO.print("s" is Class) // expect: false +IO.print(123 is Class) // expect: false // TODO: Non-class on RHS. // TODO: Precedence and associativity. diff --git a/test/limit/long_function.wren b/test/limit/long_function.wren index ef259f23..84fe5ba2 100644 --- a/test/limit/long_function.wren +++ b/test/limit/long_function.wren @@ -1,1013 +1,1013 @@ fn { - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 100 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 200 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 300 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 400 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 500 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 600 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 700 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 800 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 900 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 - IO.write(1) // expect: 1 - IO.write(2) // expect: 2 - IO.write(3) // expect: 3 - IO.write(4) // expect: 4 - IO.write(5) // expect: 5 - IO.write(6) // expect: 6 - IO.write(7) // expect: 7 - IO.write(8) // expect: 8 - IO.write(9) // expect: 9 - IO.write(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 + IO.print(1) // expect: 1 + IO.print(2) // expect: 2 + IO.print(3) // expect: 3 + IO.print(4) // expect: 4 + IO.print(5) // expect: 5 + IO.print(6) // expect: 6 + IO.print(7) // expect: 7 + IO.print(8) // expect: 8 + IO.print(9) // expect: 9 + IO.print(10) // expect: 10 // 1000 }.call diff --git a/test/limit/long_string.wren b/test/limit/long_string.wren index cd68aa9f..eeb7724d 100644 --- a/test/limit/long_string.wren +++ b/test/limit/long_string.wren @@ -1,6 +1,6 @@ // Create a very long string containing escape sequences. var s = "1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\n1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890\"1234567890" -IO.write(s) +IO.print(s) // expect: 1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890 // expect: 1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890 // expect: 1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890"1234567890 diff --git a/test/limit/many_constants.wren b/test/limit/many_constants.wren index f6b6c90e..2fe3c52d 100644 --- a/test/limit/many_constants.wren +++ b/test/limit/many_constants.wren @@ -8191,7 +8191,7 @@ var f = fn { 65513; 65514; 65515; 65516; 65517; 65518; 65519; 65520; 65521; 65522; 65523; 65524; 65525; 65526; 65527; 65528; 65529; 65530; 65531; 65532; 65533; 65534; 65535; - IO.write(65536) + IO.print(65536) } f.call // expect: 65536 diff --git a/test/list/add.wren b/test/list/add.wren index 10800dbb..a9785246 100644 --- a/test/list/add.wren +++ b/test/list/add.wren @@ -1,10 +1,10 @@ var a = [] a.add(1) -IO.write(a) // expect: [1] +IO.print(a) // expect: [1] a.add(2) -IO.write(a) // expect: [1, 2] +IO.print(a) // expect: [1, 2] a.add(3) -IO.write(a) // expect: [1, 2, 3] +IO.print(a) // expect: [1, 2, 3] // Returns added element. -IO.write(a.add(4)) // expect: 4 +IO.print(a.add(4)) // expect: 4 diff --git a/test/list/clear.wren b/test/list/clear.wren index dc931356..28a4bfb4 100644 --- a/test/list/clear.wren +++ b/test/list/clear.wren @@ -1,7 +1,7 @@ var a = [1, 2, 3] a.clear -IO.write(a) // expect: [] -IO.write(a.count) // expect: 0 +IO.print(a) // expect: [] +IO.print(a.count) // expect: 0 // Returns null. -IO.write([1, 2].clear) // expect: null +IO.print([1, 2].clear) // expect: null diff --git a/test/list/count.wren b/test/list/count.wren index c0728157..9b5c2f10 100644 --- a/test/list/count.wren +++ b/test/list/count.wren @@ -1,3 +1,3 @@ -IO.write([].count) // expect: 0 -IO.write([1].count) // expect: 1 -IO.write([1, 2, 3, 4].count) // expect: 4 +IO.print([].count) // expect: 0 +IO.print([1].count) // expect: 1 +IO.print([1, 2, 3, 4].count) // expect: 4 diff --git a/test/list/insert.wren b/test/list/insert.wren index 9a306a58..44097630 100644 --- a/test/list/insert.wren +++ b/test/list/insert.wren @@ -1,41 +1,41 @@ // Add to empty list. var a = [] a.insert(1, 0) -IO.write(a) // expect: [1] +IO.print(a) // expect: [1] // Normal indices. var b = [1, 2, 3] b.insert(4, 0) -IO.write(b) // expect: [4, 1, 2, 3] +IO.print(b) // expect: [4, 1, 2, 3] var c = [1, 2, 3] c.insert(4, 1) -IO.write(c) // expect: [1, 4, 2, 3] +IO.print(c) // expect: [1, 4, 2, 3] var d = [1, 2, 3] d.insert(4, 2) -IO.write(d) // expect: [1, 2, 4, 3] +IO.print(d) // expect: [1, 2, 4, 3] var e = [1, 2, 3] e.insert(4, 3) -IO.write(e) // expect: [1, 2, 3, 4] +IO.print(e) // expect: [1, 2, 3, 4] // Negative indices. var f = [1, 2, 3] f.insert(4, -4) -IO.write(f) // expect: [4, 1, 2, 3] +IO.print(f) // expect: [4, 1, 2, 3] var g = [1, 2, 3] g.insert(4, -3) -IO.write(g) // expect: [1, 4, 2, 3] +IO.print(g) // expect: [1, 4, 2, 3] var h = [1, 2, 3] h.insert(4, -2) -IO.write(h) // expect: [1, 2, 4, 3] +IO.print(h) // expect: [1, 2, 4, 3] var i = [1, 2, 3] i.insert(4, -1) -IO.write(i) // expect: [1, 2, 3, 4] +IO.print(i) // expect: [1, 2, 3, 4] // Returns.inserted value. -IO.write([1, 2].insert(3, 0)) // expect: 3 +IO.print([1, 2].insert(3, 0)) // expect: 3 diff --git a/test/list/iterate.wren b/test/list/iterate.wren index 40cd3c93..8c9e3c61 100644 --- a/test/list/iterate.wren +++ b/test/list/iterate.wren @@ -1,7 +1,7 @@ var a = ["one", "two", "three", "four"] -IO.write(a.iterate(null)) // expect: 0 -IO.write(a.iterate(0)) // expect: 1 -IO.write(a.iterate(1)) // expect: 2 -IO.write(a.iterate(2)) // expect: 3 -IO.write(a.iterate(3)) // expect: false -IO.write(a.iterate(-1)) // expect: false +IO.print(a.iterate(null)) // expect: 0 +IO.print(a.iterate(0)) // expect: 1 +IO.print(a.iterate(1)) // expect: 2 +IO.print(a.iterate(2)) // expect: 3 +IO.print(a.iterate(3)) // expect: false +IO.print(a.iterate(-1)) // expect: false diff --git a/test/list/iterator_value.wren b/test/list/iterator_value.wren index 116ce374..899dbc67 100644 --- a/test/list/iterator_value.wren +++ b/test/list/iterator_value.wren @@ -1,5 +1,5 @@ var a = ["one", "two", "three", "four"] -IO.write(a.iteratorValue(0)) // expect: one -IO.write(a.iteratorValue(1)) // expect: two -IO.write(a.iteratorValue(2)) // expect: three -IO.write(a.iteratorValue(3)) // expect: four +IO.print(a.iteratorValue(0)) // expect: one +IO.print(a.iteratorValue(1)) // expect: two +IO.print(a.iteratorValue(2)) // expect: three +IO.print(a.iteratorValue(3)) // expect: four diff --git a/test/list/newlines.wren b/test/list/newlines.wren index 3415df80..81873d8a 100644 --- a/test/list/newlines.wren +++ b/test/list/newlines.wren @@ -8,7 +8,7 @@ var list = [ ] -IO.write(list[0]) // expect: a -IO.write(list[1]) // expect: b -IO.write(list[2]) // expect: c -IO.write(list[3]) // expect: d +IO.print(list[0]) // expect: a +IO.print(list[1]) // expect: b +IO.print(list[2]) // expect: c +IO.print(list[3]) // expect: d diff --git a/test/list/remove_at.wren b/test/list/remove_at.wren index ff1eed51..1668b20b 100644 --- a/test/list/remove_at.wren +++ b/test/list/remove_at.wren @@ -1,27 +1,27 @@ var a = [1, 2, 3] a.removeAt(0) -IO.write(a) // expect: [2, 3] +IO.print(a) // expect: [2, 3] var b = [1, 2, 3] b.removeAt(1) -IO.write(b) // expect: [1, 3] +IO.print(b) // expect: [1, 3] var c = [1, 2, 3] c.removeAt(2) -IO.write(c) // expect: [1, 2] +IO.print(c) // expect: [1, 2] // Index backwards from end. var d = [1, 2, 3] d.removeAt(-3) -IO.write(d) // expect: [2, 3] +IO.print(d) // expect: [2, 3] var e = [1, 2, 3] e.removeAt(-2) -IO.write(e) // expect: [1, 3] +IO.print(e) // expect: [1, 3] var f = [1, 2, 3] f.removeAt(-1) -IO.write(f) // expect: [1, 2] +IO.print(f) // expect: [1, 2] // Return the removed value. -IO.write([3, 4, 5].removeAt(1)) // expect: 4 +IO.print([3, 4, 5].removeAt(1)) // expect: 4 diff --git a/test/list/subscript.wren b/test/list/subscript.wren index 9b541575..8b38e3c3 100644 --- a/test/list/subscript.wren +++ b/test/list/subscript.wren @@ -1,12 +1,12 @@ // Returns elements. var list = ["a", "b", "c", "d"] -IO.write(list[0]) // expect: a -IO.write(list[1]) // expect: b -IO.write(list[2]) // expect: c -IO.write(list[3]) // expect: d +IO.print(list[0]) // expect: a +IO.print(list[1]) // expect: b +IO.print(list[2]) // expect: c +IO.print(list[3]) // expect: d // Allows indexing backwards from the end. -IO.write(list[-4]) // expect: a -IO.write(list[-3]) // expect: b -IO.write(list[-2]) // expect: c -IO.write(list[-1]) // expect: d +IO.print(list[-4]) // expect: a +IO.print(list[-3]) // expect: b +IO.print(list[-2]) // expect: c +IO.print(list[-1]) // expect: d diff --git a/test/list/subscript_setter.wren b/test/list/subscript_setter.wren index d05f4ca8..d7e567de 100644 --- a/test/list/subscript_setter.wren +++ b/test/list/subscript_setter.wren @@ -4,13 +4,13 @@ list[0] = 5 list[1] = 6 list[2] = 7 - IO.write(list) // expect: [5, 6, 7] + IO.print(list) // expect: [5, 6, 7] } // Returns right-hand side. { var list = [1, 2, 3] - IO.write(list[1] = 5) // expect: 5 + IO.print(list[1] = 5) // expect: 5 } // Negative indices. @@ -19,7 +19,7 @@ list[-1] = 5 list[-2] = 6 list[-3] = 7 - IO.write(list) // expect: [7, 6, 5] + IO.print(list) // expect: [7, 6, 5] } // TODO: Handle out of range. diff --git a/test/list/to_string.wren b/test/list/to_string.wren index 1af1282f..75cd4cc0 100644 --- a/test/list/to_string.wren +++ b/test/list/to_string.wren @@ -1,17 +1,17 @@ // Handle empty list. -IO.write([].toString) // expect: [] +IO.print([].toString) // expect: [] // Does not quote strings. -IO.write([1, "2", true].toString) // expect: [1, 2, true] +IO.print([1, "2", true].toString) // expect: [1, 2, true] // Nested lists. -IO.write([1, [2, [3], 4], 5]) // expect: [1, [2, [3], 4], 5] +IO.print([1, [2, [3], 4], 5]) // expect: [1, [2, [3], 4], 5] // Calls toString on elements. class Foo { toString { return "Foo.toString" } } -IO.write([1, new Foo, 2]) // expect: [1, Foo.toString, 2] +IO.print([1, new Foo, 2]) // expect: [1, Foo.toString, 2] // TODO: Handle lists that contain themselves. diff --git a/test/list/type.wren b/test/list/type.wren index 388aaa02..5f63fe6f 100644 --- a/test/list/type.wren +++ b/test/list/type.wren @@ -1,4 +1,4 @@ -IO.write([] is List) // expect: true -IO.write([] is Object) // expect: true -IO.write([] is Bool) // expect: false -IO.write([].type == List) // expect: true +IO.print([] is List) // expect: true +IO.print([] is Object) // expect: true +IO.print([] is Bool) // expect: false +IO.print([].type == List) // expect: true diff --git a/test/method/arity.wren b/test/method/arity.wren index 9c8d523a..41ac7343 100644 --- a/test/method/arity.wren +++ b/test/method/arity.wren @@ -19,20 +19,20 @@ class Foo { } var foo = new Foo -IO.write(foo.method) // expect: 0 -IO.write(foo.method(1)) // expect: 1 -IO.write(foo.method(1, 2)) // expect: 3 -IO.write(foo.method(1, 2, 3)) // expect: 6 -IO.write(foo.method(1, 2, 3, 4)) // expect: 10 -IO.write(foo.method(1, 2, 3, 4, 5)) // expect: 15 -IO.write(foo.method(1, 2, 3, 4, 5, 6)) // expect: 21 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7)) // expect: 28 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8)) // expect: 36 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9)) // expect: 45 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // expect: 55 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)) // expect: 66 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)) // expect: 78 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)) // expect: 91 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)) // expect: 105 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) // expect: 120 -IO.write(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)) // expect: 136 +IO.print(foo.method) // expect: 0 +IO.print(foo.method(1)) // expect: 1 +IO.print(foo.method(1, 2)) // expect: 3 +IO.print(foo.method(1, 2, 3)) // expect: 6 +IO.print(foo.method(1, 2, 3, 4)) // expect: 10 +IO.print(foo.method(1, 2, 3, 4, 5)) // expect: 15 +IO.print(foo.method(1, 2, 3, 4, 5, 6)) // expect: 21 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7)) // expect: 28 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8)) // expect: 36 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9)) // expect: 45 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // expect: 55 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)) // expect: 66 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)) // expect: 78 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)) // expect: 91 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)) // expect: 105 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) // expect: 120 +IO.print(foo.method(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)) // expect: 136 diff --git a/test/method/empty_block.wren b/test/method/empty_block.wren index da578d24..4ee5aa7b 100644 --- a/test/method/empty_block.wren +++ b/test/method/empty_block.wren @@ -2,4 +2,4 @@ class Foo { bar {} } -IO.write((new Foo).bar) // expect: null +IO.print((new Foo).bar) // expect: null diff --git a/test/method/long_name.wren b/test/method/long_name.wren index 9d5bd5a0..c95363b9 100644 --- a/test/method/long_name.wren +++ b/test/method/long_name.wren @@ -4,4 +4,4 @@ class Foo { } } -IO.write((new Foo).thisHasAMethodNameThatIsExactly64CharactersLongWhichIsTheMaximum) // expect: result +IO.print((new Foo).thisHasAMethodNameThatIsExactly64CharactersLongWhichIsTheMaximum) // expect: result diff --git a/test/method/many_methods.wren b/test/method/many_methods.wren index 0cff874d..d0586c50 100644 --- a/test/method/many_methods.wren +++ b/test/method/many_methods.wren @@ -2021,4 +2021,4 @@ result = result + foo.method996 result = result + foo.method997 result = result + foo.method998 result = result + foo.method999 -IO.write(result) // expect: 1000 +IO.print(result) // expect: 1000 diff --git a/test/method/operators.wren b/test/method/operators.wren index dd76fd49..48fa74dd 100644 --- a/test/method/operators.wren +++ b/test/method/operators.wren @@ -16,16 +16,16 @@ class Foo { } var foo = new Foo -IO.write(foo + "a") // expect: infix + a -IO.write(foo - "a") // expect: infix - a -IO.write(foo * "a") // expect: infix * a -IO.write(foo / "a") // expect: infix / a -IO.write(foo % "a") // expect: infix % a -IO.write(foo < "a") // expect: infix < a -IO.write(foo > "a") // expect: infix > a -IO.write(foo <= "a") // expect: infix <= a -IO.write(foo >= "a") // expect: infix >= a -IO.write(foo == "a") // expect: infix == a -IO.write(foo != "a") // expect: infix != a -IO.write(!foo) // expect: prefix ! -IO.write(-foo) // expect: prefix - +IO.print(foo + "a") // expect: infix + a +IO.print(foo - "a") // expect: infix - a +IO.print(foo * "a") // expect: infix * a +IO.print(foo / "a") // expect: infix / a +IO.print(foo % "a") // expect: infix % a +IO.print(foo < "a") // expect: infix < a +IO.print(foo > "a") // expect: infix > a +IO.print(foo <= "a") // expect: infix <= a +IO.print(foo >= "a") // expect: infix >= a +IO.print(foo == "a") // expect: infix == a +IO.print(foo != "a") // expect: infix != a +IO.print(!foo) // expect: prefix ! +IO.print(-foo) // expect: prefix - diff --git a/test/method/static.wren b/test/method/static.wren index cb7b42e8..660825c0 100644 --- a/test/method/static.wren +++ b/test/method/static.wren @@ -6,7 +6,7 @@ class Foo { static bar(arg) { return "on metaclass " + arg } } -IO.write((new Foo).bar) // expect: on instance -IO.write(Foo.bar) // expect: on metaclass -IO.write((new Foo).bar("arg")) // expect: on instance arg -IO.write(Foo.bar("arg")) // expect: on metaclass arg +IO.print((new Foo).bar) // expect: on instance +IO.print(Foo.bar) // expect: on metaclass +IO.print((new Foo).bar("arg")) // expect: on instance arg +IO.print(Foo.bar("arg")) // expect: on metaclass arg diff --git a/test/method/too_many_arguments.wren b/test/method/too_many_arguments.wren index 00ea17b9..c49643b8 100644 --- a/test/method/too_many_arguments.wren +++ b/test/method/too_many_arguments.wren @@ -1 +1 @@ -IO.write(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) // expect error +IO.print(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) // expect error diff --git a/test/no_trailing_newline.wren b/test/no_trailing_newline.wren index 69f16d12..0b7bfa9e 100644 --- a/test/no_trailing_newline.wren +++ b/test/no_trailing_newline.wren @@ -1 +1 @@ -IO.write("ok") // expect: ok \ No newline at end of file +IO.print("ok") // expect: ok \ No newline at end of file diff --git a/test/null.wren b/test/null.wren index cd77fc3d..8f59128c 100644 --- a/test/null.wren +++ b/test/null.wren @@ -1 +1 @@ -IO.write(null) // expect: null +IO.print(null) // expect: null diff --git a/test/null_type.wren b/test/null_type.wren index 2503e8ce..3fdb2628 100644 --- a/test/null_type.wren +++ b/test/null_type.wren @@ -1,4 +1,4 @@ -IO.write(null is Null) // expect: true -IO.write(null is Object) // expect: true -IO.write(null is Bool) // expect: false -IO.write(null.type == Null) // expect: true +IO.print(null is Null) // expect: true +IO.print(null is Object) // expect: true +IO.print(null is Bool) // expect: false +IO.print(null.type == Null) // expect: true diff --git a/test/number/abs.wren b/test/number/abs.wren index 5b30aab1..31c1e444 100644 --- a/test/number/abs.wren +++ b/test/number/abs.wren @@ -1,6 +1,6 @@ -IO.write(123.abs) // expect: 123 -IO.write(-123.abs) // expect: 123 -IO.write(0.abs) // expect: 0 -IO.write(-0.abs) // expect: 0 -IO.write(-0.12.abs) // expect: 0.12 -IO.write(12.34.abs) // expect: 12.34 +IO.print(123.abs) // expect: 123 +IO.print(-123.abs) // expect: 123 +IO.print(0.abs) // expect: 0 +IO.print(-0.abs) // expect: 0 +IO.print(-0.12.abs) // expect: 0.12 +IO.print(12.34.abs) // expect: 12.34 diff --git a/test/number/bitwise_not.wren b/test/number/bitwise_not.wren index 6eddb7ec..06676c4a 100644 --- a/test/number/bitwise_not.wren +++ b/test/number/bitwise_not.wren @@ -1,22 +1,22 @@ -IO.write(~0) // expect: 4294967295 -IO.write(~1) // expect: 4294967294 -IO.write(~23) // expect: 4294967272 +IO.print(~0) // expect: 4294967295 +IO.print(~1) // expect: 4294967294 +IO.print(~23) // expect: 4294967272 // Max u32 value. -IO.write(~4294967295) // expect: 0 +IO.print(~4294967295) // expect: 0 // Past max u32 value. -IO.write(~4294967296) // expect: 4294967295 +IO.print(~4294967296) // expect: 4294967295 // Negative numbers. -IO.write(~-1) // expect: 0 -IO.write(~-123) // expect: 122 -IO.write(~-4294967294) // expect: 4294967293 -IO.write(~-4294967295) // expect: 4294967294 -IO.write(~-4294967296) // expect: 4294967295 +IO.print(~-1) // expect: 0 +IO.print(~-123) // expect: 122 +IO.print(~-4294967294) // expect: 4294967293 +IO.print(~-4294967295) // expect: 4294967294 +IO.print(~-4294967296) // expect: 4294967295 // Floating point values. -IO.write(~1.23) // expect: 4294967294 -IO.write(~0.00123) // expect: 4294967295 -IO.write(~345.67) // expect: 4294966950 -IO.write(~-12.34) // expect: 11 +IO.print(~1.23) // expect: 4294967294 +IO.print(~0.00123) // expect: 4294967295 +IO.print(~345.67) // expect: 4294966950 +IO.print(~-12.34) // expect: 11 diff --git a/test/number/comparison.wren b/test/number/comparison.wren index 4a3c07aa..8cee6c47 100644 --- a/test/number/comparison.wren +++ b/test/number/comparison.wren @@ -1,27 +1,27 @@ -IO.write(1 < 2) // expect: true -IO.write(2 < 2) // expect: false -IO.write(2 < 1) // expect: false +IO.print(1 < 2) // expect: true +IO.print(2 < 2) // expect: false +IO.print(2 < 1) // expect: false -IO.write(1 <= 2) // expect: true -IO.write(2 <= 2) // expect: true -IO.write(2 <= 1) // expect: false +IO.print(1 <= 2) // expect: true +IO.print(2 <= 2) // expect: true +IO.print(2 <= 1) // expect: false -IO.write(1 > 2) // expect: false -IO.write(2 > 2) // expect: false -IO.write(2 > 1) // expect: true +IO.print(1 > 2) // expect: false +IO.print(2 > 2) // expect: false +IO.print(2 > 1) // expect: true -IO.write(1 >= 2) // expect: false -IO.write(2 >= 2) // expect: true -IO.write(2 >= 1) // expect: true +IO.print(1 >= 2) // expect: false +IO.print(2 >= 2) // expect: true +IO.print(2 >= 1) // expect: true // Zero and negative zero compare the same. -IO.write(0 < -0) // expect: false -IO.write(-0 < 0) // expect: false -IO.write(0 > -0) // expect: false -IO.write(-0 > 0) // expect: false -IO.write(0 <= -0) // expect: true -IO.write(-0 <= 0) // expect: true -IO.write(0 >= -0) // expect: true -IO.write(-0 >= 0) // expect: true +IO.print(0 < -0) // expect: false +IO.print(-0 < 0) // expect: false +IO.print(0 > -0) // expect: false +IO.print(-0 > 0) // expect: false +IO.print(0 <= -0) // expect: true +IO.print(-0 <= 0) // expect: true +IO.print(0 >= -0) // expect: true +IO.print(-0 >= 0) // expect: true // TODO: Wrong type for RHS. diff --git a/test/number/divide.wren b/test/number/divide.wren index e4e1c102..fe232ba2 100644 --- a/test/number/divide.wren +++ b/test/number/divide.wren @@ -1,5 +1,5 @@ -IO.write(8 / 2) // expect: 4 -IO.write(12.34 / -0.4) // expect: -30.85 +IO.print(8 / 2) // expect: 4 +IO.print(12.34 / -0.4) // expect: -30.85 // TODO: Unsupported RHS types. // TODO: Divide by zero. diff --git a/test/number/equality.wren b/test/number/equality.wren index 6682ddb4..9b777037 100644 --- a/test/number/equality.wren +++ b/test/number/equality.wren @@ -1,19 +1,19 @@ -IO.write(123 == 123) // expect: true -IO.write(123 == 124) // expect: false -IO.write(-3 == 3) // expect: false -IO.write(0 == -0) // expect: true +IO.print(123 == 123) // expect: true +IO.print(123 == 124) // expect: false +IO.print(-3 == 3) // expect: false +IO.print(0 == -0) // expect: true // Not equal to other types. -IO.write(123 == "123") // expect: false -IO.write(1 == true) // expect: false -IO.write(0 == false) // expect: false +IO.print(123 == "123") // expect: false +IO.print(1 == true) // expect: false +IO.print(0 == false) // expect: false -IO.write(123 != 123) // expect: false -IO.write(123 != 124) // expect: true -IO.write(-3 != 3) // expect: true -IO.write(0 != -0) // expect: false +IO.print(123 != 123) // expect: false +IO.print(123 != 124) // expect: true +IO.print(-3 != 3) // expect: true +IO.print(0 != -0) // expect: false // Not equal to other types. -IO.write(123 != "123") // expect: true -IO.write(1 != true) // expect: true -IO.write(0 != false) // expect: true +IO.print(123 != "123") // expect: true +IO.print(1 != true) // expect: true +IO.print(0 != false) // expect: true diff --git a/test/number/literals.wren b/test/number/literals.wren index 54ff92ea..30899dd0 100644 --- a/test/number/literals.wren +++ b/test/number/literals.wren @@ -1,10 +1,10 @@ -IO.write(123) // expect: 123 -IO.write(987654) // expect: 987654 -IO.write(0) // expect: 0 -IO.write(-0) // expect: -0 +IO.print(123) // expect: 123 +IO.print(987654) // expect: 987654 +IO.print(0) // expect: 0 +IO.print(-0) // expect: -0 -IO.write(123.456) // expect: 123.456 -IO.write(-0.001) // expect: -0.001 +IO.print(123.456) // expect: 123.456 +IO.print(-0.001) // expect: -0.001 // TODO: Hex? Scientific notation? // TODO: Literals at and beyond numeric limits. diff --git a/test/number/minus.wren b/test/number/minus.wren index a04e3714..b02f7b59 100644 --- a/test/number/minus.wren +++ b/test/number/minus.wren @@ -1,10 +1,10 @@ // Infix. -IO.write(5 - 3) // expect: 2 -IO.write(3.1 - 0.24) // expect: 2.86 -IO.write(3 - 2 - 1) // expect: 0 +IO.print(5 - 3) // expect: 2 +IO.print(3.1 - 0.24) // expect: 2.86 +IO.print(3 - 2 - 1) // expect: 0 // Unary negation. var a = 3 -IO.write(-a) // expect: -3 +IO.print(-a) // expect: -3 // TODO: Unsupported RHS types. diff --git a/test/number/mod.wren b/test/number/mod.wren index 7078e72a..29f1e06c 100644 --- a/test/number/mod.wren +++ b/test/number/mod.wren @@ -1,14 +1,14 @@ -IO.write(5 % 3) // expect: 2 -IO.write(10 % 5) // expect: 0 -IO.write(-4 % 3) // expect: -1 -IO.write(4 % -3) // expect: 1 -IO.write(-4 % -3) // expect: -1 -IO.write(-4.2 % 3.1) // expect: -1.1 -IO.write(4.2 % -3.1) // expect: 1.1 -IO.write(-4.2 % -3.1) // expect: -1.1 +IO.print(5 % 3) // expect: 2 +IO.print(10 % 5) // expect: 0 +IO.print(-4 % 3) // expect: -1 +IO.print(4 % -3) // expect: 1 +IO.print(-4 % -3) // expect: -1 +IO.print(-4.2 % 3.1) // expect: -1.1 +IO.print(4.2 % -3.1) // expect: 1.1 +IO.print(-4.2 % -3.1) // expect: -1.1 // Left associative. -IO.write(13 % 7 % 4) // expect: 2 +IO.print(13 % 7 % 4) // expect: 2 // TODO: Unsupported RHS types. // TODO: Error on mod by zero. diff --git a/test/number/multiply.wren b/test/number/multiply.wren index 04e527bd..40cc4639 100644 --- a/test/number/multiply.wren +++ b/test/number/multiply.wren @@ -1,4 +1,4 @@ -IO.write(5 * 3) // expect: 15 -IO.write(12.34 * 0.3) // expect: 3.702 +IO.print(5 * 3) // expect: 15 +IO.print(12.34 * 0.3) // expect: 3.702 // TODO: Unsupported RHS types. diff --git a/test/number/plus.wren b/test/number/plus.wren index 4eb177de..d8e37541 100644 --- a/test/number/plus.wren +++ b/test/number/plus.wren @@ -1,5 +1,5 @@ -IO.write(1 + 2) // expect: 3 -IO.write(12.34 + 0.13) // expect: 12.47 -IO.write(3 + 5 + 2) // expect: 10 +IO.print(1 + 2) // expect: 3 +IO.print(12.34 + 0.13) // expect: 12.47 +IO.print(3 + 5 + 2) // expect: 10 // TODO: Unsupported RHS types. diff --git a/test/number/range.wren b/test/number/range.wren index c7b98c72..3bd27082 100644 --- a/test/number/range.wren +++ b/test/number/range.wren @@ -1,12 +1,12 @@ var inclusive = 2..5 -IO.write(inclusive is Range) // expect: true -IO.write(inclusive.min) // expect: 2 -IO.write(inclusive.max) // expect: 5 +IO.print(inclusive is Range) // expect: true +IO.print(inclusive.min) // expect: 2 +IO.print(inclusive.max) // expect: 5 var exclusive = 2...5 -IO.write(exclusive is Range) // expect: true -IO.write(exclusive.min) // expect: 2 -IO.write(exclusive.max) // expect: 4 +IO.print(exclusive is Range) // expect: true +IO.print(exclusive.min) // expect: 2 +IO.print(exclusive.max) // expect: 4 // TODO: Non-number RHS. // TODO: Non-integer RHS. diff --git a/test/number/to_string.wren b/test/number/to_string.wren index 8565945a..b02ca7e2 100644 --- a/test/number/to_string.wren +++ b/test/number/to_string.wren @@ -1,5 +1,5 @@ -IO.write(123.toString == "123") // expect: true -IO.write(-123.toString == "-123") // expect: true -IO.write(-0.toString == "-0") // expect: true -IO.write(12.34.toString == "12.34") // expect: true -IO.write(-0.0001.toString == "-0.0001") // expect: true +IO.print(123.toString == "123") // expect: true +IO.print(-123.toString == "-123") // expect: true +IO.print(-0.toString == "-0") // expect: true +IO.print(12.34.toString == "12.34") // expect: true +IO.print(-0.0001.toString == "-0.0001") // expect: true diff --git a/test/number/type.wren b/test/number/type.wren index 3cf32a1b..bf7a65a8 100644 --- a/test/number/type.wren +++ b/test/number/type.wren @@ -1,4 +1,4 @@ -IO.write(123 is Num) // expect: true -IO.write(123 is Object) // expect: true -IO.write(123 is String) // expect: false -IO.write(123.type == Num) // expect: true +IO.print(123 is Num) // expect: true +IO.print(123 is Object) // expect: true +IO.print(123 is String) // expect: false +IO.print(123.type == Num) // expect: true diff --git a/test/object/to_string.wren b/test/object/to_string.wren index 7b31acc5..f1b09165 100644 --- a/test/object/to_string.wren +++ b/test/object/to_string.wren @@ -1,2 +1,2 @@ class Foo {} -IO.write((new Foo).toString) // expect: +IO.print((new Foo).toString) // expect: diff --git a/test/or.wren b/test/or.wren index 5754da4c..c35a4c9d 100644 --- a/test/or.wren +++ b/test/or.wren @@ -1,26 +1,26 @@ // Note: These tests implicitly depend on ints being truthy. -// Also rely on IO.write() returning its argument. +// Also rely on IO.print() returning its argument. // Return the first true argument. -IO.write(1 || true) // expect: 1 -IO.write(false || 1) // expect: 1 -IO.write(false || false || true) // expect: true +IO.print(1 || true) // expect: 1 +IO.print(false || 1) // expect: 1 +IO.print(false || false || true) // expect: true // Return the last argument if all are false. -IO.write(false || false) // expect: false -IO.write(false || false || false) // expect: false +IO.print(false || false) // expect: false +IO.print(false || false || false) // expect: false // Short-circuit at the first true argument. -IO.write(false) || // expect: false - IO.write(true) || // expect: true - IO.write(true) // should not print +IO.print(false) || // expect: false + IO.print(true) || // expect: true + IO.print(true) // should not print // Swallow a trailing newline. -IO.write(true || +IO.print(true || true) // expect: true // Only false is falsy. -IO.write(0 || true) // expect: 0 -IO.write(null || true) // expect: null -IO.write(("" || true) == "") // expect: true -IO.write(false || true) // expect: true +IO.print(0 || true) // expect: 0 +IO.print(null || true) // expect: null +IO.print(("" || true) == "") // expect: true +IO.print(false || true) // expect: true diff --git a/test/return/after_else.wren b/test/return/after_else.wren index 0a9f9ab4..8ae87fcd 100644 --- a/test/return/after_else.wren +++ b/test/return/after_else.wren @@ -1,3 +1,3 @@ -IO.write(fn { +IO.print(fn { if (false) "no" else return "ok" }.call) // expect: ok diff --git a/test/return/after_if.wren b/test/return/after_if.wren index 54ee64ef..d1499331 100644 --- a/test/return/after_if.wren +++ b/test/return/after_if.wren @@ -1,3 +1,3 @@ -IO.write(fn { +IO.print(fn { if (true) return "ok" }.call) // expect: ok diff --git a/test/return/after_while.wren b/test/return/after_while.wren index 6f77af20..ad5446f0 100644 --- a/test/return/after_while.wren +++ b/test/return/after_while.wren @@ -1,3 +1,3 @@ -IO.write(fn { +IO.print(fn { while (true) return "ok" }.call) // expect: ok diff --git a/test/return/in_function.wren b/test/return/in_function.wren index e36b14bc..0b1a26af 100644 --- a/test/return/in_function.wren +++ b/test/return/in_function.wren @@ -1 +1 @@ -var a = "ok"; IO.write(a) // expect: ok +var a = "ok"; IO.print(a) // expect: ok diff --git a/test/return/in_method.wren b/test/return/in_method.wren index 467fc403..6e68dde4 100644 --- a/test/return/in_method.wren +++ b/test/return/in_method.wren @@ -1,8 +1,8 @@ class Foo { method { return "ok" - IO.write("bad") + IO.print("bad") } } -IO.write((new Foo).method) // expect: ok +IO.print((new Foo).method) // expect: ok diff --git a/test/semicolon.wren b/test/semicolon.wren index e36b14bc..0b1a26af 100644 --- a/test/semicolon.wren +++ b/test/semicolon.wren @@ -1 +1 @@ -var a = "ok"; IO.write(a) // expect: ok +var a = "ok"; IO.print(a) // expect: ok diff --git a/test/setter/associativity.wren b/test/setter/associativity.wren index 15096131..efc1d7ab 100644 --- a/test/setter/associativity.wren +++ b/test/setter/associativity.wren @@ -13,6 +13,6 @@ var c = new Foo("c") // Assignment is right-associative. a.bar = b.bar = c.bar = "d" -IO.write(a.toString) // expect: d -IO.write(b.toString) // expect: d -IO.write(c.toString) // expect: d +IO.print(a.toString) // expect: d +IO.print(b.toString) // expect: d +IO.print(c.toString) // expect: d diff --git a/test/setter/instance.wren b/test/setter/instance.wren index 7ac56b8c..d61254d7 100644 --- a/test/setter/instance.wren +++ b/test/setter/instance.wren @@ -1,6 +1,6 @@ class Foo { bar = value { - IO.write(value) + IO.print(value) } } diff --git a/test/setter/result.wren b/test/setter/result.wren index dca95ed3..e7351fea 100644 --- a/test/setter/result.wren +++ b/test/setter/result.wren @@ -3,4 +3,4 @@ class Foo { } var foo = new Foo -IO.write(foo.bar = "value") // expect: result +IO.print(foo.bar = "value") // expect: result diff --git a/test/setter/same_name_as_method.wren b/test/setter/same_name_as_method.wren index 6e99ca4b..82814c0b 100644 --- a/test/setter/same_name_as_method.wren +++ b/test/setter/same_name_as_method.wren @@ -1,6 +1,6 @@ class Foo { - bar = value { IO.write("set") } - bar { IO.write("get") } + bar = value { IO.print("set") } + bar { IO.print("get") } } var foo = new Foo diff --git a/test/setter/static.wren b/test/setter/static.wren index ef2fc6ab..157d8847 100644 --- a/test/setter/static.wren +++ b/test/setter/static.wren @@ -1,6 +1,6 @@ class Foo { static bar = value { - IO.write(value) + IO.print(value) } } diff --git a/test/string/contains.wren b/test/string/contains.wren index cc813808..a2f41541 100644 --- a/test/string/contains.wren +++ b/test/string/contains.wren @@ -1,6 +1,6 @@ -IO.write("".contains("")) // expect: true -IO.write("anything".contains("")) // expect: true -IO.write("something".contains("meth")) // expect: true -IO.write("something".contains("some")) // expect: true -IO.write("something".contains("ing")) // expect: true -IO.write("something".contains("math")) // expect: false +IO.print("".contains("")) // expect: true +IO.print("anything".contains("")) // expect: true +IO.print("something".contains("meth")) // expect: true +IO.print("something".contains("some")) // expect: true +IO.print("something".contains("ing")) // expect: true +IO.print("something".contains("math")) // expect: false diff --git a/test/string/count.wren b/test/string/count.wren index 6dfbedd1..d7af9f3b 100644 --- a/test/string/count.wren +++ b/test/string/count.wren @@ -1,2 +1,2 @@ -IO.write("".count) // expect: 0 -IO.write("a string".count) // expect: 8 +IO.print("".count) // expect: 0 +IO.print("a string".count) // expect: 8 diff --git a/test/string/equality.wren b/test/string/equality.wren index f0206cb9..23dd3f06 100644 --- a/test/string/equality.wren +++ b/test/string/equality.wren @@ -1,19 +1,19 @@ -IO.write("" == "") // expect: true -IO.write("abcd" == "abcd") // expect: true -IO.write("abcd" == "d") // expect: false -IO.write("e" == "abcd") // expect: false -IO.write("" == "abcd") // expect: false +IO.print("" == "") // expect: true +IO.print("abcd" == "abcd") // expect: true +IO.print("abcd" == "d") // expect: false +IO.print("e" == "abcd") // expect: false +IO.print("" == "abcd") // expect: false // Not equal to other types. -IO.write("1" == 1) // expect: false -IO.write("true" == true) // expect: false +IO.print("1" == 1) // expect: false +IO.print("true" == true) // expect: false -IO.write("" != "") // expect: false -IO.write("abcd" != "abcd") // expect: false -IO.write("abcd" != "d") // expect: true -IO.write("e" != "abcd") // expect: true -IO.write("" != "abcd") // expect: true +IO.print("" != "") // expect: false +IO.print("abcd" != "abcd") // expect: false +IO.print("abcd" != "d") // expect: true +IO.print("e" != "abcd") // expect: true +IO.print("" != "abcd") // expect: true // Not equal to other types. -IO.write("1" != 1) // expect: true -IO.write("true" != true) // expect: true +IO.print("1" != 1) // expect: true +IO.print("true" != true) // expect: true diff --git a/test/string/escapes.wren b/test/string/escapes.wren index dccf87ad..eaf5ab75 100644 --- a/test/string/escapes.wren +++ b/test/string/escapes.wren @@ -1,8 +1,7 @@ // Escape characters. -IO.write("\"") // expect: " -IO.write("\\") // expect: \ -IO.write("(\n)") // expect: ( +IO.print("\"") // expect: " +IO.print("\\") // expect: \ +IO.print("(\n)") // expect: ( // expect: ) // TODO: Non-printing escapes like \t. -// TODO: Unicode escape sequences. diff --git a/test/string/literals.wren b/test/string/literals.wren index ac20b7ce..18a6e995 100644 --- a/test/string/literals.wren +++ b/test/string/literals.wren @@ -1,2 +1,2 @@ -IO.write("".count) // expect: 0 -IO.write("a string") // expect: a string +IO.print("".count) // expect: 0 +IO.print("a string") // expect: a string diff --git a/test/string/subscript.wren b/test/string/subscript.wren index c1cba0d4..658cbfe5 100644 --- a/test/string/subscript.wren +++ b/test/string/subscript.wren @@ -1,11 +1,11 @@ // Returns characters (as strings). -IO.write("abcd"[0]) // expect: a -IO.write("abcd"[1]) // expect: b -IO.write("abcd"[2]) // expect: c -IO.write("abcd"[3]) // expect: d +IO.print("abcd"[0]) // expect: a +IO.print("abcd"[1]) // expect: b +IO.print("abcd"[2]) // expect: c +IO.print("abcd"[3]) // expect: d // Allows indexing backwards from the end. -IO.write("abcd"[-4]) // expect: a -IO.write("abcd"[-3]) // expect: b -IO.write("abcd"[-2]) // expect: c -IO.write("abcd"[-1]) // expect: d +IO.print("abcd"[-4]) // expect: a +IO.print("abcd"[-3]) // expect: b +IO.print("abcd"[-2]) // expect: c +IO.print("abcd"[-1]) // expect: d diff --git a/test/string/to_string.wren b/test/string/to_string.wren index cf203b46..c7f11fd0 100644 --- a/test/string/to_string.wren +++ b/test/string/to_string.wren @@ -1,2 +1,2 @@ -IO.write("".toString == "") // expect: true -IO.write("blah".toString == "blah") // expect: true +IO.print("".toString == "") // expect: true +IO.print("blah".toString == "blah") // expect: true diff --git a/test/string/type.wren b/test/string/type.wren index ecf2f130..9af9bdf1 100644 --- a/test/string/type.wren +++ b/test/string/type.wren @@ -1,4 +1,4 @@ -IO.write("s" is String) // expect: true -IO.write("s" is Object) // expect: true -IO.write("s" is Num) // expect: false -IO.write("s".type == String) // expect: true +IO.print("s" is String) // expect: true +IO.print("s" is Object) // expect: true +IO.print("s" is Num) // expect: false +IO.print("s".type == String) // expect: true diff --git a/test/string/unicode_escapes.wren b/test/string/unicode_escapes.wren new file mode 100644 index 00000000..aa8b7780 --- /dev/null +++ b/test/string/unicode_escapes.wren @@ -0,0 +1,18 @@ +// One byte UTF-8 Sequences. +IO.print("\u0041") // expect: A +IO.print("\u007e") // expect: ~ + +// Two byte sequences. +IO.print("\u00b6") // expect: ¶ +IO.print("\u00de") // expect: Þ + +// Three byte sequences. +IO.print("\u0950") // expect: ॐ +IO.print("\u0b83") // expect: ஃ + +// Capitalized hex. +IO.print("\u00B6") // expect: ¶ +IO.print("\u00DE") // expect: Þ + +// TODO: Missing digits in escape. +// TODO: Syntax for Unicode escapes > 0xffff? diff --git a/test/super/call_other_method.wren b/test/super/call_other_method.wren index c10725cc..49fe2b12 100644 --- a/test/super/call_other_method.wren +++ b/test/super/call_other_method.wren @@ -1,12 +1,12 @@ class Base { foo { - IO.write("Base.foo") + IO.print("Base.foo") } } class Derived is Base { bar { - IO.write("Derived.bar") + IO.print("Derived.bar") super.foo } } diff --git a/test/super/call_same_method.wren b/test/super/call_same_method.wren index 68621006..b9d162fe 100644 --- a/test/super/call_same_method.wren +++ b/test/super/call_same_method.wren @@ -1,12 +1,12 @@ class Base { foo { - IO.write("Base.foo") + IO.print("Base.foo") } } class Derived is Base { foo { - IO.write("Derived.foo") + IO.print("Derived.foo") super.foo } } diff --git a/test/super/closure.wren b/test/super/closure.wren index fbfb1ccf..7c95a5ea 100644 --- a/test/super/closure.wren +++ b/test/super/closure.wren @@ -13,4 +13,4 @@ class Derived is Base { } var closure = (new Derived).getClosure -IO.write(closure.call) // expect: Base +IO.print(closure.call) // expect: Base diff --git a/test/super/indirectly_inherited.wren b/test/super/indirectly_inherited.wren index 655739a0..78407fc1 100644 --- a/test/super/indirectly_inherited.wren +++ b/test/super/indirectly_inherited.wren @@ -1,6 +1,6 @@ class A { foo { - IO.write("A.foo") + IO.print("A.foo") } } @@ -8,7 +8,7 @@ class B is A {} class C is B { foo { - IO.write("C.foo") + IO.print("C.foo") super.foo } } diff --git a/test/this/closure.wren b/test/this/closure.wren index f5e40cce..013a8b42 100644 --- a/test/this/closure.wren +++ b/test/this/closure.wren @@ -9,4 +9,4 @@ class Foo { } var closure = (new Foo).getClosure -IO.write(closure.call) // expect: Foo +IO.print(closure.call) // expect: Foo diff --git a/test/this/nested_class.wren b/test/this/nested_class.wren index 6bf50f3d..f6abeff0 100644 --- a/test/this/nested_class.wren +++ b/test/this/nested_class.wren @@ -1,13 +1,13 @@ class Outer { method { - IO.write(this.toString) // expect: Outer + IO.print(this.toString) // expect: Outer fn { - IO.write(this.toString) // expect: Outer + IO.print(this.toString) // expect: Outer class Inner { method { - IO.write(this.toString) // expect: Inner + IO.print(this.toString) // expect: Inner } toString { return "Inner" } } diff --git a/test/this/nested_closure.wren b/test/this/nested_closure.wren index b5586857..10b22fe6 100644 --- a/test/this/nested_closure.wren +++ b/test/this/nested_closure.wren @@ -13,4 +13,4 @@ class Foo { } var closure = (new Foo).getClosure -IO.write(closure.call.call.call) // expect: Foo +IO.print(closure.call.call.call) // expect: Foo diff --git a/test/this/this_in_method.wren b/test/this/this_in_method.wren index cc947a50..53339ff2 100644 --- a/test/this/this_in_method.wren +++ b/test/this/this_in_method.wren @@ -3,4 +3,4 @@ class Foo { baz { return "baz" } } -IO.write((new Foo).bar.baz) // expect: baz +IO.print((new Foo).bar.baz) // expect: baz diff --git a/test/unexpected_character.wren b/test/unexpected_character.wren index 9d6f57f6..49b486c2 100644 --- a/test/unexpected_character.wren +++ b/test/unexpected_character.wren @@ -1,3 +1,3 @@ -IO.write("no") +IO.print("no") // Something that's not a valid character: ^ // expect error diff --git a/test/variable/global_in_initializer.wren b/test/variable/global_in_initializer.wren index 2e92b719..c1fe9e1c 100644 --- a/test/variable/global_in_initializer.wren +++ b/test/variable/global_in_initializer.wren @@ -1,2 +1,2 @@ var a = a == null -IO.write(a) // expect: true +IO.print(a) // expect: true diff --git a/test/variable/global_without_initializer.wren b/test/variable/global_without_initializer.wren index c63a2769..e934ae7e 100644 --- a/test/variable/global_without_initializer.wren +++ b/test/variable/global_without_initializer.wren @@ -1,2 +1,2 @@ var a -IO.write(a) // expect: null +IO.print(a) // expect: null diff --git a/test/variable/local_in_initializer.wren b/test/variable/local_in_initializer.wren index cb56de89..2453a157 100644 --- a/test/variable/local_in_initializer.wren +++ b/test/variable/local_in_initializer.wren @@ -1,5 +1,5 @@ // skip: Variables should not be in scope in their initializer. { var a = a + 1 // expect error - IO.write(a) + IO.print(a) } diff --git a/test/variable/local_in_middle_of_block.wren b/test/variable/local_in_middle_of_block.wren index 621e243d..803bdcd4 100644 --- a/test/variable/local_in_middle_of_block.wren +++ b/test/variable/local_in_middle_of_block.wren @@ -1,13 +1,13 @@ class Foo { bar { var a = "a" - IO.write(a) // expect: a + IO.print(a) // expect: a var b = a + " b" - IO.write(b) // expect: a b + IO.print(b) // expect: a b var c = a + " c" - IO.write(c) // expect: a c + IO.print(c) // expect: a c var d = b + " d" - IO.write(d) // expect: a b d + IO.print(d) // expect: a b d } } diff --git a/test/variable/local_in_nested_block.wren b/test/variable/local_in_nested_block.wren index 0415b86a..11a82485 100644 --- a/test/variable/local_in_nested_block.wren +++ b/test/variable/local_in_nested_block.wren @@ -1,6 +1,6 @@ { var a = "outer" { - IO.write(a) // expect: outer + IO.print(a) // expect: outer } } \ No newline at end of file diff --git a/test/variable/local_without_initializer.wren b/test/variable/local_without_initializer.wren index 02a624d1..2daea492 100644 --- a/test/variable/local_without_initializer.wren +++ b/test/variable/local_without_initializer.wren @@ -1,4 +1,4 @@ { var a - IO.write(a) // expect: null + IO.print(a) // expect: null } diff --git a/test/variable/many_locals.wren b/test/variable/many_locals.wren index 1fe7fa2d..d8ab0a5d 100644 --- a/test/variable/many_locals.wren +++ b/test/variable/many_locals.wren @@ -255,5 +255,5 @@ var a253 = a252 var a254 = a253 var a255 = a254 - IO.write(a255) // expect: value + IO.print(a255) // expect: value } diff --git a/test/variable/many_nonsimultaneous_locals.wren b/test/variable/many_nonsimultaneous_locals.wren index 6c7f62c1..2d81fd37 100644 --- a/test/variable/many_nonsimultaneous_locals.wren +++ b/test/variable/many_nonsimultaneous_locals.wren @@ -259,7 +259,7 @@ var a253 = a252 var a254 = a253 var a255 = a254 - IO.write(a255) // expect: value a + IO.print(a255) // expect: value a } { @@ -519,6 +519,6 @@ var b253 = b252 var b254 = b253 var b255 = b254 - IO.write(b255) // expect: value b + IO.print(b255) // expect: value b } } diff --git a/test/variable/scope_if.wren b/test/variable/scope_if.wren index a2246b24..6fc8a225 100644 --- a/test/variable/scope_if.wren +++ b/test/variable/scope_if.wren @@ -3,11 +3,11 @@ var a = "out" if (true) { var a = "in" } -IO.write(a) // expect: out +IO.print(a) // expect: out // Create a local scope for the 'else' expression. var b = "out" if (false) "dummy" else { var b = "in" } -IO.write(b) // expect: out +IO.print(b) // expect: out diff --git a/test/variable/scope_reuse_in_different_blocks.wren b/test/variable/scope_reuse_in_different_blocks.wren index ad0987c8..92796bab 100644 --- a/test/variable/scope_reuse_in_different_blocks.wren +++ b/test/variable/scope_reuse_in_different_blocks.wren @@ -1,9 +1,9 @@ { var a = "first" - IO.write(a) // expect: first + IO.print(a) // expect: first } { var a = "second" - IO.write(a) // expect: second + IO.print(a) // expect: second } diff --git a/test/variable/scope_while.wren b/test/variable/scope_while.wren index 96c15cf1..d8e215b5 100644 --- a/test/variable/scope_while.wren +++ b/test/variable/scope_while.wren @@ -4,4 +4,4 @@ var i = 0 while ((i = i + 1) <= 1) { var a = "inner" } -IO.write(a) // expect: outer +IO.print(a) // expect: outer diff --git a/test/variable/shadow_and_local.wren b/test/variable/shadow_and_local.wren index 93aa7f23..e069a0bf 100644 --- a/test/variable/shadow_and_local.wren +++ b/test/variable/shadow_and_local.wren @@ -1,8 +1,8 @@ { var a = "outer" { - IO.write(a) // expect: outer + IO.print(a) // expect: outer var a = "inner" - IO.write(a) // expect: inner + IO.print(a) // expect: inner } } \ No newline at end of file diff --git a/test/variable/shadow_global.wren b/test/variable/shadow_global.wren index 668e87f8..8f86f37d 100644 --- a/test/variable/shadow_global.wren +++ b/test/variable/shadow_global.wren @@ -1,6 +1,6 @@ var a = "global" { var a = "shadow" - IO.write(a) // expect: shadow + IO.print(a) // expect: shadow } -IO.write(a) // expect: global \ No newline at end of file +IO.print(a) // expect: global \ No newline at end of file diff --git a/test/variable/shadow_in_initializer.wren b/test/variable/shadow_in_initializer.wren index 36a8be41..db2e50ba 100644 --- a/test/variable/shadow_in_initializer.wren +++ b/test/variable/shadow_in_initializer.wren @@ -3,6 +3,6 @@ var a = "outer" { var a = a + " inner" - IO.write(a) // expect: outer inner + IO.print(a) // expect: outer inner } } diff --git a/test/variable/shadow_local.wren b/test/variable/shadow_local.wren index 41bdbca0..8234a5c4 100644 --- a/test/variable/shadow_local.wren +++ b/test/variable/shadow_local.wren @@ -2,7 +2,7 @@ var a = "local" { var a = "shadow" - IO.write(a) // expect: shadow + IO.print(a) // expect: shadow } - IO.write(a) // expect: local + IO.print(a) // expect: local } \ No newline at end of file diff --git a/test/variable/undefined_global.wren b/test/variable/undefined_global.wren index 318b1492..196b010b 100644 --- a/test/variable/undefined_global.wren +++ b/test/variable/undefined_global.wren @@ -1 +1 @@ -IO.write(notDefined) // expect error +IO.print(notDefined) // expect error diff --git a/test/variable/undefined_local.wren b/test/variable/undefined_local.wren index 87254284..8597c80f 100644 --- a/test/variable/undefined_local.wren +++ b/test/variable/undefined_local.wren @@ -1,3 +1,3 @@ fn { - IO.write(notDefined) // expect error + IO.print(notDefined) // expect error }.call diff --git a/test/while/closure_in_body.wren b/test/while/closure_in_body.wren index 1a61641f..ef6bbca1 100644 --- a/test/while/closure_in_body.wren +++ b/test/while/closure_in_body.wren @@ -3,7 +3,7 @@ var list = [] var i = 1 while (i < 4) { var j = i + 1 - list.add(fn IO.write(j)) + list.add(fn IO.print(j)) i = i + 1 } diff --git a/test/while/syntax.wren b/test/while/syntax.wren index 7138239a..f5dfb361 100644 --- a/test/while/syntax.wren +++ b/test/while/syntax.wren @@ -1,6 +1,6 @@ // Single-expression body. var c = 0 -while (c < 3) IO.write(c = c + 1) +while (c < 3) IO.print(c = c + 1) // expect: 1 // expect: 2 // expect: 3 @@ -8,7 +8,7 @@ while (c < 3) IO.write(c = c + 1) // Block body. var a = 0 while (a < 3) { - IO.write(a) + IO.print(a) a = a + 1 } // expect: 0 @@ -18,7 +18,7 @@ while (a < 3) { // Newline after "while". var d = 0 while -(d < 3) IO.write(d = d + 1) +(d < 3) IO.print(d = d + 1) // expect: 1 // expect: 2 // expect: 3