diff --git a/parser-specs/commands.spec b/parser-specs/commands.spec index 0858322b..a5873328 100644 --- a/parser-specs/commands.spec +++ b/parser-specs/commands.spec @@ -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 + 'to ' + -> 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) diff --git a/testcases/t/117-workspace.t b/testcases/t/117-workspace.t index 01d51cc0..40b2cbb6 100644 --- a/testcases/t/117-workspace.t +++ b/testcases/t/117-workspace.t @@ -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';