adding packages
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:ngflutter/src/exceptions.dart';
|
||||
import 'package:ngflutter/src/file_reader.dart';
|
||||
import 'package:ngflutter/src/package_uri_resolver.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
group('PackageUriResolver', () {
|
||||
FileReader.reader = new FileReaderMock();
|
||||
|
||||
PackageUriResolver resolver;
|
||||
|
||||
setUp(() {
|
||||
resolver = new PackageUriResolver('.packages');
|
||||
});
|
||||
|
||||
test('should parse dependent package URI', () {
|
||||
var filePath = resolver.resolve('package:some_package/some_file.dart');
|
||||
expect(
|
||||
filePath,
|
||||
equals(path.join(
|
||||
path.separator,
|
||||
path.join(
|
||||
'home',
|
||||
'someone',
|
||||
'.pub-cache',
|
||||
'hosted',
|
||||
'pub.dartlang.org',
|
||||
'some_package-1.0.0',
|
||||
'lib',
|
||||
'some_file.dart'))));
|
||||
});
|
||||
|
||||
test('should parse current project URI', () {
|
||||
var filePath = resolver.resolve('package:ngflutter/some_file.dart');
|
||||
expect(filePath, equals(path.join('lib', 'some_file.dart')));
|
||||
});
|
||||
|
||||
test('should throw for unknow package', () {
|
||||
expect(() => resolver.resolve('package:unknown/some_file.dart'),
|
||||
throwsA(const TypeMatcher<UsageException>()));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
class FileReaderMock implements FileReader {
|
||||
static const List<String> _dotPackages = const [
|
||||
'# Generated by pub on 2017-05-01 00:00:00.00001.',
|
||||
'some_package:file:///home/someone/.pub-cache/hosted/'
|
||||
'pub.dartlang.org/some_package-1.0.0/lib/',
|
||||
'ngflutter:lib/'
|
||||
];
|
||||
|
||||
@override
|
||||
List<String> readAsLines(Object uri, {Encoding encoding: utf8}) {
|
||||
if (uri is String && uri == '.packages') return _dotPackages;
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
String readAsString(Object uri, {Encoding encoding: utf8}) => null;
|
||||
}
|
||||
Reference in New Issue
Block a user