Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-04-17 14:55:54 +0300
committerJoas Schilling <coding@schilljs.com>2020-04-17 16:14:28 +0300
commite374358494897e568aac7a957ecd32021f171f4e (patch)
tree4ddf90363c3ac0f895678aae9828b1a539f4e2bb /tests
parent8f4b6d1b6670b66baf2449bf8205c3c2f773bea9 (diff)
Remove ARGUMENTS_DOUBLEQUOTE_ESCAPED for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/php/Chat/Command/ShellExecutorTest.php68
1 files changed, 18 insertions, 50 deletions
diff --git a/tests/php/Chat/Command/ShellExecutorTest.php b/tests/php/Chat/Command/ShellExecutorTest.php
index 9d82933db..2583fdf26 100644
--- a/tests/php/Chat/Command/ShellExecutorTest.php
+++ b/tests/php/Chat/Command/ShellExecutorTest.php
@@ -30,41 +30,33 @@ class ShellExecutorTest extends TestCase {
public function dataExecShellRun(): array {
return [
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$(pwd)', '$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', '$PATH'],
['admin', 'token', 'echo {ARGUMENTS}', '$PATH', '$PATH'],
['admin', 'token', 'echo {ARGUMENTS}', '$(pwd)', '$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '$(pwd)', '$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '$PATH', '$PATH'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '$(pwd)', '$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '$PATH', '$PATH'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$(pwd)', '\\$(pwd)'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\$PATH', '\\$PATH'],
['admin', 'token', 'echo {ARGUMENTS}', '\\$PATH', '\\$PATH'],
['admin', 'token', 'echo {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\$PATH', '\\$PATH'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\$(pwd)', '\\$(pwd)'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\$PATH', '\\$PATH'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`pwd`', '`pwd`'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '`echo $PATH`', '`echo $PATH`'],
['admin', 'token', 'echo {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'],
['admin', 'token', 'echo {ARGUMENTS}', '`pwd`', '`pwd`'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '`pwd`', '`pwd`'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '`pwd`', '`pwd`'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '`echo $PATH`', '`echo $PATH`'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
- ['admin', 'token', 'echo "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'],
- ['admin', 'token', __DIR__ . '/echo-argument.sh "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`pwd \\`', '\\`pwd \\`'],
- ['admin', 'token', __DIR__ . '/echo-option.sh -a "{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
['admin', 'token', 'echo {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
['admin', 'token', 'echo {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'],
+ ['admin', 'token', __DIR__ . '/echo-argument.sh {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\`pwd \\`', '\\`pwd \\`'],
+ ['admin', 'token', __DIR__ . '/echo-option.sh -a {ARGUMENTS}', '\\`echo $PATH\\`', '\\`echo $PATH\\`'],
];
}
@@ -85,9 +77,8 @@ class ShellExecutorTest extends TestCase {
public function dataExecShell(): array {
return [
['admin', 'token', '', '', '', ''],
- ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' 'foo' 'bar' \"hello bear\"", 'output1'],
- ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments="{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments=\"foo bar \\\"hello bear\\\"\"", "out\nput\n2"],
- ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments="{ARGUMENTS_DOUBLEQUOTE_ESCAPED}"', '$PATH', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments=\"\\\$PATH\"", "out\nput\n2"],
+ ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' 'foo bar \"hello bear\"'", 'output1'],
+ ['admin', 'token', '/var/www/nextcloud/script.sh {USER} {ROOM} --arguments {ARGUMENTS}', 'foo bar "hello bear"', "/var/www/nextcloud/script.sh 'admin' 'token' --arguments 'foo bar \"hello bear\"'", "out\nput\n2"],
];
}
@@ -113,27 +104,4 @@ class ShellExecutorTest extends TestCase {
$this->assertSame($output, self::invokePrivate($executor, 'execShell', [$cmd, $arguments, $roomToken, $actorId]));
}
-
- public function dataEscapeArguments(): array {
- return [
- ['foobar', "'foobar'"],
- ['foo bar', "'foo' 'bar'"],
- ['"foo" bar', "\"foo\" 'bar'"],
- ['"foo"bar', "'\"foo\"bar'"],
- ['"foo bar"', '"foo bar"'],
- ['"foo foo"bar bar"', '"foo foo\\"bar bar"'],
- ['"foo foo\"bar bar"', '"foo foo\\\\"bar bar"'],
- ['" foo bar "', '" foo bar "'],
- ['" foo bar ', "'\" foo bar '"],
- ];
- }
-
- /**
- * @dataProvider dataEscapeArguments
- * @param string $arguments
- * @param string $expected
- */
- public function testEscapeArguments(string $arguments, string $expected): void {
- $this->assertSame($expected, self::invokePrivate(new ShellExecutor(), 'escapeArguments', [$arguments]));
- }
}