blob: 2dcb8c89846806b451992e55d5b312d8b4261eea [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 p;
import 'package:test/test.dart';
import '../descriptor.dart' as d;
import '../test_pub.dart';
void main() {
String hostedDir(String package) {
return p.join(d.sandbox, cachePath, 'hosted', 'pub.dev', 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.dev', [])]),
]).create();
await runPub(
args: [
'cache',
'list',
],
outputJson: {
'packages': <String, Object>{},
},
);
});
test('running pub cache list', () async {
// Set up a cache.
await d.dir(cachePath, [
d.dir('hosted', [
d.dir('pub.dev', [
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.dev', [
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')},
},
},
},
);
});
}