@@ -228,3 +228,51 @@ def test_raise_if_dead_does_not_raise_if_alive(server: Server) -> None:
228228 """Verify new_session() does not raise if tmux server is alive."""
229229 server .new_session ()
230230 server .raise_if_dead ()
231+
232+
233+ def test_on_init (server : Server ) -> None :
234+ """Verify on_init callback is called during Server initialization."""
235+ called_with : list [Server ] = []
236+
237+ def on_init (server : Server ) -> None :
238+ called_with .append (server )
239+
240+ myserver = Server (socket_name = "test_on_init" , on_init = on_init )
241+ assert len (called_with ) == 1
242+ assert called_with [0 ] is myserver
243+
244+
245+ def test_socket_name_factory (server : Server ) -> None :
246+ """Verify socket_name_factory generates socket names."""
247+ socket_names : list [str ] = []
248+
249+ def socket_name_factory () -> str :
250+ name = f"test_socket_{ len (socket_names )} "
251+ socket_names .append (name )
252+ return name
253+
254+ myserver = Server (socket_name_factory = socket_name_factory )
255+ assert myserver .socket_name == "test_socket_0"
256+ assert socket_names == ["test_socket_0" ]
257+
258+ # Creating another server should use factory again
259+ myserver2 = Server (socket_name_factory = socket_name_factory )
260+ assert myserver2 .socket_name == "test_socket_1"
261+ assert socket_names == ["test_socket_0" , "test_socket_1" ]
262+
263+
264+ def test_socket_name_precedence (server : Server ) -> None :
265+ """Verify socket_name takes precedence over socket_name_factory."""
266+
267+ def socket_name_factory () -> str :
268+ return "from_factory"
269+
270+ myserver = Server (
271+ socket_name = "explicit_name" ,
272+ socket_name_factory = socket_name_factory ,
273+ )
274+ assert myserver .socket_name == "explicit_name"
275+
276+ # Without socket_name, factory is used
277+ myserver2 = Server (socket_name_factory = socket_name_factory )
278+ assert myserver2 .socket_name == "from_factory"
0 commit comments