diff --git a/lib/src/tasks/format/api.dart b/lib/src/tasks/format/api.dart index 9353498f..f746b75f 100644 --- a/lib/src/tasks/format/api.dart +++ b/lib/src/tasks/format/api.dart @@ -62,6 +62,8 @@ FormatTask format( if (!entity.path.endsWith('.dart')) continue; // Skip dependency files. if (entity.absolute.path.contains('/packages/')) continue; + // Skip contents of .pub directories. + if (entity.absolute.path.contains('/.pub/')) continue; // Skip excluded files. bool isExcluded = false; diff --git a/test/integration/format_test.dart b/test/integration/format_test.dart index c31901eb..fa499351 100644 --- a/test/integration/format_test.dart +++ b/test/integration/format_test.dart @@ -98,5 +98,21 @@ void main() { String contentsAfter = file.readAsStringSync(); expect(contentsBefore, equals(contentsAfter)); }); + + test('should skip files in "packages" when excludes specified', () async { + File file = new File('$projectWithExclusions/lib/packages/main.dart'); + String contentsBefore = file.readAsStringSync(); + expect(await formatProject(projectWithExclusions), isTrue); + String contentsAfter = file.readAsStringSync(); + expect(contentsBefore, equals(contentsAfter)); + }); + + test('should skip files in ".pub" when excludes specified', () async { + File file = new File('$projectWithExclusions/lib/.pub/main.dart'); + String contentsBefore = file.readAsStringSync(); + expect(await formatProject(projectWithExclusions), isTrue); + String contentsAfter = file.readAsStringSync(); + expect(contentsBefore, equals(contentsAfter)); + }); }); } diff --git a/test_fixtures/format/exclusions/lib/.pub/main.dart b/test_fixtures/format/exclusions/lib/.pub/main.dart new file mode 100644 index 00000000..e3c09c64 --- /dev/null +++ b/test_fixtures/format/exclusions/lib/.pub/main.dart @@ -0,0 +1,9 @@ +library main; + +List longList = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']; + +void doStuff( + content + ) { + print( content ); +} diff --git a/test_fixtures/format/exclusions/lib/packages/main.dart b/test_fixtures/format/exclusions/lib/packages/main.dart new file mode 100644 index 00000000..e3c09c64 --- /dev/null +++ b/test_fixtures/format/exclusions/lib/packages/main.dart @@ -0,0 +1,9 @@ +library main; + +List longList = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']; + +void doStuff( + content + ) { + print( content ); +}