blob: 1298b9aada35563a2d6ba66c5e8d22ca569ceb19 [file] [log] [blame]
// 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.
import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
import 'package:cli_util/cli_logging.dart';
import 'package:dartfix/src/context.dart';
class TestContext with ResourceProviderMixin implements Context {
@override
String get workingDir => convertPath('/usr/some/non/existing/directory');
@override
bool exists(String filePath) => true;
@override
void exit(int code) {
throw TestExit(code);
}
@override
bool isDirectory(String filePath) => !filePath.endsWith('.dart');
}
class TestExit {
final int code;
TestExit(this.code);
}
class TestLogger implements Logger {
final Ansi ansi;
final stdoutBuffer = new StringBuffer();
final stderrBuffer = new StringBuffer();
TestLogger() : this.ansi = new Ansi(false);
@override
void flush() {}
@override
bool get isVerbose => false;
@override
Progress progress(String message) {
return new SimpleProgress(this, message);
}
@override
void stderr(String message) {
stderrBuffer.writeln(message);
}
@override
void stdout(String message) {
stdoutBuffer.writeln(message);
}
@override
void trace(String message) {}
}