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

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

Issue 2998493002: Migrate language block 45 - call_argument ... call_with. (Closed)
Patch Set: Merge branch 'master' into migrate-45 Created 3 years, 4 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) 2014, 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 // VMOptions=--optimization_counter_threshold=10
5
6 import "package:expect/expect.dart";
7
8 main() {
9 bar(a) {
10 return a is String;
11 }
12
13 var bar_tearOff = bar.call;
14
15 for (var i = 0; i < 20; i++) {
16 Expect.isFalse(bar_tearOff(1));
17 Expect.isTrue(bar_tearOff.call('foo'));
18 Expect.isFalse(bar_tearOff.call(1));
19 Expect.isTrue(bar_tearOff('foo'));
20 }
21
22 opt_arg([a = "a"]) => a is String;
23 var opt_arg_tearOff = opt_arg.call;
24
25 for (var i = 0; i < 20; i++) {
26 Expect.isFalse(opt_arg_tearOff(1));
27 Expect.isFalse(opt_arg_tearOff.call(1));
28 Expect.isTrue(opt_arg_tearOff());
29 Expect.isTrue(opt_arg_tearOff.call());
30 Expect.isTrue(opt_arg_tearOff("b"));
31 Expect.isTrue(opt_arg_tearOff.call("b"));
32 }
33
34 named_arg({x: 11, y: 22}) => "$x$y";
35 var named_arg_tearOff = named_arg.call;
36
37 for (var i = 0; i < 20; i++) {
38 Expect.equals("1122", named_arg_tearOff());
39 Expect.equals("1122", named_arg_tearOff.call());
40 Expect.equals("4455", named_arg_tearOff(y: 55, x: 44));
41 Expect.equals("4455", named_arg_tearOff.call(y: 55, x: 44));
42 Expect.equals("4455", named_arg_tearOff(x: 44, y: 55));
43 Expect.equals("4455", named_arg_tearOff.call(x: 44, y: 55));
44 }
45
46 Expect.throws(() => bar_tearOff.call(), (e) => e is NoSuchMethodError);
47 Expect.throws(
48 () => opt_arg_tearOff.call(x: "p"), (e) => e is NoSuchMethodError);
49 Expect.throws(
50 () => named_arg_tearOff.call("p", "q"), (e) => e is NoSuchMethodError);
51 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698