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

Side by Side Diff: frog/tests/leg_only/compound_operator_index_test.dart

Issue 10536169: Move frog/tests/{leg,leg_only,frog_native} to tests/compiler/. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 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
(Empty)
1 // Copyright (c) 2012, 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
5 class A {
6 List<int> list;
7 A(int a, int b) : list = <int>[a, b];
8 operator [](index) => list[index];
9 operator []=(index, value) => list[index] = value;
10 }
11
12 class B {
13 int value;
14 List trace;
15 B(this.trace) : value = 100;
16 operator [](index) {
17 trace.add(-3);
18 trace.add(index);
19 trace.add(this.value);
20 this.value = this.value + 1;
21 return this;
22 }
23
24 operator []=(index, value) {
25 trace.add(-5);
26 trace.add(index);
27 trace.add(value.value);
28 this.value = this.value + 1;
29 }
30
31 operator +(int value) {
32 trace.add(-4);
33 trace.add(this.value);
34 trace.add(value);
35 this.value = this.value + 1;
36 return this;
37 }
38 }
39
40 B getB(trace) {
41 trace.add(-1);
42 return new B(trace);
43 }
44 int getIndex(trace) {
45 trace.add(-2);
46 return 42;
47 }
48
49 main() {
50 A a = new A(1, 2);
51 Expect.equals(1, a[0]);
52 Expect.equals(2, a[1]);
53
54 Expect.equals(1, a[0]++);
55 Expect.equals(2, a[0]);
56
57 Expect.equals(2, a[0]--);
58 Expect.equals(1, a[0]);
59
60 Expect.equals(0, --a[0]);
61 Expect.equals(0, a[0]);
62
63 Expect.equals(1, ++a[0]);
64 Expect.equals(1, a[0]);
65
66 a[0] += 2;
67 Expect.equals(3, a[0]);
68
69 List trace = new List();
70 getB(trace)[getIndex(trace)] += 37;
71
72 Expect.listEquals([-1, -2, -3, 42, 100, -4, 101, 37, -5, 42, 102], trace);
73 }
OLDNEW
« no previous file with comments | « frog/tests/leg_only/compile_time_constant4_test.dart ('k') | frog/tests/leg_only/conditional_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698