// 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:flutter/widgets.dart';

 import 'binding.dart';

 /// Ensure the [WidgetsBinding] is initialized.
WidgetsBinding ensureInitialized([@visibleForTesting Map<String, String> environment]) {
  if (WidgetsBinding.instance == null) {
    AutomatedTestWidgetsFlutterBinding();
  }
  assert(WidgetsBinding.instance is TestWidgetsFlutterBinding);
  return WidgetsBinding.instance;
}

 /// This method is a noop on the web.
void setupHttpOverrides() { }

 /// This method is a noop on the web.
void mockFlutterAssets() { }
