File tree Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Original file line number Diff line number Diff line change @@ -534,6 +534,20 @@ def new_session(
534534 Raises
535535 ------
536536 :exc:`exc.BadSessionName`
537+
538+ Examples
539+ --------
540+ Sessions can be created without a session name (0.14.2+):
541+ >>> server.new_session()
542+ Session($2 2)
543+
544+ Creating them in succession will enumerate IDs (via tmux):
545+ >>> server.new_session()
546+ Session($3 3)
547+
548+ With a `session_name`:
549+ >>> server.new_session(session_name='my session')
550+ Session($4 my session)
537551 """
538552 if session_name is not None :
539553 session_check_name (session_name )
@@ -558,11 +572,13 @@ def new_session(
558572 del os .environ ["TMUX" ]
559573
560574 tmux_args : t .Tuple [t .Union [str , int ], ...] = (
561- "-s%s" % session_name ,
562575 "-P" ,
563576 "-F%s" % formats .FORMAT_SEPARATOR .join (tmux_formats ), # output
564577 )
565578
579+ if session_name is not None :
580+ tmux_args += (f"-s{ session_name } " ,)
581+
566582 if not attach :
567583 tmux_args += ("-d" ,)
568584
Original file line number Diff line number Diff line change @@ -91,10 +91,19 @@ def test_new_session(server: Server) -> None:
9191
9292def test_new_session_no_name (server : Server ) -> None :
9393 """Server.new_session works with no name"""
94- mysession = server .new_session ()
95- session_name = mysession .get ("session_name" )
96- assert session_name is not None
97- assert server .has_session (session_name )
94+ first_session = server .new_session ()
95+ first_session_name = first_session .get ("session_name" )
96+ assert first_session_name is not None
97+ assert server .has_session (first_session_name )
98+
99+ expected_session_name = str (int (first_session_name ) + 1 )
100+
101+ # When a new session is created, it should enumerate
102+ second_session = server .new_session ()
103+ second_session_name = second_session .get ("session_name" )
104+ assert expected_session_name == second_session_name
105+ assert second_session_name is not None
106+ assert server .has_session (second_session_name )
98107
99108
100109def test_new_session_shell (server : Server ) -> None :
You can’t perform that action at this time.
0 commit comments