| // 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 Latin-1 encoding can be used correctly. |
| /// correctly. |
| /// @author iarkh@unipro.ru |
| |
| import "dart:convert"; |
| import "dart:io"; |
| import "test.lib.dart"; |
| import "../file_utils.dart"; |
| |
| List<int> expected = [1, 2, 3, 128, 129, 200, 254, 255]; |
| String str = latin1.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.writeAsBytes(res.codeUnits); |
| } |
| |
| void run(Process process) { process.stdin.writeln(str); } |
| |
| main(List<String> args) { |
| args.length > 0 ? run_process(args[0], latin1) : run_main(run, str); |
| } |