// 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 new FlutterError('Who lives, who dies, who tells your story?');
  });
  testWidgets('Exception handling in test harness - uncaught Future error', (WidgetTester tester) async {
    new Future<Null>.error('Who lives, who dies, who tells your story?');
  });
}
