# 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: | import "dart:core"; import "package:package1/lib1_a.dart"; main() { lib1(); } package1/lib1_a.dart: import "package:package3/lib3.dart" as lib3; export "lib1_b.dart"; lib1a() { lib3.lib3(); } package1/lib1_b.dart: import "package:package2/lib2.dart" as lib2; lib1() { return la(null); } la(lib2.Foo f) { return 42; } package2/lib2.dart: int f = 42; class Foo { static int y = 42; } package3/lib3.dart: lib3() { print("lib3"); } .packages: | package1:package1 package2:package2 package3:package3 expectedLibraryCount: 5 incrementalSerializationDoesWork: true - entry: main.dart expectInitializeFromDill: true sources: main.dart: | import "dart:core"; import "package:package1/lib1_a.dart"; main() { lib1(); } package1/lib1_a.dart: import "package:package3/lib3.dart" as lib3; export "lib1_b.dart"; lib1a() { lib3.lib3(); } package1/lib1_b.dart: import "package:package2/lib2.dart" as lib2; lib1() { return la(null); } la(lib2.Foo f) { return 42; } package2/lib2.dart: int f = 42; class Foo { static int y = 42; } package3/lib3.dart: lib3() { print("lib3"); } .packages: | package1:package1 package2:package2 package3:package3 expectedLibraryCount: 5 incrementalSerializationDoesWork: true