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

Unified Diff: tests/compiler/dart2js/jsinterop/world_test.dart

Issue 2612253002: Fix needsNoSuchMethod computation for abstractly instantiated classes (Closed)
Patch Set: dartfmt Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/jsinterop/world_test.dart
diff --git a/tests/compiler/dart2js/jsinterop/world_test.dart b/tests/compiler/dart2js/jsinterop/world_test.dart
index 1ddbd39211ca91dad8060f3be35df27ad1eafbe4..bed24f30b36b1288d6583e267e0ae31e0b3e011e 100644
--- a/tests/compiler/dart2js/jsinterop/world_test.dart
+++ b/tests/compiler/dart2js/jsinterop/world_test.dart
@@ -7,8 +7,10 @@ library jsinterop.world_test;
import 'package:expect/expect.dart';
import 'package:async_helper/async_helper.dart';
import 'package:compiler/src/common.dart';
-import 'package:compiler/src/elements/elements.dart' show Element, ClassElement;
+import 'package:compiler/src/elements/elements.dart'
+ show ClassElement, PublicName;
import 'package:compiler/src/js_backend/js_backend.dart';
+import 'package:compiler/src/universe/selector.dart';
import 'package:compiler/src/world.dart';
import '../type_test_helper.dart';
@@ -102,6 +104,8 @@ $mainSource
ClassElement E = registerClass(env.getElement('E'));
ClassElement F = registerClass(env.getElement('F'));
+ Selector nonExisting = new Selector.getter(const PublicName('nonExisting'));
+
Expect.equals(Interceptor.superclass, Object_);
Expect.equals(JavaScriptObject.superclass, Interceptor);
@@ -128,6 +132,15 @@ $mainSource
world.isAbstractlyInstantiated(cls),
"Expected $name to be abstractly instantiated in `${mainSource}`:"
"\n${world.dump(cls)}");
+ Expect.isTrue(
+ world.needsNoSuchMethod(cls, nonExisting, ClassQuery.EXACT),
+ "Expected $name to need noSuchMethod for $nonExisting.");
+ Expect.isTrue(
+ world.needsNoSuchMethod(cls, nonExisting, ClassQuery.SUBCLASS),
+ "Expected $name to need noSuchMethod for $nonExisting.");
+ Expect.isTrue(
+ world.needsNoSuchMethod(cls, nonExisting, ClassQuery.SUBTYPE),
+ "Expected $name to need noSuchMethod for $nonExisting.");
}
if (indirectlyInstantiated.contains(name)) {
isInstantiated = true;

Powered by Google App Engine
This is Rietveld 408576698