| # Copyright (c) 2021, 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/dart-lang/sdk/issues/47176 |
| # Compile an application with modules where one module has imported another |
| # module with too many slashes. Now try to import it correctly. |
| # This is essentially equivalent to not loading a needed component. |
| |
| type: newworld |
| target: DDC |
| modules: |
| moduleA: |
| moduleA/x/lib.dart: | |
| void foo() { } |
| moduleA/.packages: | |
| moduleA:. |
| moduleB: |
| moduleB/x/lib.dart: | |
| // Mind the double-slash! (on Windows this could probably also be a change |
| // in case (e.g 'lib' vs 'Lib')). |
| import 'package:moduleA/x//lib.dart'; |
| void bar() { } |
| moduleB/.packages: | |
| moduleA:../moduleA |
| moduleB:. |
| worlds: |
| - entry: main.dart |
| fromComponent: true |
| sources: |
| main.dart: | |
| import 'package:moduleB/x/lib.dart'; |
| main() { |
| bar(); |
| } |
| .packages: | |
| moduleA:moduleA |
| moduleB:moduleB |
| modules: |
| - moduleA |
| - moduleB |
| expectedLibraryCount: 3 |
| neededDillLibraries: |
| - package:module/x/lib.dart |
| expectedContent: |
| org-dartlang-test:///main.dart: |
| - Procedure main |
| package:module/lib.dart: |
| - Procedure foo |