| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |