| OLD | NEW |
| (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 | |
| 5 library pub_tests; | |
| 6 | |
| 7 import '../descriptor.dart' as d; | |
| 8 import '../test_pub.dart'; | |
| 9 import 'utils.dart'; | |
| 10 | |
| 11 void main() { | |
| 12 initConfig(); | |
| 13 | |
| 14 integration("reports a dependency if a transformed local file is imported", | |
| 15 () { | |
| 16 d.dir(appPath, [ | |
| 17 d.pubspec({ | |
| 18 "name": "myapp", | |
| 19 "dependencies": {"foo": {"path": "../foo"}}, | |
| 20 "transformers": [ | |
| 21 {"foo": {"\$include": "lib/lib.dart"}}, | |
| 22 "myapp" | |
| 23 ] | |
| 24 }), | |
| 25 d.dir("lib", [ | |
| 26 d.file("myapp.dart", ""), | |
| 27 d.file("lib.dart", ""), | |
| 28 d.file("transformer.dart", transformer(["lib.dart"])) | |
| 29 ]) | |
| 30 ]).create(); | |
| 31 | |
| 32 d.dir("foo", [ | |
| 33 d.pubspec({"name": "foo", "version": "1.0.0"}), | |
| 34 d.dir("lib", [d.file("foo.dart", transformer())]) | |
| 35 ]).create(); | |
| 36 | |
| 37 expectDependencies({'myapp': ['foo'], 'foo': []}); | |
| 38 }); | |
| 39 | |
| 40 integration("reports a dependency if a transformed foreign file is imported", | |
| 41 () { | |
| 42 d.dir(appPath, [ | |
| 43 d.pubspec({ | |
| 44 "name": "myapp", | |
| 45 "dependencies": {"foo": {"path": "../foo"}}, | |
| 46 "transformers": ["myapp"] | |
| 47 }), | |
| 48 d.dir("lib", [ | |
| 49 d.file("myapp.dart", ""), | |
| 50 d.file("transformer.dart", transformer(["package:foo/foo.dart"])) | |
| 51 ]) | |
| 52 ]).create(); | |
| 53 | |
| 54 d.dir("foo", [ | |
| 55 d.pubspec({ | |
| 56 "name": "foo", | |
| 57 "version": "1.0.0", | |
| 58 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}] | |
| 59 }), | |
| 60 d.dir("lib", [ | |
| 61 d.file("foo.dart", ""), | |
| 62 d.file("transformer.dart", transformer()) | |
| 63 ]) | |
| 64 ]).create(); | |
| 65 | |
| 66 expectDependencies({'myapp': ['foo'], 'foo': []}); | |
| 67 }); | |
| 68 | |
| 69 integration("reports a dependency if a transformed external package file is " | |
| 70 "imported from an export", () { | |
| 71 d.dir(appPath, [ | |
| 72 d.pubspec({ | |
| 73 "name": "myapp", | |
| 74 "dependencies": {"foo": {"path": "../foo"}}, | |
| 75 "transformers": ["myapp"] | |
| 76 }), | |
| 77 d.dir("lib", [ | |
| 78 d.file("myapp.dart", ""), | |
| 79 d.file("transformer.dart", transformer(["local.dart"])), | |
| 80 d.file("local.dart", "export 'package:foo/foo.dart';") | |
| 81 ]) | |
| 82 ]).create(); | |
| 83 | |
| 84 d.dir("foo", [ | |
| 85 d.pubspec({ | |
| 86 "name": "foo", | |
| 87 "version": "1.0.0", | |
| 88 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}] | |
| 89 }), | |
| 90 d.dir("lib", [ | |
| 91 d.file("foo.dart", ""), | |
| 92 d.file("transformer.dart", transformer()) | |
| 93 ]) | |
| 94 ]).create(); | |
| 95 | |
| 96 expectDependencies({'myapp': ['foo'], 'foo': []}); | |
| 97 }); | |
| 98 | |
| 99 integration("reports a dependency if a transformed foreign file is " | |
| 100 "transitively imported", () { | |
| 101 d.dir(appPath, [ | |
| 102 d.pubspec({ | |
| 103 "name": "myapp", | |
| 104 "dependencies": {"foo": {"path": "../foo"}}, | |
| 105 "transformers": ["myapp"] | |
| 106 }), | |
| 107 d.dir("lib", [ | |
| 108 d.file("myapp.dart", ""), | |
| 109 d.file("transformer.dart", transformer(["local.dart"])), | |
| 110 d.file("local.dart", "import 'package:foo/foreign.dart';") | |
| 111 ]) | |
| 112 ]).create(); | |
| 113 | |
| 114 d.dir("foo", [ | |
| 115 d.pubspec({ | |
| 116 "name": "foo", | |
| 117 "version": "1.0.0", | |
| 118 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}] | |
| 119 }), | |
| 120 d.dir("lib", [ | |
| 121 d.file("foo.dart", ""), | |
| 122 d.file("transformer.dart", transformer()), | |
| 123 d.file("foreign.dart", "import 'foo.dart';") | |
| 124 ]) | |
| 125 ]).create(); | |
| 126 | |
| 127 expectDependencies({'myapp': ['foo'], 'foo': []}); | |
| 128 }); | |
| 129 | |
| 130 integration("reports a dependency if a transformed foreign file is " | |
| 131 "transitively imported across packages", () { | |
| 132 d.dir(appPath, [ | |
| 133 d.pubspec({ | |
| 134 "name": "myapp", | |
| 135 "dependencies": {"foo": {"path": "../foo"}}, | |
| 136 "transformers": ["myapp"] | |
| 137 }), | |
| 138 d.dir("lib", [ | |
| 139 d.file("myapp.dart", ""), | |
| 140 d.file("transformer.dart", transformer(["package:foo/foo.dart"])), | |
| 141 ]) | |
| 142 ]).create(); | |
| 143 | |
| 144 d.dir("foo", [ | |
| 145 d.pubspec({ | |
| 146 "name": "foo", | |
| 147 "version": "1.0.0", | |
| 148 "dependencies": {"bar": {"path": "../bar"}} | |
| 149 }), | |
| 150 d.dir("lib", [d.file("foo.dart", "import 'package:bar/bar.dart';")]) | |
| 151 ]).create(); | |
| 152 | |
| 153 d.dir("bar", [ | |
| 154 d.pubspec({ | |
| 155 "name": "bar", | |
| 156 "version": "1.0.0", | |
| 157 "transformers": [{"bar": {"\$include": "lib/bar.dart"}}] | |
| 158 }), | |
| 159 d.dir("lib", [ | |
| 160 d.file("bar.dart", ""), | |
| 161 d.file("transformer.dart", transformer()) | |
| 162 ]) | |
| 163 ]).create(); | |
| 164 | |
| 165 expectDependencies({'myapp': ['bar'], 'bar': []}); | |
| 166 }); | |
| 167 | |
| 168 integration("reports a dependency if an imported file is transformed by a " | |
| 169 "different package", () { | |
| 170 d.dir(appPath, [ | |
| 171 d.pubspec({ | |
| 172 "name": "myapp", | |
| 173 "dependencies": {"foo": {"path": "../foo"}}, | |
| 174 "transformers": [ | |
| 175 {"foo": {'\$include': 'lib/local.dart'}}, | |
| 176 "myapp" | |
| 177 ] | |
| 178 }), | |
| 179 d.dir("lib", [ | |
| 180 d.file("myapp.dart", ""), | |
| 181 d.file("transformer.dart", transformer(["local.dart"])), | |
| 182 d.file("local.dart", "") | |
| 183 ]) | |
| 184 ]).create(); | |
| 185 | |
| 186 d.dir("foo", [ | |
| 187 d.pubspec({"name": "foo", "version": "1.0.0"}), | |
| 188 d.dir("lib", [d.file("transformer.dart", transformer())]) | |
| 189 ]).create(); | |
| 190 | |
| 191 expectDependencies({'myapp': ['foo'], 'foo': []}); | |
| 192 }); | |
| 193 } | |
| OLD | NEW |