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

# Reproduction of https://github.com/flutter/flutter/issues/40966.

type: newworld
target: none
modules:
  module:
    module/a.dart: |
      class A { }
      class B { }
      class C { }
      class AB = A with B;
    module/.dart_tool/package_config.json: |
      {
        "configVersion": 2,
        "packages": [
          {
            "name": "module",
            "rootUri": ".."
          }
        ]
      }
worlds:
  - entry: main.dart
    fromComponent: true
    sources:
      main.dart: |
        import "package:module/a.dart";
        class ABC = AB with C;
      .dart_tool/package_config.json: |
        {
          "configVersion": 2,
          "packages": [
            {
              "name": "module",
              "rootUri": "../module"
            }
          ]
        }
    modules:
      - module
    expectedLibraryCount: 2
    advancedInvalidation: modulesToLoad
