| // Copyright (c) 2014, 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 '../descriptor.dart' as d; |
| import '../test_pub.dart'; |
| |
| const SCRIPT = """ |
| import 'dart:io'; |
| |
| main() { |
| print("started"); |
| var line1 = stdin.readLineSync(); |
| print("between"); |
| var line2 = stdin.readLineSync(); |
| print(line1); |
| print(line2); |
| } |
| """; |
| |
| main() { |
| initConfig(); |
| integration('the spawned application can read from stdin', () { |
| d.dir(appPath, [ |
| d.appPubspec(), |
| d.dir("bin", [ |
| d.file("script.dart", SCRIPT) |
| ]) |
| ]).create(); |
| |
| var pub = pubRun(args: ["script"]); |
| |
| pub.stdout.expect("started"); |
| pub.writeLine("first"); |
| pub.stdout.expect("between"); |
| pub.writeLine("second"); |
| pub.stdout.expect("first"); |
| pub.stdout.expect("second"); |
| pub.shouldExit(0); |
| }); |
| } |