@@ -189,3 +189,55 @@ def test_guake_hide_tab_bar_if_one_tab(mocker, g, fs):
189189 g .settings .general .set_boolean ("hide-tabs-if-one-tab" , True )
190190 assert g .get_notebook ().get_n_pages () == 1
191191 assert g .get_notebook ().get_property ("show-tabs" ) is False
192+
193+
194+ def test_load_cwd_guake_yml_not_found_error (g ):
195+ vte = g .get_notebook ().get_current_terminal ()
196+ assert g .fm .read_yaml ("/foo/.guake.yml" ) is None
197+ assert g .load_cwd_guake_yaml (vte ) == {}
198+
199+
200+ def test_load_cwd_guake_yml_encoding_error (g , mocker , fs ):
201+ vte = g .get_notebook ().get_current_terminal ()
202+ mocker .patch .object (vte , "get_current_directory" , return_value = "/foo/" )
203+ fs .create_file ("/foo/.guake.yml" , contents = b"\xfe \xf0 [\xb1 \x0b \xc1 \x18 \xda " )
204+ assert g .fm .read_yaml ("/foo/.guake.yml" ) is None
205+ assert g .load_cwd_guake_yaml (vte ) == {}
206+
207+
208+ def test_load_cwd_guake_yml_format_error (g , mocker , fs ):
209+ vte = g .get_notebook ().get_current_terminal ()
210+ mocker .patch .object (vte , "get_current_directory" , return_value = "/foo/" )
211+ fs .create_file ("/foo/.guake.yml" , contents = b"[[as]" )
212+ assert g .fm .read_yaml ("/foo/.guake.yml" ) is None
213+ assert g .load_cwd_guake_yaml (vte ) == {}
214+
215+
216+ def test_load_cwd_guake_yml (mocker , g , fs ):
217+ vte = g .get_notebook ().get_current_terminal ()
218+ mocker .patch .object (vte , "get_current_directory" , return_value = "/foo/" )
219+
220+ f = fs .create_file ("/foo/.guake.yml" , contents = "title: bar" )
221+ assert g .load_cwd_guake_yaml (vte ) == {"title" : "bar" }
222+
223+ # Cache in action.
224+ f .set_contents ("title: foo" )
225+ assert g .load_cwd_guake_yaml (vte ) == {"title" : "bar" }
226+ g .fm .clear ()
227+ assert g .load_cwd_guake_yaml (vte ) == {"title" : "foo" }
228+
229+
230+ def test_guake_compute_tab_title (mocker , g , fs ):
231+ vte = g .get_notebook ().get_current_terminal ()
232+ mocker .patch .object (vte , "get_current_directory" , return_value = "/foo/" )
233+
234+ # Original title.
235+ assert g .compute_tab_title (vte ) == "Terminal"
236+
237+ # Change title.
238+ fs .create_file ("/foo/.guake.yml" , contents = "title: bar" )
239+ assert g .compute_tab_title (vte ) == "bar"
240+
241+ # Avoid loading the guake.yml
242+ mocker .patch .object (g .settings .general , "get_boolean" , return_value = False )
243+ assert g .compute_tab_title (vte ) == "Terminal"
0 commit comments