Merge pull request #923 from dart-lang/fix-windows
Fix test failures on Windows.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6594fac..6b5c1b8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# 1.3.6
+
+* Change the path used in error messages when reading from stdin from "<stdin>"
+ to "stdin". The former crashes on Windows since it is not a valid Windows
+ pathname. To get the old behavior, pass `--stdin-name=<stdin>`.
+
# 1.3.5
* Restore command line output accidentally removed in 1.3.4.
diff --git a/lib/src/cli/options.dart b/lib/src/cli/options.dart
index 2b94c76..2c056c5 100644
--- a/lib/src/cli/options.dart
+++ b/lib/src/cli/options.dart
@@ -89,8 +89,7 @@
parser.addOption(oldCli ? 'preserve' : 'selection',
help: 'Selection to preserve formatted as "start:length".');
parser.addOption('stdin-name',
- help: 'The path name to show when an error occurs.',
- defaultsTo: '<stdin>');
+ help: 'The path name to show when an error occurs.', defaultsTo: 'stdin');
if (oldCli) {
parser.addFlag('profile', negatable: false, hide: true);
diff --git a/test/command_line_test.dart b/test/command_line_test.dart
index 0b47668..a8d7629 100644
--- a/test/command_line_test.dart
+++ b/test/command_line_test.dart
@@ -49,9 +49,12 @@
process.stdout, emits(startsWith('Formatting directory')));
// Prints whether each file was changed.
- await expectLater(process.stdout, emits('Formatted code/a.dart'));
- await expectLater(process.stdout, emits('Unchanged code/b.dart'));
- await expectLater(process.stdout, emits('Formatted code/c.dart'));
+ await expectLater(
+ process.stdout, emits('Formatted ${p.join('code', 'a.dart')}'));
+ await expectLater(
+ process.stdout, emits('Unchanged ${p.join('code', 'b.dart')}'));
+ await expectLater(
+ process.stdout, emits('Formatted ${p.join('code', 'c.dart')}'));
await process.shouldExit(0);
// Overwrites the files.
@@ -219,7 +222,7 @@
await process.stdin.close();
var json = jsonEncode({
- 'path': '<stdin>',
+ 'path': 'stdin',
'source': formattedSource,
'selection': {'offset': 5, 'length': 9}
});
@@ -356,14 +359,15 @@
});
test('allows specifying stdin path name', () async {
- var process = await runFormatter(['--stdin-name=some/path.dart']);
+ var path = p.join('some', 'path.dart');
+ var process = await runFormatter(['--stdin-name=$path']);
process.stdin.writeln('herp');
await process.stdin.close();
expect(await process.stderr.next,
'Could not format because the source could not be parsed:');
expect(await process.stderr.next, '');
- expect(await process.stderr.next, contains('some/path.dart'));
+ expect(await process.stderr.next, contains(path));
await process.stderr.cancel();
await process.shouldExit(65);
});
diff --git a/test/command_test.dart b/test/command_test.dart
index 20a1928..f18f3c2 100644
--- a/test/command_test.dart
+++ b/test/command_test.dart
@@ -21,8 +21,8 @@
]).create();
var process = await runCommandOnDir();
- expect(await process.stdout.next, 'Formatted code/a.dart');
- expect(await process.stdout.next, 'Formatted code/c.dart');
+ expect(await process.stdout.next, 'Formatted ${p.join('code', 'a.dart')}');
+ expect(await process.stdout.next, 'Formatted ${p.join('code', 'c.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 3 files (2 changed)'));
await process.shouldExit(0);
@@ -41,9 +41,11 @@
d.file('c.dart', unformattedSource)
]).create();
- var process = await runCommand(['code/subdir', 'code/c.dart']);
- expect(await process.stdout.next, 'Formatted code/subdir/a.dart');
- expect(await process.stdout.next, 'Formatted code/c.dart');
+ var process =
+ await runCommand([p.join('code', 'subdir'), p.join('code', 'c.dart')]);
+ expect(await process.stdout.next,
+ 'Formatted ${p.join('code', 'subdir', 'a.dart')}');
+ expect(await process.stdout.next, 'Formatted ${p.join('code', 'c.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 2 files (2 changed)'));
await process.shouldExit(0);
@@ -79,9 +81,12 @@
]).create();
var process = await runCommandOnDir(['--show=all']);
- expect(await process.stdout.next, 'Formatted code/a.dart');
- expect(await process.stdout.next, 'Unchanged code/b.dart');
- expect(await process.stdout.next, 'Formatted code/c.dart');
+ expect(
+ await process.stdout.next, 'Formatted ${p.join('code', 'a.dart')}');
+ expect(
+ await process.stdout.next, 'Unchanged ${p.join('code', 'b.dart')}');
+ expect(
+ await process.stdout.next, 'Formatted ${p.join('code', 'c.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 3 files (2 changed)'));
await process.shouldExit(0);
@@ -108,8 +113,10 @@
]).create();
var process = await runCommandOnDir(['--show=changed']);
- expect(await process.stdout.next, 'Formatted code/a.dart');
- expect(await process.stdout.next, 'Formatted code/c.dart');
+ expect(
+ await process.stdout.next, 'Formatted ${p.join('code', 'a.dart')}');
+ expect(
+ await process.stdout.next, 'Formatted ${p.join('code', 'c.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 3 files (2 changed)'));
await process.shouldExit(0);
@@ -142,9 +149,11 @@
]).create();
var process = await runCommandOnDir(['--output=show', '--show=all']);
- expect(await process.stdout.next, 'Changed code/a.dart');
+ expect(
+ await process.stdout.next, 'Changed ${p.join('code', 'a.dart')}');
expect(await process.stdout.next, formattedOutput);
- expect(await process.stdout.next, 'Unchanged code/b.dart');
+ expect(
+ await process.stdout.next, 'Unchanged ${p.join('code', 'b.dart')}');
expect(await process.stdout.next, formattedOutput);
expect(await process.stdout.next,
startsWith(r'Formatted 2 files (1 changed)'));
@@ -162,7 +171,8 @@
var process =
await runCommandOnDir(['--output=show', '--show=changed']);
- expect(await process.stdout.next, 'Changed code/a.dart');
+ expect(
+ await process.stdout.next, 'Changed ${p.join('code', 'a.dart')}');
expect(await process.stdout.next, formattedOutput);
expect(await process.stdout.next,
startsWith(r'Formatted 2 files (1 changed)'));
@@ -214,8 +224,10 @@
]).create();
var process = await runCommandOnDir(['--output=none', '--show=all']);
- expect(await process.stdout.next, 'Changed code/a.dart');
- expect(await process.stdout.next, 'Unchanged code/b.dart');
+ expect(
+ await process.stdout.next, 'Changed ${p.join('code', 'a.dart')}');
+ expect(
+ await process.stdout.next, 'Unchanged ${p.join('code', 'b.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 2 files (1 changed)'));
await process.shouldExit(0);
@@ -232,7 +244,8 @@
var process =
await runCommandOnDir(['--output=none', '--show=changed']);
- expect(await process.stdout.next, 'Changed code/a.dart');
+ expect(
+ await process.stdout.next, 'Changed ${p.join('code', 'a.dart')}');
expect(await process.stdout.next,
startsWith(r'Formatted 2 files (1 changed)'));
await process.shouldExit(0);
@@ -251,7 +264,8 @@
]).create();
var process = await runCommandOnDir(['--summary=line']);
- expect(await process.stdout.next, 'Formatted code/a.dart');
+ expect(
+ await process.stdout.next, 'Formatted ${p.join('code', 'a.dart')}');
expect(await process.stdout.next,
matches(r'Formatted 2 files \(1 changed\) in \d+\.\d+ seconds.'));
await process.shouldExit(0);
@@ -402,7 +416,7 @@
await process.stdin.close();
var json = jsonEncode({
- 'path': '<stdin>',
+ 'path': 'stdin',
'source': formattedSource,
'selection': {'offset': 5, 'length': 9}
});
@@ -443,14 +457,15 @@
});
test('allows specifying stdin path name', () async {
- var process = await runCommand(['--stdin-name=some/path.dart']);
+ var path = p.join('some', 'path.dart');
+ var process = await runCommand(['--stdin-name=$path']);
process.stdin.writeln('herp');
await process.stdin.close();
expect(await process.stderr.next,
'Could not format because the source could not be parsed:');
expect(await process.stderr.next, '');
- expect(await process.stderr.next, contains('some/path.dart'));
+ expect(await process.stderr.next, contains(path));
await process.stderr.cancel();
await process.shouldExit(65);
});