1 from gnome import gconf
2 from wifi_assistant.settings.application_settings import ApplicationSettings
6 class ApplicationSettingsTest(unittest.TestCase):
9 self.gc = gconf.client_get_default()
10 self.root = '/apps/maemo/wifi/unit_tests'
11 self._clearGConf(self.root)
12 self._setupDefaultValues(self.root)
13 self._firstCallbackCalled = None
14 self._secondCallbackCalled = None
15 self.testee = ApplicationSettings(self.gc, self.root)
17 def _setupDefaultValues(self, dir):
18 self.gc.set_bool(dir + '/daemon', True)
21 def _clearGConf(self, dir):
22 # there's no recursive_unset available
23 all_entries = self.gc.all_entries(dir)
24 for entry in all_entries:
25 self.gc.unset(entry.get_key())
26 for sub_dir in self.gc.all_dirs(dir):
27 self._clearGConf(sub_dir)
28 self.gc.suggest_sync()
31 def test_default_is_to_use_popup(self):
32 assert self.testee.getUsePopup() is True
35 def test_setting_use_popup_works(self):
36 assert self.testee.getUsePopup() is True
38 self.testee.setUsePopup(False)
39 assert self.testee.getUsePopup() is False
41 self.testee.setUsePopup(True)
42 assert self.testee.getUsePopup() is True
45 def test_bug_11210_popupDialogIsEnabledByDefault(self):
49 # run test without any default values - gconf should be empty
50 self._clearGConf(self.root)
52 assert self.testee.getUsePopup() is True
55 def dont_test_adding_two_listeners_removing_one_still_notifies_first_listener(self):
59 self.testee.registerUsePopupListener(self._firstCallback)
60 self.testee.registerUsePopupListener(self._secondCallback)
62 # TODO: start thread to have signalling work properly ...
64 self.testee.setUsePopup(firstSignal)
66 assert self._firstCallbackCalled == firstSignal
67 assert self._secondCallbackCalled == firstSignal
69 self.testee.unregisterUsePopupListener(self._secondCallback)
70 self.testee.setUsePopup(secondSignal)
72 assert self._firstCallbackCalled == secondSignal
73 assert self._secondCallbackCalled == firstSignal
76 def _firstCallback(self, value):
77 self._firstCallbackCalled = value
79 def _secondCallback(self, value):
80 self._secondCallbackCalled = value
83 if __name__ == '__main__':