| // 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 'dart:io' as io; | |
| import 'package:githooks/githooks.dart'; | |
| import 'package:litetest/litetest.dart'; | |
| void main() { | |
| test('Fails gracefully without a command', () async { | |
| int? result; | |
| try { | |
| result = await run(<String>[]); | |
| } catch (e, st) { | |
| fail('Unexpected exception: $e\n$st'); | |
| } | |
| expect(result, equals(1)); | |
| }); | |
| test('Fails gracefully with an unknown command', () async { | |
| int? result; | |
| try { | |
| result = await run(<String>['blah']); | |
| } catch (e, st) { | |
| fail('Unexpected exception: $e\n$st'); | |
| } | |
| expect(result, equals(1)); | |
| }); | |
| test('Fails gracefully without --flutter', () async { | |
| int? result; | |
| try { | |
| result = await run(<String>['pre-push']); | |
| } catch (e, st) { | |
| fail('Unexpected exception: $e\n$st'); | |
| } | |
| expect(result, equals(1)); | |
| }); | |
| test('Fails gracefully when --flutter is not an absolute path', () async { | |
| int? result; | |
| try { | |
| result = await run(<String>[ | |
| 'pre-push', | |
| '--flutter', | |
| 'non/absolute', | |
| ]); | |
| } catch (e, st) { | |
| fail('Unexpected exception: $e\n$st'); | |
| } | |
| expect(result, equals(1)); | |
| }); | |
| test('Fails gracefully when --flutter does not exist', () async { | |
| int? result; | |
| try { | |
| result = await run(<String>[ | |
| 'pre-push', | |
| '--flutter', | |
| if (io.Platform.isWindows) r'C:\does\not\exist' | |
| else '/does/not/exist', | |
| ]); | |
| } catch (e, st) { | |
| fail('Unexpected exception: $e\n$st'); | |
| } | |
| expect(result, equals(1)); | |
| }); | |
| } |