Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java

Issue 8222016: Hashcodes were being improperly calculated for public API of libraries. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: More cleanup Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 package com.google.dart.compiler.end2end.inc; 5 package com.google.dart.compiler.end2end.inc;
6 6
7 import static com.google.dart.compiler.DartCompiler.EXTENSION_API; 7 import static com.google.dart.compiler.DartCompiler.EXTENSION_API;
8 import static com.google.dart.compiler.DartCompiler.EXTENSION_DEPS; 8 import static com.google.dart.compiler.DartCompiler.EXTENSION_DEPS;
9 import static com.google.dart.compiler.backend.js.JavascriptBackend.EXTENSION_AP P_JS; 9 import static com.google.dart.compiler.backend.js.JavascriptBackend.EXTENSION_AP P_JS;
10 import static com.google.dart.compiler.backend.js.JavascriptBackend.EXTENSION_JS ; 10 import static com.google.dart.compiler.backend.js.JavascriptBackend.EXTENSION_JS ;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 didNotWrite("some.dart", EXTENSION_JS, provider); 168 didNotWrite("some.dart", EXTENSION_JS, provider);
169 didNotWrite("some.lib.dart", EXTENSION_API, provider); 169 didNotWrite("some.lib.dart", EXTENSION_API, provider);
170 didNotWrite("some.lib.dart", EXTENSION_DEPS, provider); 170 didNotWrite("some.lib.dart", EXTENSION_DEPS, provider);
171 171
172 didNotWrite("myother0.dart", EXTENSION_JS, provider); 172 didNotWrite("myother0.dart", EXTENSION_JS, provider);
173 didNotWrite("myother1.dart", EXTENSION_JS, provider); 173 didNotWrite("myother1.dart", EXTENSION_JS, provider);
174 didNotWrite("myother2.dart", EXTENSION_JS, provider); 174 didNotWrite("myother2.dart", EXTENSION_JS, provider);
175 } 175 }
176 176
177 public void testNormalizationTracking() {
178 compile();
179
180 provider.resetReadsAndWrites();
181 myAppSource.touchSource("myother7.dart");
182 compile();
183
184 // Test against normalization having an effect on hashcodes
185 // SomeInterface2 is an empty interface that can have an extra default const ructor added by
186 // the dartc backend normalization process. By depending on a class that im plements the interface,
187 // my.app.dart.deps will transitively depend on the empty interface. If som ething changes
188 // with how hashcodes are generated, this test should be updated.
189
190 // We just bumped the timestamp on myother7.dart, so only myother7.dart.js a nd my.app.js should
191 // be changed. At present, the app's deps and api will be rewritten.
192
193 didWrite("myother7.dart", EXTENSION_JS, provider);
194 didWrite("my.app.dart", EXTENSION_APP_JS, provider);
195 didWrite("my.app.dart", EXTENSION_DEPS, provider);
196 didWrite("my.app.dart", EXTENSION_API, provider);
197
198 // Nothing else should have changed.
199 didNotWrite("my.dart", EXTENSION_JS, provider);
200 didNotWrite("someimpl.dart", EXTENSION_JS, provider);
201 didNotWrite("someimpl.lib.dart", EXTENSION_API, provider);
202 didNotWrite("someimpl.lib.dart", EXTENSION_DEPS, provider);
203
204 didNotWrite("some.dart", EXTENSION_JS, provider);
205 didNotWrite("some.lib.dart", EXTENSION_API, provider);
206 didNotWrite("some.lib.dart", EXTENSION_DEPS, provider);
207
208 didNotWrite("myother0.dart", EXTENSION_JS, provider);
209 didNotWrite("myother1.dart", EXTENSION_JS, provider);
210 didNotWrite("myother2.dart", EXTENSION_JS, provider);
211 }
212
177 public void testKnockout_jsArtifact() { 213 public void testKnockout_jsArtifact() {
178 compile(); 214 compile();
179 215
180 provider.resetReadsAndWrites(); 216 provider.resetReadsAndWrites();
181 provider.removeArtifact("my.dart", "", EXTENSION_JS); 217 provider.removeArtifact("my.dart", "", EXTENSION_JS);
182 compile(); 218 compile();
183 219
184 // At present, knocking out a js artifact will force an update of the librar y's api and 220 // At present, knocking out a js artifact will force an update of the librar y's api and
185 // deps. This could be optimized. 221 // deps. This could be optimized.
186 didWrite("my.dart", EXTENSION_JS, provider); 222 didWrite("my.dart", EXTENSION_JS, provider);
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 private void didWrite(String sourceName, String extension, IncMockArtifactProv ider provider) { 752 private void didWrite(String sourceName, String extension, IncMockArtifactProv ider provider) {
717 String spec = sourceName + "/" + extension; 753 String spec = sourceName + "/" + extension;
718 assertTrue("Expected write: " + spec, provider.writes.contains(spec)); 754 assertTrue("Expected write: " + spec, provider.writes.contains(spec));
719 } 755 }
720 756
721 private void didNotWrite(String sourceName, String extension, IncMockArtifactP rovider provider) { 757 private void didNotWrite(String sourceName, String extension, IncMockArtifactP rovider provider) {
722 String spec = sourceName + "/" + extension; 758 String spec = sourceName + "/" + extension;
723 assertFalse("Didn't expect write: " + spec, provider.writes.contains(spec)); 759 assertFalse("Didn't expect write: " + spec, provider.writes.contains(spec));
724 } 760 }
725 } 761 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698