diff --git a/.idea/runConfigurations/MockedTestCases.xml b/.idea/runConfigurations/MockedTestCases.xml
index 7223fa0..89ec37b 100644
--- a/.idea/runConfigurations/MockedTestCases.xml
+++ b/.idea/runConfigurations/MockedTestCases.xml
@@ -3,9 +3,9 @@
-
-
-
+
+
+
diff --git a/src/se/vidstige/jadb/managers/Bash.java b/src/se/vidstige/jadb/managers/Bash.java
index 3f2ef04..6770a8d 100644
--- a/src/se/vidstige/jadb/managers/Bash.java
+++ b/src/se/vidstige/jadb/managers/Bash.java
@@ -2,8 +2,8 @@ package se.vidstige.jadb.managers;
public class Bash {
public static String quote(String s) {
- // TODO: Should also check other whitespace
- if (!s.contains(" ")) {
+ // Check that s contains no whitespace
+ if (s.matches("\\S+")) {
return s;
}
return "'" + s.replace("'", "'\\''") + "'";
diff --git a/test/se/vidstige/jadb/test/fakes/FakeAdbServer.java b/test/se/vidstige/jadb/test/fakes/FakeAdbServer.java
index 05b7547..f5d2e2c 100644
--- a/test/se/vidstige/jadb/test/fakes/FakeAdbServer.java
+++ b/test/se/vidstige/jadb/test/fakes/FakeAdbServer.java
@@ -152,6 +152,7 @@ public class FakeAdbServer implements AdbResponder {
public void verifyExpectations() {
org.junit.Assert.assertEquals(0, fileExpectations.size());
+ org.junit.Assert.assertEquals(0, shellExpectations.size());
}
private class FileExpectation implements ExpectationBuilder {
diff --git a/test/se/vidstige/jadb/test/unit/MockedTestCases.java b/test/se/vidstige/jadb/test/unit/MockedTestCases.java
index e31405e..9b8d58b 100644
--- a/test/se/vidstige/jadb/test/unit/MockedTestCases.java
+++ b/test/se/vidstige/jadb/test/unit/MockedTestCases.java
@@ -104,11 +104,17 @@ public class MockedTestCases {
}
@Test
- public void testExecuteShellQuotesSpace() throws Exception {
+ public void testExecuteShellQuotesWhitespace() throws Exception {
server.add("serial-123");
server.expectShell("serial-123", "ls 'space file'").returns("space file");
+ server.expectShell("serial-123", "echo 'tab\tstring'").returns("tab\tstring");
+ server.expectShell("serial-123", "echo 'newline1\nstring'").returns("newline1\nstring");
+ server.expectShell("serial-123", "echo 'newline2\r\nstring'").returns("newline2\r\nstring");
JadbDevice device = connection.getDevices().get(0);
device.executeShell("ls", "space file");
+ device.executeShell("echo", "tab\tstring");
+ device.executeShell("echo", "newline1\nstring");
+ device.executeShell("echo", "newline2\r\nstring");
}
private long parseDate(String date) throws ParseException {