mirror of
https://github.com/jimeh/tmuxifier.git
synced 2026-02-19 01:46:40 +00:00
Previously $window was only set by the new_window() helper when it was
passed a name argument. This caused weird behavior cause if it was
called without a name it would simply attempt to recreate the same
window and fail. That was until @blueyed's fix in 2249cf8.
However, the $window var still wasn't being set correctly, leaving
split_v(), split_h() and other helpers to operate on the wrong
window. This is no longer an issue as $window is always set to the index
of the currently active window at the end of new_window() and
select_window().
56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#! /usr/bin/env bash
|
|
source "../../test-helper.sh"
|
|
source "${root}/lib/layout-helpers.sh"
|
|
|
|
#
|
|
# select_window() tests.
|
|
#
|
|
|
|
window_list() {
|
|
test-socket-tmux list-windows -t "$session:" \
|
|
-F "#{window_active}:#{window_index}" 2>/dev/null
|
|
}
|
|
|
|
# Selects given window when passed a window index
|
|
create-test-session
|
|
test-socket-tmux new-window -t "$session:1"
|
|
test-socket-tmux new-window -t "$session:2"
|
|
select_window 0
|
|
assert "window_list | grep '^1:'" "1:0"
|
|
select_window 1
|
|
assert "window_list | grep '^1:'" "1:1"
|
|
select_window 2
|
|
assert "window_list | grep '^1:'" "1:2"
|
|
kill-test-session
|
|
|
|
# Selects given window when passed a window name
|
|
create-test-session
|
|
test-socket-tmux new-window -t "$session:1" -n "foo"
|
|
test-socket-tmux new-window -t "$session:2" -n "bar"
|
|
select_window foo
|
|
assert "window_list | grep '^1:'" "1:1"
|
|
select_window bar
|
|
assert "window_list | grep '^1:'" "1:2"
|
|
kill-test-session
|
|
|
|
|
|
# When called ensure it sets the $window variable to the index of the newly
|
|
# created window.
|
|
unset window
|
|
create-test-session
|
|
test-socket-tmux new-window -t "$session:1" -n "foo"
|
|
test-socket-tmux new-window -t "$session:2" -n "bar"
|
|
select_window "foo"
|
|
assert "echo $window" "1"
|
|
select_window "bar"
|
|
assert "echo $window" "2"
|
|
select_window 1
|
|
assert "echo $window" "1"
|
|
select_window 2
|
|
assert "echo $window" "2"
|
|
kill-test-session
|
|
unset window
|
|
|
|
# End of tests.
|
|
assert_end "select_window()"
|