Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/io/flutter/run/SdkFields.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ public boolean hasAdditionalArgs() {
public String[] getAdditionalArgsParsed() {
if (hasAdditionalArgs()) {
assert additionalArgs != null;
return ParametersListUtil.parse(additionalArgs, false, true, true).toArray(new String[0]);
return ParametersListUtil.parse(additionalArgs, false, false, true).stream().filter(s -> !s.isEmpty())
.toArray(String[]::new);
}

return new String[0];
Expand All @@ -115,7 +116,8 @@ public boolean hasAttachArgs() {
public String[] getAttachArgsParsed() {
if (hasAttachArgs()) {
assert attachArgs != null;
return ParametersListUtil.parse(attachArgs, false, true, true).toArray(new String[0]);
return ParametersListUtil.parse(attachArgs, false, false, true).stream().filter(s -> !s.isEmpty())
.toArray(String[]::new);
}
return new String[0];
}
Expand Down
28 changes: 17 additions & 11 deletions testSrc/unit/io/flutter/run/SdkFieldsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,23 +67,29 @@ public void roundTripShouldPreserveFields() {
@Test
public void supportsSpacesInAdditionalArgs() {
final SdkFields sdkFields = new SdkFields();
sdkFields.setAdditionalArgs("--dart-define='VALUE=foo bar' --other=baz");

assertArrayEquals(new String[]{
"--dart-define=VALUE=foo bar",
"--other=baz"
}, sdkFields.getAdditionalArgsParsed());
sdkFields.setAdditionalArgs(" --dart-define=\"VALUE=foo bar\" ");
assertArrayEquals(new String[] { "--dart-define=VALUE=foo bar" }, sdkFields.getAdditionalArgsParsed());
}

@Test
public void supportsSpacesInAttachArgs() {
final SdkFields sdkFields = new SdkFields();
sdkFields.setAttachArgs("--dart-define='VALUE=foo bar' --other=baz");
sdkFields.setAttachArgs(" --dart-define=\"VALUE=foo bar\" ");
assertArrayEquals(new String[] { "--dart-define=VALUE=foo bar" }, sdkFields.getAttachArgsParsed());
}

@Test
public void getAdditionalArgsParsed_edgeCases() {
final SdkFields sdkFields = new SdkFields();

sdkFields.setAdditionalArgs(null);
assertEquals(0, sdkFields.getAdditionalArgsParsed().length);

sdkFields.setAdditionalArgs(" ");
assertArrayEquals(new String[0], sdkFields.getAdditionalArgsParsed());

assertArrayEquals(new String[]{
"--dart-define=VALUE=foo bar",
"--other=baz"
}, sdkFields.getAttachArgsParsed());
sdkFields.setAdditionalArgs(" --foo --bar ");
assertArrayEquals(new String[] { "--foo", "--bar" }, sdkFields.getAdditionalArgsParsed());
}

private void addOption(Element elt, String name, String value) {
Expand Down
9 changes: 9 additions & 0 deletions testSrc/unit/io/flutter/run/bazel/BazelFieldsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,18 @@ public void roundTripShouldPreserveFields() {
assertEquals("bazel_or_dart_target", after.getTarget());
assertEquals("bazel_args --1 -2=3", after.getBazelArgs());
assertEquals("additional_args --1 --2=3", after.getAdditionalArgs());

assertTrue(after.getEnableReleaseMode());
}

@Test
public void constructorHandlesNulls() {
final BazelFields fields = new BazelFields(null, null, null, false);
assertNull(fields.getTarget());
assertNull(fields.getBazelArgs());
assertNull(fields.getAdditionalArgs());
}

private void addOption(Element elt, String name, String value) {
final Element child = new Element("option");
child.setAttribute("name", name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,15 @@ public void roundTripShouldPreserveFields() {
assertEquals("--no-watch --other-args", after.getAdditionalArgs());
}

@Test
public void constructorHandlesNulls() {
final BazelTestFields fields = new BazelTestFields(null, null, null, null);
assertNull(fields.getTestName());
assertNull(fields.getEntryFile());
assertNull(fields.getBazelTarget());
assertNull(fields.getAdditionalArgs());
}

private void addOption(Element elt, String name, String value) {
final Element child = new Element("option");
child.setAttribute("name", name);
Expand Down