blob: 1ce186ced15b3879479a690813c362f9fe904efd [file] [log] [blame]
// Copyright 2013 The Flutter Authors. 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:litetest/litetest.dart';
import 'utils.dart';
void main() async {
final List<CannedProcess> cannedProcesses = <CannedProcess>[
CannedProcess((List<String> command) => command.contains('ulfuls'),
stdout: 'Ashita ga aru sa'),
CannedProcess((List<String> command) => command.contains('quruli'),
stdout: 'Tokyo'),
CannedProcess((List<String> command) => command.contains('elizaveta'),
stdout: 'Moshimo ano toki'),
CannedProcess((List<String> command) => command.contains('scott_murphy'),
stdout: 'Donna toki mo'),
];
test('containsCommand passes if command matched', () async {
final TestEnvironment testEnvironment = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
);
try {
await testEnvironment.environment.processRunner.runProcess(
<String>['ulfuls', '--lyrics'],
workingDirectory: testEnvironment.environment.engine.srcDir,
failOk: true);
await testEnvironment.environment.processRunner.runProcess(
<String>['quruli', '--lyrics'],
workingDirectory: testEnvironment.environment.engine.srcDir,
failOk: true);
final List<ExecutedProcess> history = testEnvironment.processHistory;
expect(history, containsCommand((List<String> command) {
return command.isNotEmpty && command[0] == 'quruli';
}));
expect(history, containsCommand((List<String> command) {
return command.length > 1 && command[1] == '--lyrics';
}));
} finally {
testEnvironment.cleanup();
}
});
test('doesNotContainCommand passes if command not matched', () async {
final TestEnvironment testEnvironment = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
);
try {
await testEnvironment.environment.processRunner.runProcess(
<String>['elizaveta', '--lyrics'],
workingDirectory: testEnvironment.environment.engine.srcDir,
failOk: true);
await testEnvironment.environment.processRunner.runProcess(
<String>['scott_murphy', '--lyrics'],
workingDirectory: testEnvironment.environment.engine.srcDir,
failOk: true);
final List<ExecutedProcess> history = testEnvironment.processHistory;
expect(history, doesNotContainCommand((List<String> command) {
return command.length > 1 && command[1] == '--not-an-option';
}));
} finally {
testEnvironment.cleanup();
}
});
}