@@ -90,3 +90,52 @@ def test_capture_pane(session: Session) -> None:
9090    assert  pane_contents  ==  r'$ printf "\n%s\n" "Hello World !"{}' .format (
9191        "\n \n Hello World !\n $" 
9292    )
93+ 
94+ 
95+ def  test_capture_pane_start (session : Session ) ->  None :
96+     env  =  shutil .which ("env" )
97+     assert  env  is  not None , "Cannot find usable `env` in PATH." 
98+ 
99+     session .new_window (
100+         attach = True ,
101+         window_name = "capture_pane_start" ,
102+         window_shell = f"{ env }  ,
103+     )
104+     pane  =  session .attached_window .attached_pane 
105+     assert  pane  is  not None 
106+     pane_contents  =  "\n " .join (pane .capture_pane ())
107+     assert  pane_contents  ==  "$" 
108+     pane .send_keys (r'printf "%s"' , literal = True , suppress_history = False )
109+     pane_contents  =  "\n " .join (pane .capture_pane ())
110+     assert  pane_contents  ==  '$ printf "%s"\n $' 
111+     pane .send_keys ("clear -x" , literal = True , suppress_history = False )
112+     pane_contents  =  "\n " .join (pane .capture_pane ())
113+     assert  pane_contents  ==  "$" 
114+     pane_contents_start  =  pane .capture_pane (start = - 2 )
115+     assert  pane_contents_start [0 ] ==  '$ printf "%s"' 
116+     assert  pane_contents_start [1 ] ==  "$ clear -x" 
117+     assert  pane_contents_start [- 1 ] ==  "$" 
118+     pane_contents_start  =  pane .capture_pane (start = "-" )
119+     assert  pane_contents  ==  "$" 
120+ 
121+ 
122+ def  test_capture_pane_end (session : Session ) ->  None :
123+     env  =  shutil .which ("env" )
124+     assert  env  is  not None , "Cannot find usable `env` in PATH." 
125+ 
126+     session .new_window (
127+         attach = True ,
128+         window_name = "capture_pane_end" ,
129+         window_shell = f"{ env }  ,
130+     )
131+     pane  =  session .attached_window .attached_pane 
132+     assert  pane  is  not None 
133+     pane_contents  =  "\n " .join (pane .capture_pane ())
134+     assert  pane_contents  ==  "$" 
135+     pane .send_keys (r'printf "%s"' , literal = True , suppress_history = False )
136+     pane_contents  =  "\n " .join (pane .capture_pane ())
137+     assert  pane_contents  ==  '$ printf "%s"\n $' 
138+     pane_contents  =  "\n " .join (pane .capture_pane (end = 0 ))
139+     assert  pane_contents  ==  '$ printf "%s"' 
140+     pane_contents  =  "\n " .join (pane .capture_pane (end = "-" ))
141+     assert  pane_contents  ==  '$ printf "%s"\n $' 
0 commit comments