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

Side by Side Diff: tests/language_strong/covariant_subtyping_tearoff3_test.dart

Issue 2725563003: Add some tests for calls with checks in strong mode. (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
(Empty)
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
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.
4 import 'package:expect/expect.dart';
5
6 class Implementation {
7 dynamic method(int x) {}
8 }
9
10 abstract class Interface1<T> {
11 dynamic method(T x);
12 }
13
14 abstract class Interface2<T> {
15 dynamic method(T x);
16 }
17
18 class Subclass extends Implementation
19 implements Interface1<int>, Interface2<int> {}
20
21 typedef dynamic TakeNum(num x);
22
23 main() {
24 Subclass subclass = new Subclass();
25
26 Interface1<int> intInterface1 = subclass;
27 Interface1<num> numInterface1 = intInterface1;
28 TakeNum f1 = numInterface1.method;
29 Expect.throws(() => f1(2.5));
30 dynamic f1dynamic = f1;
31 Expect.throws(() => f1dynamic(2.5));
32
33 Interface2<int> intInterface2 = subclass;
34 Interface2<num> numInterface2 = intInterface2;
35 TakeNum f2 = numInterface2.method;
36 Expect.throws(() => f2(2.5));
37 dynamic f2dynamic = f2;
38 Expect.throws(() => f2dynamic(2.5));
39 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698