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

Side by Side Diff: sdk/lib/_internal/pub/test/lock_file_test.dart

Issue 15347004: Gracefully handle pubspecs with dependencies using unknown sources. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Handle bad sources in dev deps. Created 7 years, 7 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
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 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 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 lock_file_test; 5 library lock_file_test;
6 6
7 import 'package:unittest/unittest.dart'; 7 import 'package:unittest/unittest.dart';
8 import 'package:yaml/yaml.dart'; 8 import 'package:yaml/yaml.dart';
9 9
10 import '../lib/src/lock_file.dart'; 10 import '../lib/src/lock_file.dart';
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 version: 2.3.4 58 version: 2.3.4
59 source: mock 59 source: mock
60 description: foo desc 60 description: foo desc
61 ''', sources); 61 ''', sources);
62 62
63 expect(lockFile.packages.length, equals(2)); 63 expect(lockFile.packages.length, equals(2));
64 64
65 var bar = lockFile.packages['bar']; 65 var bar = lockFile.packages['bar'];
66 expect(bar.name, equals('bar')); 66 expect(bar.name, equals('bar'));
67 expect(bar.version, equals(new Version(1, 2, 3))); 67 expect(bar.version, equals(new Version(1, 2, 3)));
68 expect(bar.source, equals(mockSource)); 68 expect(bar.source, equals(mockSource.name));
69 expect(bar.description, equals('bar desc')); 69 expect(bar.description, equals('bar desc'));
70 70
71 var foo = lockFile.packages['foo']; 71 var foo = lockFile.packages['foo'];
72 expect(foo.name, equals('foo')); 72 expect(foo.name, equals('foo'));
73 expect(foo.version, equals(new Version(2, 3, 4))); 73 expect(foo.version, equals(new Version(2, 3, 4)));
74 expect(foo.source, equals(mockSource)); 74 expect(foo.source, equals(mockSource.name));
75 expect(foo.description, equals('foo desc')); 75 expect(foo.description, equals('foo desc'));
76 }); 76 });
77 77
78 test("throws if the version is missing", () { 78 test("throws if the version is missing", () {
79 expect(() { 79 expect(() {
80 new LockFile.parse(''' 80 new LockFile.parse('''
81 packages: 81 packages:
82 foo: 82 foo:
83 source: mock 83 source: mock
84 description: foo desc 84 description: foo desc
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 }); 159 });
160 160
161 group('serialize()', () { 161 group('serialize()', () {
162 var lockfile; 162 var lockfile;
163 setUp(() { 163 setUp(() {
164 lockfile = new LockFile.empty(); 164 lockfile = new LockFile.empty();
165 }); 165 });
166 166
167 test('dumps the lockfile to YAML', () { 167 test('dumps the lockfile to YAML', () {
168 lockfile.packages['foo'] = new PackageId( 168 lockfile.packages['foo'] = new PackageId(
169 'foo', mockSource, new Version.parse('1.2.3'), 'foo desc'); 169 'foo', mockSource.name, new Version.parse('1.2.3'), 'foo desc');
170 lockfile.packages['bar'] = new PackageId( 170 lockfile.packages['bar'] = new PackageId(
171 'bar', mockSource, new Version.parse('3.2.1'), 'bar desc'); 171 'bar', mockSource.name, new Version.parse('3.2.1'), 'bar desc');
172 172
173 expect(loadYaml(lockfile.serialize()), equals({ 173 expect(loadYaml(lockfile.serialize()), equals({
174 'packages': { 174 'packages': {
175 'foo': { 175 'foo': {
176 'version': '1.2.3', 176 'version': '1.2.3',
177 'source': 'mock', 177 'source': 'mock',
178 'description': 'foo desc' 178 'description': 'foo desc'
179 }, 179 },
180 'bar': { 180 'bar': {
181 'version': '3.2.1', 181 'version': '3.2.1',
182 'source': 'mock', 182 'source': 'mock',
183 'description': 'bar desc' 183 'description': 'bar desc'
184 } 184 }
185 } 185 }
186 })); 186 }));
187 }); 187 });
188 188
189 test('lockfile is alphabetized by package name', () { 189 test('lockfile is alphabetized by package name', () {
190 var testNames = ['baz', 'Qwe', 'Q', 'B', 'Bar', 'bar', 'foo']; 190 var testNames = ['baz', 'Qwe', 'Q', 'B', 'Bar', 'bar', 'foo'];
191 testNames.forEach((name) { 191 testNames.forEach((name) {
192 lockfile.packages[name] = new PackageId(name, mockSource, 192 lockfile.packages[name] = new PackageId(name, mockSource.name,
193 new Version.parse('5.5.5'), '$name desc'); 193 new Version.parse('5.5.5'), '$name desc');
194 }); 194 });
195 195
196 expect(lockfile.serialize(), 196 expect(lockfile.serialize(),
197 '# Generated by pub\n' 197 '# Generated by pub\n'
198 '# See http://pub.dartlang.org/doc/glossary.html#lockfile\n' 198 '# See http://pub.dartlang.org/doc/glossary.html#lockfile\n'
199 '\n' 199 '\n'
200 '{"packages":{' 200 '{"packages":{'
201 '"B":{"version":"5.5.5","source":"mock","description":"B desc"},' 201 '"B":{"version":"5.5.5","source":"mock","description":"B desc"},'
202 '"Bar":{"version":"5.5.5","source":"mock","description":"Bar desc"},' 202 '"Bar":{"version":"5.5.5","source":"mock","description":"Bar desc"},'
203 '"Q":{"version":"5.5.5","source":"mock","description":"Q desc"},' 203 '"Q":{"version":"5.5.5","source":"mock","description":"Q desc"},'
204 '"Qwe":{"version":"5.5.5","source":"mock","description":"Qwe desc"},' 204 '"Qwe":{"version":"5.5.5","source":"mock","description":"Qwe desc"},'
205 '"bar":{"version":"5.5.5","source":"mock","description":"bar desc"},' 205 '"bar":{"version":"5.5.5","source":"mock","description":"bar desc"},'
206 '"baz":{"version":"5.5.5","source":"mock","description":"baz desc"},' 206 '"baz":{"version":"5.5.5","source":"mock","description":"baz desc"},'
207 '"foo":{"version":"5.5.5","source":"mock","description":"foo desc"}}}' 207 '"foo":{"version":"5.5.5","source":"mock","description":"foo desc"}}}'
208 '\n' 208 '\n'
209 ); 209 );
210 }); 210 });
211 }); 211 });
212 }); 212 });
213 } 213 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698