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

Side by Side Diff: pkg/smoke/test/codegen/generator_test.dart

Issue 208583003: Fix string literals and add support for static methods in smoke. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: minor fix - inlcude name for static method too Created 6 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 | Annotate | Revision Log
« no previous file with comments | « pkg/smoke/test/codegen/end_to_end_test.dart ('k') | pkg/smoke/test/codegen/recorder_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 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 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 library smoke.test.codegen.generator_test; 5 library smoke.test.codegen.generator_test;
6 6
7 import 'package:smoke/codegen/generator.dart'; 7 import 'package:smoke/codegen/generator.dart';
8 import 'package:unittest/unittest.dart'; 8 import 'package:unittest/unittest.dart';
9 9
10 import 'common.dart' show checkResults; 10 import 'common.dart' show checkResults;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 }); 51 });
52 52
53 test('names/symbols', () { 53 test('names/symbols', () {
54 var generator = new SmokeCodeGenerator(); 54 var generator = new SmokeCodeGenerator();
55 generator.addSymbol('i'); 55 generator.addSymbol('i');
56 generator.addSymbol('foo'); 56 generator.addSymbol('foo');
57 checkResults(generator, initCall: 57 checkResults(generator, initCall:
58 'useGeneratedCode(new StaticConfiguration(\n' 58 'useGeneratedCode(new StaticConfiguration(\n'
59 ' checkedMode: false,\n' 59 ' checkedMode: false,\n'
60 ' names: {\n' 60 ' names: {\n'
61 ' #foo: \'foo\',\n' 61 ' #foo: r\'foo\',\n'
62 ' #i: \'i\',\n' 62 ' #i: r\'i\',\n'
63 ' }));\n'); 63 ' }));\n');
64 }); 64 });
65 65
66 test('getters, setters, and names', () { 66 test('getters, setters, and names', () {
67 var generator = new SmokeCodeGenerator(); 67 var generator = new SmokeCodeGenerator();
68 generator.addGetter('i'); 68 generator.addGetter('i');
69 generator.addSetter('i'); 69 generator.addSetter('i');
70 generator.addSetter('foo'); 70 generator.addSetter('foo');
71 generator.addSymbol('foo'); 71 generator.addSymbol('foo');
72 checkResults(generator, initCall: 72 checkResults(generator, initCall:
73 'useGeneratedCode(new StaticConfiguration(\n' 73 'useGeneratedCode(new StaticConfiguration(\n'
74 ' checkedMode: false,\n' 74 ' checkedMode: false,\n'
75 ' getters: {\n' 75 ' getters: {\n'
76 ' #i: (o) => o.i,\n' 76 ' #i: (o) => o.i,\n'
77 ' },\n' 77 ' },\n'
78 ' setters: {\n' 78 ' setters: {\n'
79 ' #foo: (o, v) { o.foo = v; },\n' 79 ' #foo: (o, v) { o.foo = v; },\n'
80 ' #i: (o, v) { o.i = v; },\n' 80 ' #i: (o, v) { o.i = v; },\n'
81 ' },\n' 81 ' },\n'
82 ' names: {\n' 82 ' names: {\n'
83 ' #foo: \'foo\',\n' 83 ' #foo: r\'foo\',\n'
84 ' }));\n'); 84 ' }));\n');
85 }); 85 });
86 86
87 test('parents', () { 87 test('parents', () {
88 var generator = new SmokeCodeGenerator(); 88 var generator = new SmokeCodeGenerator();
89 generator.addParent(new TypeIdentifier('a.dart', 'A'), 89 generator.addParent(new TypeIdentifier('a.dart', 'A'),
90 new TypeIdentifier('b.dart', 'B')); 90 new TypeIdentifier('b.dart', 'B'));
91 generator.addParent(new TypeIdentifier('a.dart', 'C'), 91 generator.addParent(new TypeIdentifier('a.dart', 'C'),
92 new TypeIdentifier('a.dart', 'A')); 92 new TypeIdentifier('a.dart', 'A'));
93 checkResults(generator, 93 checkResults(generator,
(...skipping 25 matching lines...) Expand all
119 ' checkedMode: false,\n' 119 ' checkedMode: false,\n'
120 ' declarations: {\n' 120 ' declarations: {\n'
121 ' smoke_0.A: {\n' 121 ' smoke_0.A: {\n'
122 ' #bar: const Declaration(#bar, Function, kind: METHOD, ' 122 ' #bar: const Declaration(#bar, Function, kind: METHOD, '
123 'annotations: const [const Annotation(\'hi\')]),\n' 123 'annotations: const [const Annotation(\'hi\')]),\n'
124 ' #foo: const Declaration(#foo, int, isFinal: true),\n' 124 ' #foo: const Declaration(#foo, int, isFinal: true),\n'
125 ' },\n' 125 ' },\n'
126 ' }));\n'); 126 ' }));\n');
127 }); 127 });
128 128
129 test('staticMethod', () {
130 var generator = new SmokeCodeGenerator();
131 generator.addStaticMethod(new TypeIdentifier('a.dart', 'A'), 'm1');
132 checkResults(generator,
133 imports: ["import 'a.dart' as smoke_0;"],
134 initCall:
135 'useGeneratedCode(new StaticConfiguration(\n'
136 ' checkedMode: false,\n'
137 ' staticMethods: {\n'
138 ' smoke_0.A: {\n'
139 ' #m1: smoke_0.A.m1,\n'
140 ' },\n'
141 ' }));\n');
142 });
143
129 test('repeated entries appear only once', () { 144 test('repeated entries appear only once', () {
130 var generator = new SmokeCodeGenerator(); 145 var generator = new SmokeCodeGenerator();
131 generator.addGetter('a'); 146 generator.addGetter('a');
132 generator.addGetter('a'); 147 generator.addGetter('a');
133 generator.addSetter('b'); 148 generator.addSetter('b');
134 generator.addSetter('b'); 149 generator.addSetter('b');
135 generator.addSymbol('d'); 150 generator.addSymbol('d');
136 generator.addSymbol('d'); 151 generator.addSymbol('d');
137 generator.addSymbol('c'); 152 generator.addSymbol('c');
138 generator.addSymbol('c'); 153 generator.addSymbol('c');
(...skipping 28 matching lines...) Expand all
167 ' },\n' 182 ' },\n'
168 ' parents: {\n' 183 ' parents: {\n'
169 ' smoke_0.C: smoke_0.A,\n' 184 ' smoke_0.C: smoke_0.A,\n'
170 ' },\n' 185 ' },\n'
171 ' declarations: {\n' 186 ' declarations: {\n'
172 ' smoke_0.A: {\n' 187 ' smoke_0.A: {\n'
173 ' #foo: const Declaration(#foo, int, isFinal: true),\n' 188 ' #foo: const Declaration(#foo, int, isFinal: true),\n'
174 ' },\n' 189 ' },\n'
175 ' },\n' 190 ' },\n'
176 ' names: {\n' 191 ' names: {\n'
177 ' #c: \'c\',\n' 192 ' #c: r\'c\',\n'
178 ' #d: \'d\',\n' 193 ' #d: r\'d\',\n'
179 ' }));\n'); 194 ' }));\n');
180 }); 195 });
181 } 196 }
OLDNEW
« no previous file with comments | « pkg/smoke/test/codegen/end_to_end_test.dart ('k') | pkg/smoke/test/codegen/recorder_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698