blob: a2c26a4986c62505f76a5f54ddf3267d64ae4a3f [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:path/path.dart' as path;
import 'package:test/test.dart';
import '../descriptor.dart' as d;
import '../test_pub.dart';
void main() {
String hostedDir(package) {
return path.join(
d.sandbox, cachePath, 'hosted', 'pub.dartlang.org', package);
}
test('running pub cache list when there is no cache', () async {
await runPub(args: ['cache', 'list'], output: '{"packages":{}}');
});
test('running pub cache list on empty cache', () async {
// Set up a cache.
await d.dir(cachePath, [
d.dir('hosted', [d.dir('pub.dartlang.org', [])])
]).create();
await runPub(args: ['cache', 'list'], outputJson: {'packages': {}});
});
test('running pub cache list', () async {
// Set up a cache.
await d.dir(cachePath, [
d.dir('hosted', [
d.dir('pub.dartlang.org', [
d.dir('foo-1.2.3', [d.libPubspec('foo', '1.2.3'), d.libDir('foo')]),
d.dir('bar-2.0.0', [d.libPubspec('bar', '2.0.0'), d.libDir('bar')])
])
])
]).create();
await runPub(args: [
'cache',
'list'
], outputJson: {
'packages': {
'bar': {
'2.0.0': {'location': hostedDir('bar-2.0.0')}
},
'foo': {
'1.2.3': {'location': hostedDir('foo-1.2.3')}
}
}
});
});
test('includes packages containing deps with bad sources', () async {
// Set up a cache.
await d.dir(cachePath, [
d.dir('hosted', [
d.dir('pub.dartlang.org', [
d.dir('foo-1.2.3', [
d.libPubspec('foo', '1.2.3', deps: {
'bar': {'bad': 'bar'}
}),
d.libDir('foo')
])
])
])
]).create();
await runPub(args: [
'cache',
'list'
], outputJson: {
'packages': {
'foo': {
'1.2.3': {'location': hostedDir('foo-1.2.3')}
}
}
});
});
}