| // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion String readLineSync({ |
| /// Encoding encoding: systemEncoding, |
| /// bool retainNewlines: false |
| /// }) |
| /// The argument [encoding] can be used to changed how the input should be |
| /// decoded. |
| /// @description Checks that input string with utf8 encoding is correctly passed. |
| /// @author iarkh@unipro.ru |
| |
| import "dart:convert"; |
| import "dart:io"; |
| import "test.lib.dart"; |
| |
| List<int> expected = utf8.encode("TESTME Тест для проверки 1âã"); |
| String str = utf8.decode(expected); |
| |
| void run_process(String filename, Encoding enc) async { |
| String? res = stdin.readLineSync(encoding : enc); |
| res = res ?? ""; |
| File fl = new File(filename); |
| await fl.writeAsString(res); |
| } |
| |
| void run(Process process) { process.stdin.writeln(str); } |
| |
| main(List<String> args) { |
| if (args.length > 0) { |
| run_process(args[0], utf8); |
| } else { |
| run_main(run, str); |
| } |
| } |