cfg_workspace: Accept outputs with spaces again
This is a regression from bce088679
.
An other way to fix this would be to concatenate strings inside the
strtok loop when an output starts with a double quote but I'd rather
let the parser do the word splitting.
Fixes #3646
This commit is contained in:
@ -400,12 +400,18 @@ $config = <<'EOT';
|
||||
workspace 3 output VGA-1
|
||||
workspace "4: output" output VGA-2
|
||||
workspace bleh output LVDS1/I_1
|
||||
# See #3646
|
||||
workspace foo output a b c "a b c"
|
||||
EOT
|
||||
|
||||
$expected = <<'EOT';
|
||||
cfg_workspace(3, VGA-1)
|
||||
cfg_workspace(4: output, VGA-2)
|
||||
cfg_workspace(bleh, LVDS1/I_1)
|
||||
cfg_workspace(foo, a)
|
||||
cfg_workspace((null), b)
|
||||
cfg_workspace((null), c)
|
||||
cfg_workspace((null), a b c)
|
||||
EOT
|
||||
|
||||
is(parser_calls($config),
|
||||
|
@ -79,7 +79,9 @@ workspace 1 output fake-1 fake-2
|
||||
workspace 2 output fake-3 fake-4 fake-0 fake-1
|
||||
workspace 3 output these outputs do not exist but these do: fake-0 fake-3
|
||||
workspace 4 output whitespace fake-0
|
||||
workspace special output doesnotexist1 doesnotexist2 doesnotexist3
|
||||
workspace foo output doesnotexist1 doesnotexist2 doesnotexist3
|
||||
workspace bar output doesnotexist
|
||||
workspace bar output fake-0
|
||||
EOT
|
||||
|
||||
$pid = launch_with_config($config);
|
||||
@ -91,8 +93,11 @@ do_test('4', 'fake-0', 'Excessive whitespace is ok');
|
||||
do_test('5', 'fake-1', 'Numbered initialization for fake-1');
|
||||
do_test('6', 'fake-2', 'Numbered initialization for fake-2');
|
||||
|
||||
cmd 'focus output fake-0, workspace special';
|
||||
check_output('special', 'fake-0', 'Workspace with only non-existing assigned outputs opened in current output.');
|
||||
cmd 'focus output fake-0, workspace foo';
|
||||
check_output('foo', 'fake-0', 'Workspace with only non-existing assigned outputs opened in current output');
|
||||
|
||||
cmd 'focus output fake-0, workspace bar';
|
||||
check_output('bar', 'fake-0', 'Second workspace assignment line ignored');
|
||||
|
||||
# Moving assigned workspaces.
|
||||
cmd 'workspace 2, move workspace to output left';
|
||||
|
Reference in New Issue
Block a user