Fix 'rename workspace to tosomething'
This patch fixes the issue #2802 (https://github.com/i3/i3/issues/2802). 1). Revise the state machine for the 'rename workspace' command. These scenarios are considered: a). 'rename workspace to to bla' state transitions: RENAME -> RENAME_WORKSPACE -> RENAME_WORKSPACE_LIKELY_TO -> RENAME_WORKSPACE_LIKELY_TO_NEW_NAME b). 'rename workspace to tosomething' state transitions: RENAME -> RENAME_WORKSPACE -> RENAME_WORKSPACE_LIKELY_TO c). 'rename workspace to to' state transitions: RENAME -> RENAME_WORKSPACE -> RENAME_WORKSPACE_LIKELY_TO d). 'rename workspace to bla' state transitions: RENAME -> RENAME_WORKSPACE -> RENAME_WORKSPACE_LIKELY_TO e). 'rename workspace bla to foo' state transitions: RENAME -> RENAME_WORKSPACE -> RENAME_WORKSPACE_TO -> RENAME_WORKSPACE_TO_NEW_NAME 2). Add a test case in 117-workspace.t for the scenario b.
This commit is contained in:
parent
d3901fe92e
commit
cc4be41674
|
@ -274,24 +274,28 @@ state RENAME:
|
|||
-> RENAME_WORKSPACE
|
||||
|
||||
state RENAME_WORKSPACE:
|
||||
old_name = 'to'
|
||||
'to'
|
||||
-> RENAME_WORKSPACE_LIKELY_TO
|
||||
old_name = word
|
||||
-> RENAME_WORKSPACE_TO
|
||||
|
||||
state RENAME_WORKSPACE_LIKELY_TO:
|
||||
'to '
|
||||
-> RENAME_WORKSPACE_NEW_NAME
|
||||
-> RENAME_WORKSPACE_LIKELY_TO_NEW_NAME
|
||||
new_name = word
|
||||
-> call cmd_rename_workspace(NULL, $new_name)
|
||||
|
||||
state RENAME_WORKSPACE_TO:
|
||||
'to'
|
||||
-> RENAME_WORKSPACE_NEW_NAME
|
||||
|
||||
state RENAME_WORKSPACE_NEW_NAME:
|
||||
state RENAME_WORKSPACE_LIKELY_TO_NEW_NAME:
|
||||
new_name = string
|
||||
-> call cmd_rename_workspace("to", $new_name)
|
||||
end
|
||||
-> call cmd_rename_workspace(NULL, "to")
|
||||
|
||||
state RENAME_WORKSPACE_TO:
|
||||
'to'
|
||||
-> RENAME_WORKSPACE_TO_NEW_NAME
|
||||
|
||||
state RENAME_WORKSPACE_TO_NEW_NAME:
|
||||
new_name = string
|
||||
-> call cmd_rename_workspace($old_name, $new_name)
|
||||
|
||||
|
|
|
@ -279,6 +279,12 @@ is(focused_ws(), 'bla', 'now on workspace bla');
|
|||
cmd 'rename workspace to to';
|
||||
ok(!workspace_exists('bla'), 'workspace bla does not exist anymore');
|
||||
is(focused_ws(), 'to', 'now on workspace to');
|
||||
cmd 'rename workspace to bla';
|
||||
ok(!workspace_exists('to'), 'workspace to does not exist anymore');
|
||||
is(focused_ws(), 'bla', 'now on workspace bla');
|
||||
cmd 'rename workspace to tosomething';
|
||||
ok(!workspace_exists('bla'), 'workspace bla does not exist anymore');
|
||||
is(focused_ws(), 'tosomething', 'now on workspace tosomething');
|
||||
|
||||
# 6: already existing workspace
|
||||
my $result = cmd 'rename workspace qux to 11: bar';
|
||||
|
|
Loading…
Reference in New Issue