Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Side by Side Diff: tests/standalone/io/stdin_sync_test.dart

Issue 102953008: Add getter for lineMode and echoMode for Stdin. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/io/stdio.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "dart:convert"; 5 import "dart:convert";
6 import "dart:io"; 6 import "dart:io";
7 7
8 import "package:path/path.dart"; 8 import "package:path/path.dart";
9 import "package:expect/expect.dart";
9 10
10 void testReadByte() { 11 void testReadByte() {
11 void test(String line, List<String> expected) { 12 void test(String line, List<String> expected) {
12 var script = Platform.script.resolve("stdin_sync_script.dart").toFilePath(); 13 var script = Platform.script.resolve("stdin_sync_script.dart").toFilePath();
13 Process.start(Platform.executable, 14 Process.start(Platform.executable,
14 ["--checked", script]..addAll( 15 ["--checked", script]..addAll(
15 expected.map(JSON.encode))).then((process) { 16 expected.map(JSON.encode))).then((process) {
16 process.stdin.write(line); 17 process.stdin.write(line);
17 process.stdin.close(); 18 process.stdin.close();
18 process.stderr 19 process.stderr
(...skipping 18 matching lines...) Expand all
37 test("hej\u0187", ['hej\u0187']); 38 test("hej\u0187", ['hej\u0187']);
38 39
39 test("hej\rhej\nhej\r", ['hej\rhej', 'hej\r']); 40 test("hej\rhej\nhej\r", ['hej\rhej', 'hej\r']);
40 41
41 test("hej\r\r\nhej\r\nhej\r", ['hej\r', 'hej', 'hej\r']); 42 test("hej\r\r\nhej\r\nhej\r", ['hej\r', 'hej', 'hej\r']);
42 43
43 test("hej", ['hej']); 44 test("hej", ['hej']);
44 } 45 }
45 46
46 void testEchoMode() { 47 void testEchoMode() {
48 stdin.echoMode = true;
49 Expect.isTrue(stdin.echoMode);
47 stdin.echoMode = false; 50 stdin.echoMode = false;
51 Expect.isFalse(stdin.echoMode);
48 var line; 52 var line;
49 while ((line = stdin.readLineSync()) != null) { 53 while ((line = stdin.readLineSync()) != null) {
50 print("You typed: $line"); 54 print("You typed: $line");
51 } 55 }
52 } 56 }
53 57
54 void testLineMode() { 58 void testLineMode() {
59 stdin.lineMode = true;
60 Expect.isTrue(stdin.lineMode);
55 stdin.lineMode = false; 61 stdin.lineMode = false;
62 Expect.isFalse(stdin.lineMode);
56 var char; 63 var char;
57 while ((char = stdin.readByteSync()) != -1) { 64 while ((char = stdin.readByteSync()) != -1) {
58 print("You typed: $char"); 65 print("You typed: $char");
59 } 66 }
60 } 67 }
61 68
62 69
63 void main() { 70 void main() {
64 testReadByte(); 71 testReadByte();
65 72
66 // testEchoMode and testLineMode is an developer-interactive test, thus not 73 // testEchoMode and testLineMode is an developer-interactive test, thus not
67 // enabled. 74 // enabled.
68 //testEchoMode(); 75 //testEchoMode();
69 //testLineMode(); 76 //testLineMode();
70 } 77 }
OLDNEW
« no previous file with comments | « sdk/lib/io/stdio.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698