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