@@ -223,3 +223,36 @@ def test_resize_pane(
223223 )
224224 pane_height_expanded = int (pane .pane_height )
225225 assert pane_height_before < pane_height_expanded
226+
227+
228+ def test_split_pane_size (session : Session ) -> None :
229+ """Pane.split()."""
230+ window = session .new_window (window_name = "split window size" )
231+ window .resize (height = 100 , width = 100 )
232+ pane = window .active_pane
233+ assert pane is not None
234+
235+ if has_gte_version ("3.1" ):
236+ short_pane = pane .split (size = 10 )
237+ assert short_pane .pane_height == "10"
238+
239+ narrow_pane = pane .split (vertical = False , size = 10 )
240+ assert narrow_pane .pane_width == "10"
241+
242+ new_pane = pane .split (size = "10%" )
243+ assert new_pane .pane_height == "8"
244+
245+ new_pane = short_pane .split (vertical = False , size = "10%" )
246+ assert new_pane .pane_width == "10"
247+ else :
248+ window_height_before = (
249+ int (window .window_height ) if isinstance (window .window_height , str ) else 0
250+ )
251+ window_width_before = (
252+ int (window .window_width ) if isinstance (window .window_width , str ) else 0
253+ )
254+ new_pane = pane .split (size = "10%" )
255+ assert new_pane .pane_height == str (int (window_height_before * 0.1 ))
256+
257+ new_pane = new_pane .split (vertical = False , size = "10%" )
258+ assert new_pane .pane_width == str (int (window_width_before * 0.1 ))
0 commit comments