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

Side by Side Diff: test/transformer_test.dart

Issue 1788973002: Remove code that requires whole-program compile (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: merged Created 4 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
« no previous file with comments | « test/transformer_e2e_test.dart ('k') | tool/presubmit.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
5 library dev_compiler.test.transformer.transformer_test;
6
7 import 'package:barback/barback.dart' show BarbackMode, BarbackSettings;
8 import 'package:dev_compiler/transformer.dart';
9 import 'package:dev_compiler/src/compiler.dart' show defaultRuntimeFiles;
10 import 'package:test/test.dart';
11 import 'package:transformer_test/utils.dart';
12
13 makePhases([Map config = const {}]) => [
14 [
15 new DdcTransformer.asPlugin(
16 new BarbackSettings(config, BarbackMode.RELEASE))
17 ]
18 ];
19
20 final Map<String, String> runtimeInput = new Map.fromIterable(
21 defaultRuntimeFiles,
22 key: (f) => 'dev_compiler|lib/runtime/$f',
23 value: (_) => '');
24
25 Map<String, String> createInput(Map<String, String> input) =>
26 {}..addAll(input)..addAll(runtimeInput);
27
28 void main() {
29 group('$DdcTransformer', () {
30 testPhases(
31 r'compiles simple code',
32 makePhases(),
33 createInput({
34 'foo|lib/Foo.dart': r'''
35 class Foo {}
36 '''
37 }),
38 {
39 'foo|web/foo/Foo.js': r'''
40 dart_library.library('foo/Foo', null, /* Imports */[
41 'dart/_runtime',
42 'dart/core'
43 ], /* Lazy imports */[
44 ], function(exports, dart, core) {
45 'use strict';
46 let dartx = dart.dartx;
47 class Foo extends core.Object {}
48 // Exports:
49 exports.Foo = Foo;
50 });
51 //# sourceMappingURL=Foo.js.map
52 '''
53 .trimLeft()
54 });
55
56 testPhases(
57 r'honours arguments',
58 makePhases({
59 'args': ['--destructure-named-params', '--modules=es6']
60 }),
61 createInput({
62 'foo|lib/Foo.dart': r'''
63 int foo({String s : '?'}) {}
64 '''
65 }),
66 {
67 'foo|web/foo/Foo.js': r'''
68 const exports = {};
69 import dart from "../dart/_runtime";
70 import core from "../dart/core";
71 let dartx = dart.dartx;
72 function foo({s = '?'} = {}) {
73 }
74 dart.fn(foo, core.int, [], {s: core.String});
75 // Exports:
76 exports.foo = foo;
77 export default exports;
78 //# sourceMappingURL=Foo.js.map
79 '''
80 .trimLeft()
81 });
82
83 testPhases(
84 'forwards errors',
85 makePhases(),
86 createInput({
87 'foo|lib/Foo.dart': r'''
88 foo() {
89 var x = 1;
90 x = '2';
91 }
92 '''
93 }),
94 {},
95 [
96 "warning: A value of type \'String\' cannot be assigned to a variable of type \'int\' (package:foo/Foo.dart 3 19)",
97 "error: Type check failed: '2' (String) is not of type int (package:fo o/Foo.dart 3 19)"
98 ]);
99 });
100 }
OLDNEW
« no previous file with comments | « test/transformer_e2e_test.dart ('k') | tool/presubmit.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698