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:
hwangcc23
2017-06-11 23:48:55 +08:00
parent d3901fe92e
commit cc4be41674
2 changed files with 18 additions and 8 deletions

View File

@ -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';