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 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 foo: | 152 foo: |
153 bonus: not used | 153 bonus: not used |
154 version: 1.2.3 | 154 version: 1.2.3 |
155 source: mock | 155 source: mock |
156 description: foo desc | 156 description: foo desc |
157 ''', sources); | 157 ''', sources); |
158 }); | 158 }); |
159 }); | 159 }); |
160 | 160 |
161 group('serialize()', () { | 161 group('serialize()', () { |
| 162 var lockfile; |
| 163 setUp(() { |
| 164 lockfile = new LockFile.empty(); |
| 165 }); |
| 166 |
162 test('dumps the lockfile to YAML', () { | 167 test('dumps the lockfile to YAML', () { |
163 var lockfile = new LockFile.empty(); | |
164 lockfile.packages['foo'] = new PackageId( | 168 lockfile.packages['foo'] = new PackageId( |
165 'foo', mockSource, new Version.parse('1.2.3'), 'foo desc'); | 169 'foo', mockSource, new Version.parse('1.2.3'), 'foo desc'); |
166 lockfile.packages['bar'] = new PackageId( | 170 lockfile.packages['bar'] = new PackageId( |
167 'foo', mockSource, new Version.parse('3.2.1'), 'bar desc'); | 171 'bar', mockSource, new Version.parse('3.2.1'), 'bar desc'); |
168 | 172 |
169 expect(loadYaml(lockfile.serialize()), equals({ | 173 expect(loadYaml(lockfile.serialize()), equals({ |
170 'packages': { | 174 'packages': { |
171 'foo': { | 175 'foo': { |
172 'version': '1.2.3', | 176 'version': '1.2.3', |
173 'source': 'mock', | 177 'source': 'mock', |
174 'description': 'foo desc' | 178 'description': 'foo desc' |
175 }, | 179 }, |
176 'bar': { | 180 'bar': { |
177 'version': '3.2.1', | 181 'version': '3.2.1', |
178 'source': 'mock', | 182 'source': 'mock', |
179 'description': 'bar desc' | 183 'description': 'bar desc' |
180 } | 184 } |
181 } | 185 } |
182 })); | 186 })); |
183 }); | 187 }); |
| 188 |
| 189 test('lockfile is alphabetized by package name', () { |
| 190 var testNames = ['baz', 'Qwe', 'Q', 'B', 'Bar', 'bar', 'foo']; |
| 191 testNames.forEach((name) { |
| 192 lockfile.packages[name] = new PackageId(name, mockSource, |
| 193 new Version.parse('5.5.5'), '$name desc'); |
| 194 }); |
| 195 |
| 196 expect(lockfile.serialize(), |
| 197 '# Generated by pub\n' |
| 198 '# See http://pub.dartlang.org/doc/glossary.html#lockfile\n' |
| 199 '\n' |
| 200 '{"packages":{' |
| 201 '"B":{"version":"5.5.5","source":"mock","description":"B desc"},' |
| 202 '"Bar":{"version":"5.5.5","source":"mock","description":"Bar desc"},' |
| 203 '"Q":{"version":"5.5.5","source":"mock","description":"Q desc"},' |
| 204 '"Qwe":{"version":"5.5.5","source":"mock","description":"Qwe desc"},' |
| 205 '"bar":{"version":"5.5.5","source":"mock","description":"bar desc"},' |
| 206 '"baz":{"version":"5.5.5","source":"mock","description":"baz desc"},' |
| 207 '"foo":{"version":"5.5.5","source":"mock","description":"foo desc"}}}' |
| 208 '\n' |
| 209 ); |
| 210 }); |
184 }); | 211 }); |
185 }); | 212 }); |
186 } | 213 } |
OLD | NEW |