blob: e3664d70d4e3eaee882afcb30af61e4654192ed1 [file] [log] [blame]
# 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.
# Check incremental serialization when loading from dill.
# Try to make it different by forcing a Canonical Name from package2 to be used
# in package1. Also try to force wrong order by having package1 depend on
# package3 before depending on package2.
type: newworld
incrementalSerialization: true
worlds:
- entry: main.dart
sources:
main.dart: |
// @dart=2.9
import "dart:core";
import "package:package1/lib1_a.dart";
main() {
lib1();
}
package1/lib1_a.dart: |
// @dart=2.9
import "package:package3/lib3.dart" as lib3;
export "lib1_b.dart";
lib1a() {
lib3.lib3();
}
package1/lib1_b.dart: |
// @dart=2.9
import "package:package2/lib2.dart" as lib2;
lib1() {
return la(null);
}
la(lib2.Foo f) {
return 42;
}
package2/lib2.dart: |
// @dart=2.9
int f = 42;
class Foo {
static int y = 42;
}
package3/lib3.dart: |
// @dart=2.9
lib3() {
print("lib3");
}
.dart_tool/package_config.json: |
{
"configVersion": 2,
"packages": [
{
"name": "package1",
"rootUri": "../package1"
},
{
"name": "package2",
"rootUri": "../package2"
},
{
"name": "package3",
"rootUri": "../package3"
}
]
}
expectedLibraryCount: 5
incrementalSerializationDoesWork: true
- entry: main.dart
expectInitializeFromDill: true
sources:
main.dart: |
// @dart=2.9
import "dart:core";
import "package:package1/lib1_a.dart";
main() {
lib1();
}
package1/lib1_a.dart: |
// @dart=2.9
import "package:package3/lib3.dart" as lib3;
export "lib1_b.dart";
lib1a() {
lib3.lib3();
}
package1/lib1_b.dart: |
// @dart=2.9
import "package:package2/lib2.dart" as lib2;
lib1() {
return la(null);
}
la(lib2.Foo f) {
return 42;
}
package2/lib2.dart: |
// @dart=2.9
int f = 42;
class Foo {
static int y = 42;
}
package3/lib3.dart: |
// @dart=2.9
lib3() {
print("lib3");
}
.dart_tool/package_config.json: |
{
"configVersion": 2,
"packages": [
{
"name": "package1",
"rootUri": "../package1"
},
{
"name": "package2",
"rootUri": "../package2"
},
{
"name": "package3",
"rootUri": "../package3"
}
]
}
expectedLibraryCount: 5
incrementalSerializationDoesWork: true