Skip to content

Commit b82d093

Browse files
authored
Fix to pass additional args from the Flutter test template (#7261) (#8836)
Fix to pass additional args from the Flutter test template (#7261) --- - [x] I’ve reviewed the contributor guide and applied the relevant portions to this PR. <details> <summary>Contribution guidelines:</summary><br> - See our [contributor guide]([https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md) for general expectations for PRs. - Larger or significant changes should be discussed in an issue before creating a PR. - Dart contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`. - Java and Kotlin contributions should strive to follow Java and Kotlin best practices ([discussion](#8098)). </details>
1 parent e3c00d5 commit b82d093

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ Eli Albert <crasowas@gmail.com>
2525
Mohamed El Sayed <devblooming@tutanota.com>
2626
Edwin Ludik <edwin.ludik@gmail.com>
2727
Japnit Singh <truejswalia@gmail.com>
28+
Dmitry Kandalov <dmitry.kandalov@gmail.com>

src/io/flutter/run/test/FlutterTestConfigProducer.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,23 +64,21 @@ protected boolean setupConfigurationFromContext(@NotNull TestConfig config,
6464
return setupForDartFile(config, context, file);
6565
}
6666

67-
private boolean setupForSingleTest(TestConfig config, ConfigurationContext context, DartFile file, String testName, boolean hasVariant) {
67+
private boolean setupForSingleTest(@NotNull TestConfig config, ConfigurationContext context, DartFile file, String testName, boolean hasVariant) {
6868
final VirtualFile testFile = verifyFlutterTestFile(config, context, file);
6969
if (testFile == null) return false;
7070

71-
config.setFields(TestFields.forTestName(testName, testFile.getPath()).useRegexp(hasVariant));
71+
setTestFields(config, TestFields.forTestName(testName, testFile.getPath()).useRegexp(hasVariant));
7272
config.setGeneratedName();
73-
7473
return true;
7574
}
7675

77-
private boolean setupForDartFile(TestConfig config, ConfigurationContext context, DartFile file) {
76+
private boolean setupForDartFile(@NotNull TestConfig config, ConfigurationContext context, DartFile file) {
7877
final VirtualFile testFile = verifyFlutterTestFile(config, context, file);
7978
if (testFile == null) return false;
8079

81-
config.setFields(TestFields.forFile(testFile.getPath()));
80+
setTestFields(config, TestFields.forFile(testFile.getPath()));
8281
config.setGeneratedName();
83-
8482
return true;
8583
}
8684

@@ -91,17 +89,22 @@ private VirtualFile verifyFlutterTestFile(TestConfig config, ConfigurationContex
9189
return FlutterUtils.isInTestDir(file) ? candidate : null;
9290
}
9391

94-
private boolean setupForDirectory(TestConfig config, PsiDirectory dir) {
92+
private boolean setupForDirectory(@NotNull TestConfig config, PsiDirectory dir) {
9593
final PubRoot root = PubRoot.forDescendant(dir.getVirtualFile(), dir.getProject());
9694
if (root == null) return false;
9795

9896
if (!root.hasTests(dir.getVirtualFile())) return false;
9997

100-
config.setFields(TestFields.forDir(dir.getVirtualFile().getPath()));
98+
setTestFields(config, TestFields.forDir(dir.getVirtualFile().getPath()));
10199
config.setGeneratedName();
102100
return true;
103101
}
104102

103+
private static void setTestFields(@NotNull TestConfig config, @NotNull TestFields fields) {
104+
fields.setAdditionalArgs(config.getFields().getAdditionalArgs());
105+
config.setFields(fields);
106+
}
107+
105108
/**
106109
* Returns true if a run config was already created for this file. If so we will reuse it.
107110
*/

0 commit comments

Comments
 (0)