| Index: compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java
|
| diff --git a/compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java b/compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java
|
| index 8c71ebb16b0e0a8a20381400dccc9ca4bd932127..052733883989477a23ecdb21545e60ddb0be1bc4 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java
|
| @@ -174,6 +174,42 @@ public class IncrementalCompilationTest extends CompilerTestCase {
|
| didNotWrite("myother2.dart", EXTENSION_JS, provider);
|
| }
|
|
|
| + public void testNormalizationTracking() {
|
| + compile();
|
| +
|
| + provider.resetReadsAndWrites();
|
| + myAppSource.touchSource("myother7.dart");
|
| + compile();
|
| +
|
| + // Test against normalization having an effect on hashcodes
|
| + // SomeInterface2 is an empty interface that can have an extra default constructor added by
|
| + // the dartc backend normalization process. By depending on a class that implements the interface,
|
| + // my.app.dart.deps will transitively depend on the empty interface. If something changes
|
| + // with how hashcodes are generated, this test should be updated.
|
| +
|
| + // We just bumped the timestamp on myother7.dart, so only myother7.dart.js and my.app.js should
|
| + // be changed. At present, the app's deps and api will be rewritten.
|
| +
|
| + didWrite("myother7.dart", EXTENSION_JS, provider);
|
| + didWrite("my.app.dart", EXTENSION_APP_JS, provider);
|
| + didWrite("my.app.dart", EXTENSION_DEPS, provider);
|
| + didWrite("my.app.dart", EXTENSION_API, provider);
|
| +
|
| + // Nothing else should have changed.
|
| + didNotWrite("my.dart", EXTENSION_JS, provider);
|
| + didNotWrite("someimpl.dart", EXTENSION_JS, provider);
|
| + didNotWrite("someimpl.lib.dart", EXTENSION_API, provider);
|
| + didNotWrite("someimpl.lib.dart", EXTENSION_DEPS, provider);
|
| +
|
| + didNotWrite("some.dart", EXTENSION_JS, provider);
|
| + didNotWrite("some.lib.dart", EXTENSION_API, provider);
|
| + didNotWrite("some.lib.dart", EXTENSION_DEPS, provider);
|
| +
|
| + didNotWrite("myother0.dart", EXTENSION_JS, provider);
|
| + didNotWrite("myother1.dart", EXTENSION_JS, provider);
|
| + didNotWrite("myother2.dart", EXTENSION_JS, provider);
|
| + }
|
| +
|
| public void testKnockout_jsArtifact() {
|
| compile();
|
|
|
|
|