// Copyright (c) 2012, 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. import "package:expect/expect.dart"; import "dart:io"; import "process_test_util.dart"; test(args) { var future = Process.start(Platform.executable, []..addAll(Platform.executableArguments)..addAll(args)); future.then((process) { process.exitCode.then((exitCode) { Expect.equals(0, exitCode); }); // Drain stdout and stderr. process.stdout.listen((_) {}); process.stderr.listen((_) {}); }); } main() { // Get the Dart script file which checks arguments. var scriptFile = new File("tests/standalone/io/process_check_arguments_script.dart"); if (!scriptFile.existsSync()) { scriptFile = new File("../tests/standalone/io/process_check_arguments_script.dart"); } test([scriptFile.path, '3', '0', 'a']); test([scriptFile.path, '3', '0', 'a b']); test([scriptFile.path, '3', '0', 'a\tb']); test([scriptFile.path, '3', '1', 'a\tb"']); test([scriptFile.path, '3', '1', 'a"\tb']); test([scriptFile.path, '3', '1', 'a"\t\\\\"b"']); test([scriptFile.path, '4', '0', 'a\tb', 'a']); test([scriptFile.path, '4', '0', 'a\tb', 'a\t\t\t\tb']); test([scriptFile.path, '4', '0', 'a\tb', 'a b']); test([scriptFile.path, '5', '0', 'a\tb', 'a b', '']); }