# Copyright (c) 2018, 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.

# Test that invalidating a part of a package works with package URI.

type: basic
entry: "package:example/main.dart"
invalidate:
  - "package:example/b.dart"
sources:
  pkg/example/main.dart: |
    // @dart=2.9
    part "b.dart";
    main() {
      print("hello");
      b();
    }
  pkg/example/b.dart: |
    // @dart=2.9
    part of "main.dart";
    b() {
      print("b1");
    }
  .packages: example:pkg/example
