| ## Directory contents |
| |
| The `.yaml` files in these directories are used to |
| define the [`dart fix` framework](https://dart.dev/tools/dart-fix) refactorings |
| used by `flutter_test`. |
| |
| The number of fix rules defined in a file should not exceed 50 for better |
| maintainability. Searching for `title:` in a given `.yaml` file will account |
| for the number of fixes. Splitting out fix rules should be done by class. |
| |
| When adding a new `.yaml` file, make a copy of `template.yaml`. Each file should |
| be for a single class and named `fix_<class>.yaml`. To make sure each file is |
| grouped with related classes, a `fix_<filename>` folder will contain all of the |
| fix files for the individual classes. |
| |
| See the flutter/packages/flutter_test/test_fixes directory for the tests that |
| validate these fix rules. |
| |
| To run these tests locally, execute this command in the |
| flutter/packages/flutter_test/test_fixes directory. |
| ```sh |
| dart fix --compare-to-golden |
| ``` |
| |
| For more documentation about Data Driven Fixes, see |
| https://dart.dev/go/data-driven-fixes#test-folder. |
| |
| To learn more about how fixes are authored in package:flutter_test, see |
| [Data driven fixes](../../../../docs/contributing/Data-driven-Fixes.md). |
| |
| ## When making structural changes to this directory |
| |
| The tests in this directory are also invoked from external |
| repositories. Specifically, the CI system for the dart-lang/sdk repo |
| runs these tests in order to ensure that changes to the dart fix file |
| format do not break Flutter. |
| |
| See [tools/bots/flutter/analyze_flutter_flutter.sh](https://github.com/dart-lang/sdk/blob/main/tools/bots/flutter/analyze_flutter_flutter.sh) |
| for where the flutter fix tests are invoked for the dart repo. |
| |
| See [dev/bots/test.dart](https://github.com/flutter/flutter/blob/main/dev/bots/test.dart) |
| for where the flutter fix tests are invoked for the flutter/flutter repo. |
| |
| When possible, please coordinate changes to this directory that might affect the |
| `analyze_flutter_flutter.sh` script. |