Index: sdk/lib/_internal/pub/test/lock_file_test.dart |
diff --git a/sdk/lib/_internal/pub/test/lock_file_test.dart b/sdk/lib/_internal/pub/test/lock_file_test.dart |
index 95fcd71fd0b99dc3b82b0ffb1c0552e565b9a8dd..0f7fe53875149a9ec29380ea88bb1e654c9ee19b 100644 |
--- a/sdk/lib/_internal/pub/test/lock_file_test.dart |
+++ b/sdk/lib/_internal/pub/test/lock_file_test.dart |
@@ -159,12 +159,16 @@ packages: |
}); |
group('serialize()', () { |
+ var lockfile; |
+ setUp(() { |
+ lockfile = new LockFile.empty(); |
+ }); |
+ |
test('dumps the lockfile to YAML', () { |
- var lockfile = new LockFile.empty(); |
lockfile.packages['foo'] = new PackageId( |
'foo', mockSource, new Version.parse('1.2.3'), 'foo desc'); |
lockfile.packages['bar'] = new PackageId( |
- 'foo', mockSource, new Version.parse('3.2.1'), 'bar desc'); |
+ 'bar', mockSource, new Version.parse('3.2.1'), 'bar desc'); |
expect(loadYaml(lockfile.serialize()), equals({ |
'packages': { |
@@ -181,6 +185,29 @@ packages: |
} |
})); |
}); |
+ |
+ test('lockfile is alphabetized by package name', () { |
+ var testNames = ['baz', 'Qwe', 'Q', 'B', 'Bar', 'bar', 'foo']; |
+ testNames.forEach((name) { |
+ lockfile.packages[name] = new PackageId(name, mockSource, |
+ new Version.parse('5.5.5'), '$name desc'); |
+ }); |
+ |
+ expect(lockfile.serialize(), |
+ '# Generated by pub\n' |
+ '# See http://pub.dartlang.org/doc/glossary.html#lockfile\n' |
+ '\n' |
+ '{"packages":{' |
+ '"B":{"version":"5.5.5","source":"mock","description":"B desc"},' |
+ '"Bar":{"version":"5.5.5","source":"mock","description":"Bar desc"},' |
+ '"Q":{"version":"5.5.5","source":"mock","description":"Q desc"},' |
+ '"Qwe":{"version":"5.5.5","source":"mock","description":"Qwe desc"},' |
+ '"bar":{"version":"5.5.5","source":"mock","description":"bar desc"},' |
+ '"baz":{"version":"5.5.5","source":"mock","description":"baz desc"},' |
+ '"foo":{"version":"5.5.5","source":"mock","description":"foo desc"}}}' |
+ '\n' |
+ ); |
+ }); |
}); |
}); |
} |