// Copyright 2019 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:file/memory.dart'; import 'package:flutter_tools/src/base/context.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'src/common.dart'; import 'src/testbed.dart'; void main() { group('Testbed', () { test('Can provide default interfaces', () async { final Testbed testbed = Testbed(); FileSystem localFileSystem; await testbed.run(() { localFileSystem = fs; }); expect(localFileSystem, isA()); }); test('Can provide setup interfaces', () async { final Testbed testbed = Testbed(overrides: { A: () => A(), }); A instance; await testbed.run(() { instance = context.get(); }); expect(instance, isA()); }); test('Can provide local overrides', () async { final Testbed testbed = Testbed(overrides: { A: () => A(), }); A instance; await testbed.run(() { instance = context.get(); }, overrides: { A: () => B(), }); expect(instance, isA()); }); }); } class A {} class B extends A {}