| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'package:pub/src/entrypoint.dart'; | 5 import 'package:pub/src/entrypoint.dart'; |
| 6 import 'package:pub/src/validator.dart'; | 6 import 'package:pub/src/validator.dart'; |
| 7 import 'package:pub/src/validator/utf8_readme.dart'; | 7 import 'package:pub/src/validator/utf8_readme.dart'; |
| 8 import 'package:scheduled_test/scheduled_test.dart'; | 8 import 'package:scheduled_test/scheduled_test.dart'; |
| 9 | 9 |
| 10 import '../descriptor.dart' as d; | 10 import '../descriptor.dart' as d; |
| 11 import '../test_pub.dart'; | 11 import '../test_pub.dart'; |
| 12 import 'utils.dart'; | 12 import 'utils.dart'; |
| 13 | 13 |
| 14 Validator utf8Readme(Entrypoint entrypoint) => | 14 Validator utf8Readme(Entrypoint entrypoint) => |
| 15 new Utf8ReadmeValidator(entrypoint); | 15 new Utf8ReadmeValidator(entrypoint); |
| 16 | 16 |
| 17 main() { | 17 main() { |
| 18 group('should consider a package valid if it', () { | 18 group('should consider a package valid if it', () { |
| 19 setUp(d.validPackage.create); | 19 setUp(d.validPackage.create); |
| 20 | 20 |
| 21 integration('looks normal', () => expectNoValidationError(utf8Readme)); | 21 integration('looks normal', () => expectNoValidationError(utf8Readme)); |
| 22 | 22 |
| 23 integration('has a non-primary readme with invalid utf-8', () { | 23 integration('has a non-primary readme with invalid utf-8', () { |
| 24 d.dir(appPath, [ | 24 d.dir(appPath, [ |
| 25 d.file("README", "Valid utf-8"), | 25 d.file("README", "Valid utf-8"), |
| 26 d.binaryFile("README.invalid", [192]) | 26 d.binaryFile("README.invalid", [192]) |
| 27 ]).create(); | 27 ]).create(); |
| 28 expectNoValidationError(utf8Readme); | 28 expectNoValidationError(utf8Readme); |
| 29 }); | 29 }); |
| 30 |
| 31 integration('has a .gitignored README with invalid utf-8', () { |
| 32 var repo = d.git(appPath, [ |
| 33 d.binaryFile("README", [192]), |
| 34 d.file(".gitignore", "README") |
| 35 ]); |
| 36 d.validPackage.create(); |
| 37 repo.create(); |
| 38 expectNoValidationError(utf8Readme); |
| 39 }); |
| 30 }); | 40 }); |
| 31 | 41 |
| 32 integration('should consider a package invalid if it has a README with ' | 42 integration('should consider a package invalid if it has a README with ' |
| 33 'invalid utf-8', () { | 43 'invalid utf-8', () { |
| 34 d.validPackage.create(); | 44 d.validPackage.create(); |
| 35 | 45 |
| 36 d.dir(appPath, [ | 46 d.dir(appPath, [ |
| 37 d.binaryFile("README", [192]) | 47 d.binaryFile("README", [192]) |
| 38 ]).create(); | 48 ]).create(); |
| 39 expectValidationWarning(utf8Readme); | 49 expectValidationWarning(utf8Readme); |
| 40 }); | 50 }); |
| 41 } | 51 } |
| OLD | NEW |