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 |