| // Copyright 2014 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:platform/platform.dart'; |
| import 'package:test/test.dart'; |
| |
| import '../../../packages/flutter_tools/test/src/fake_process_manager.dart'; |
| import '../dartdoc.dart' show getBranchName, runPubProcess; |
| |
| void main() { |
| const String branchName = 'stable'; |
| test('getBranchName does not call git if env LUCI_BRANCH provided', () { |
| final Platform platform = FakePlatform( |
| environment: <String, String>{ |
| 'LUCI_BRANCH': branchName, |
| }, |
| ); |
| |
| final ProcessManager processManager = FakeProcessManager.empty(); |
| |
| expect( |
| getBranchName( |
| platform: platform, |
| processManager: processManager, |
| ), |
| branchName, |
| ); |
| }); |
| |
| test('getBranchName calls git if env LUCI_BRANCH not provided', () { |
| final Platform platform = FakePlatform( |
| environment: <String, String>{}, |
| ); |
| |
| final ProcessManager processManager = FakeProcessManager.list( |
| <FakeCommand>[ |
| const FakeCommand( |
| command: <String>['git', 'status', '-b', '--porcelain'], |
| stdout: '## $branchName', |
| ), |
| ], |
| ); |
| |
| expect( |
| getBranchName( |
| platform: platform, |
| processManager: processManager, |
| ), |
| branchName, |
| ); |
| expect(processManager, hasNoRemainingExpectations); |
| }); |
| |
| test('getBranchName calls git if env LUCI_BRANCH is empty', () { |
| final Platform platform = FakePlatform( |
| environment: <String, String>{ |
| 'LUCI_BRANCH': '', |
| }, |
| ); |
| |
| final ProcessManager processManager = FakeProcessManager.list( |
| <FakeCommand>[ |
| const FakeCommand( |
| command: <String>['git', 'status', '-b', '--porcelain'], |
| stdout: '## $branchName', |
| ), |
| ], |
| ); |
| |
| expect( |
| getBranchName( |
| platform: platform, |
| processManager: processManager, |
| ), |
| branchName, |
| ); |
| expect(processManager, hasNoRemainingExpectations); |
| }); |
| |
| test("runPubProcess doesn't use the pub binary", () { |
| final ProcessManager processManager = FakeProcessManager.list( |
| <FakeCommand>[ |
| const FakeCommand( |
| command: <String>['dart', 'pub', '--one', '--two'], |
| ), |
| ], |
| ); |
| |
| runPubProcess( |
| dartBinaryPath: 'dart', |
| arguments: <String>['--one', '--two'], |
| processManager: processManager, |
| ); |
| |
| expect(processManager, hasNoRemainingExpectations); |
| }); |
| } |