From e6b45c5023fbd8fc7b8a8566b74a0604552903e8 Mon Sep 17 00:00:00 2001 From: Devon Carew Date: Fri, 11 Sep 2015 16:12:27 -0700 Subject: [PATCH] use mokito in the init tests --- packages/flutter_tools/lib/src/init.dart | 10 ++++---- packages/flutter_tools/test/init_test.dart | 24 +++++++------------ packages/flutter_tools/test/install_test.dart | 9 ++----- packages/flutter_tools/test/src/common.dart | 12 ++++++++++ 4 files changed, 26 insertions(+), 29 deletions(-) create mode 100644 packages/flutter_tools/test/src/common.dart diff --git a/packages/flutter_tools/lib/src/init.dart b/packages/flutter_tools/lib/src/init.dart index 884e0c9e9b..21def3b427 100644 --- a/packages/flutter_tools/lib/src/init.dart +++ b/packages/flutter_tools/lib/src/init.dart @@ -65,13 +65,10 @@ Or if the Sky APK is not already on your device, run: stdout.addStream(process.stdout); stderr.addStream(process.stderr); int code = await process.exitCode; - if (code == 0) { - print('\n${message}'); - } - } else { - print(message); - return 2; + if (code != 0) return code; } + + print(message); return 0; } } @@ -146,6 +143,7 @@ name: {{projectName}} description: {{description}} dependencies: sky: any +dev_dependencies: sky_tools: any '''; diff --git a/packages/flutter_tools/test/init_test.dart b/packages/flutter_tools/test/init_test.dart index 688e41ae83..85adba7b72 100644 --- a/packages/flutter_tools/test/init_test.dart +++ b/packages/flutter_tools/test/init_test.dart @@ -4,11 +4,13 @@ import 'dart:io'; -import 'package:args/args.dart'; +import 'package:mockito/mockito.dart'; import 'package:path/path.dart' as p; import 'package:sky_tools/src/init.dart'; import 'package:test/test.dart'; +import 'src/common.dart'; + main() => defineTests(); defineTests() { @@ -26,10 +28,11 @@ defineTests() { // Verify that we create a project that is well-formed. test('init sky-simple', () async { InitCommandHandler handler = new InitCommandHandler(); - _MockArgResults results = new _MockArgResults(); - results.values['help'] = false; - results.values['pub'] = true; - results.values['out'] = temp.path; + MockArgResults results = new MockArgResults(); + when(results['help']).thenReturn(false); + when(results['pub']).thenReturn(true); + when(results.wasParsed('out')).thenReturn(true); + when(results['out']).thenReturn(temp.path); await handler.processArgResults(results); String path = p.join(temp.path, 'lib/main.dart'); expect(new File(path).existsSync(), true); @@ -40,14 +43,3 @@ defineTests() { }); }); } - -class _MockArgResults implements ArgResults { - Map values = {}; - operator [](String name) => values[name]; - List get arguments => null; - ArgResults get command => null; - String get name => null; - Iterable get options => values.keys; - List get rest => null; - bool wasParsed(String name) => values.containsKey(name); -} diff --git a/packages/flutter_tools/test/install_test.dart b/packages/flutter_tools/test/install_test.dart index 5e51c20946..5343c8f94b 100644 --- a/packages/flutter_tools/test/install_test.dart +++ b/packages/flutter_tools/test/install_test.dart @@ -4,11 +4,12 @@ library install_test; -import 'package:args/args.dart'; import 'package:mockito/mockito.dart'; import 'package:sky_tools/src/install.dart'; import 'package:test/test.dart'; +import 'src/common.dart'; + main() => defineTests(); defineTests() { @@ -23,9 +24,3 @@ defineTests() { }); }); } - -@proxy -class MockArgResults extends Mock implements ArgResults { - @override - dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); -} diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart new file mode 100644 index 0000000000..1570ec0df2 --- /dev/null +++ b/packages/flutter_tools/test/src/common.dart @@ -0,0 +1,12 @@ +// Copyright 2015 The Chromium 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:args/args.dart'; +import 'package:mockito/mockito.dart'; + +@proxy +class MockArgResults extends Mock implements ArgResults { + @override + dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); +}