X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=package%2Ftest%2Funit%2Fsettings%2Fapplication_settings_test.py;fp=package%2Ftest%2Funit%2Fsettings%2Fapplication_settings_test.py;h=354c3f0cd2f00206e5f25abde6116afa7b5c0471;hb=635da74643ed775f97d1dfe602e9150fddf5840b;hp=0000000000000000000000000000000000000000;hpb=0da30082ee98d6f033d1fe001d6cea5d9592b4a7;p=wifi-assistant diff --git a/package/test/unit/settings/application_settings_test.py b/package/test/unit/settings/application_settings_test.py new file mode 100644 index 0000000..354c3f0 --- /dev/null +++ b/package/test/unit/settings/application_settings_test.py @@ -0,0 +1,75 @@ +from gnome import gconf +from wifi_assistant.settings.ApplicationSettings import ApplicationSettings + +import unittest + +class ApplicationSettingsTest(unittest.TestCase): + + def setUp(self): + self.gc = gconf.client_get_default() + self.root = '/apps/maemo/wifi/unit_tests' + self._clearGConf(self.root) + self._setupDefaultValues(self.root) + self._firstCallbackCalled = None + self._secondCallbackCalled = None + self.testee = ApplicationSettings(self.gc, self.root) + + def _setupDefaultValues(self, dir): + self.gc.set_bool(dir + '/daemon', True) + + # FIXME: inherit + def _clearGConf(self, dir): + # there's no recursive_unset available + all_entries = self.gc.all_entries(dir) + for entry in all_entries: + self.gc.unset(entry.get_key()) + for sub_dir in self.gc.all_dirs(dir): + self._clearGConf(sub_dir) + self.gc.suggest_sync() + + + def test_default_is_to_use_popup(self): + assert self.testee.getUsePopup() is True + + + def test_setting_use_popup_works(self): + assert self.testee.getUsePopup() is True + + self.testee.setUsePopup(False) + assert self.testee.getUsePopup() is False + + self.testee.setUsePopup(True) + assert self.testee.getUsePopup() is True + + + def dont_test_adding_two_listeners_removing_one_still_notifies_first_listener(self): + firstSignal = False + secondSignal = True + + self.testee.registerUsePopupListener(self._firstCallback) + self.testee.registerUsePopupListener(self._secondCallback) + + # TODO: start thread to have signalling work properly ... + + self.testee.setUsePopup(firstSignal) + + assert self._firstCallbackCalled == firstSignal + assert self._secondCallbackCalled == firstSignal + + self.testee.unregisterUsePopupListener(self._secondCallback) + self.testee.setUsePopup(secondSignal) + + assert self._firstCallbackCalled == secondSignal + assert self._secondCallbackCalled == firstSignal + + + def _firstCallback(self, value): + self._firstCallbackCalled = value + + def _secondCallback(self, value): + self._secondCallbackCalled = value + + +if __name__ == '__main__': + unittest.main() +