# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE.md file.

main.dart.patch: |
  // Test that the test framework handles more than one update when the last
  // update is a removal.

  <<<< "Hello, World!"
  foo() {
    print("Hello, World!");
  }
  ==== "Hello, Brave New World!"
  foo() {
    print("Hello, Brave New World!");
  }
  ==== "threw"
  >>>>

  main() {
    try {
      foo();
    } catch (e) {
      print("threw");
    }
  }
