// 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:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; // based on the sample code in foundation/binding.dart mixin FooBinding on BindingBase { @override void initInstances() { super.initInstances(); _instance = this; } static FooBinding get instance => BindingBase.checkInstance(_instance); static FooBinding? _instance; } class FooLibraryBinding extends BindingBase with FooBinding { static FooBinding ensureInitialized() { if (FooBinding._instance == null) { FooLibraryBinding(); } return FooBinding.instance; } } void main() { test('BindingBase.debugBindingType', () async { expect(BindingBase.debugBindingType(), isNull); FooLibraryBinding.ensureInitialized(); expect(BindingBase.debugBindingType(), FooLibraryBinding); }); }