// Copyright 2017 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/foundation.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('Exception handling in test harness - string', (WidgetTester tester) async {
    throw 'Who lives, who dies, who tells your story?';
  });
  testWidgets('Exception handling in test harness - FlutterError', (WidgetTester tester) async {
    throw FlutterError('Who lives, who dies, who tells your story?');
  });
  testWidgets('Exception handling in test harness - uncaught Future error', (WidgetTester tester) async {
    Future<void>.error('Who lives, who dies, who tells your story?');
  });
}
