blob: 4d29c03d3df2a1e7ea7614d10e9e2fd5d85dc1a0 [file] [log] [blame]
// Copyright (c) 2018, 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:test/test.dart';
import 'package:pub/src/entrypoint.dart';
import 'package:pub/src/validator.dart';
import 'package:pub/src/validator/deprecated_fields.dart';
import '../descriptor.dart' as d;
import '../test_pub.dart';
import 'utils.dart';
Validator deprecatedFields(Entrypoint entrypoint) =>
DeprecatedFieldsValidator(entrypoint);
void main() {
setUp(d.validPackage.create);
test('should not warn if neither transformers or web is included',
() => expectValidation(deprecatedFields));
test('should warn if pubspec has a transformers section', () async {
await d.dir(appPath, [
d.pubspec({
'transformers': ['some_transformer']
})
]).create();
await expectValidation(deprecatedFields, warnings: isNotEmpty);
});
test('should warn if pubspec has a web section', () async {
await d.dir(appPath, [
d.pubspec({
'web': {'compiler': 'dartdevc'}
})
]).create();
await expectValidation(deprecatedFields, warnings: isNotEmpty);
});
test('should warn if pubspec has an author', () async {
await d.dir(appPath, [
d.pubspec({'author': 'Ronald <ronald@example.com>'})
]).create();
await expectValidation(deprecatedFields, warnings: isNotEmpty);
});
test('should warn if pubspec has a list of authors', () async {
await d.dir(appPath, [
d.pubspec({
'authors': ['Ronald <ronald@example.com>', 'Joe <joe@example.com>']
})
]).create();
await expectValidation(deprecatedFields, warnings: isNotEmpty);
});
}