def install_keyboards_to_gnome(keyboards, packageDir, language=None): gnomeKeyboardsUtil = GnomeKeyboardsUtil() sources = gnomeKeyboardsUtil.read_input_sources() # install all kmx for first lang not just packageID for kb in keyboards: ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir, language) sources.append(('ibus', ibus_keyboard_id)) gnomeKeyboardsUtil.write_input_sources(sources)
def test_ConvertArrayToVariantToArray_MultipleElements(self): # Setup children = [('t1', 'id1'), ('t2', 'id2')] sut = GnomeKeyboardsUtil() # Execute variant = sut._convert_array_to_variant(children) array = sut._convert_variant_to_array(variant) # Verify self.assertEqual(array, children)
def test_ConvertArrayToVariantToArray_Empty(self): # Setup children = [] sut = GnomeKeyboardsUtil() # Execute variant = sut._convert_array_to_variant(children) array = sut._convert_variant_to_array(variant) # Verify self.assertEqual(array, children)
def test_WriteInputSources(self, convertArrayToVariantMethod): # Setup convertArrayToVariantMethod.side_effect = lambda value: value sut = GnomeKeyboardsUtil() keyboards = [('xkb', 'en'), ('ibus', 'fooDir/foo1.kmx'), ('ibus', 'fooDir/foo2.kmx')] # Execute sut.write_input_sources(keyboards) # Verify self.MockSettingsClass.return_value.set_value.assert_called_once_with( "sources", keyboards)
def test_ReadInputSources(self, convertVariantToArrayMethod): # Setup keyboards = [('xkb', 'en')] mock_settingsInstance = self.MockSettingsClass.return_value mock_settingsInstance.get_value.return_value = keyboards convertVariantToArrayMethod.side_effect = lambda value: value sut = GnomeKeyboardsUtil() # Execute result = sut.read_input_sources() # Verify self.assertEqual(result, keyboards)
def uninstall_keyboards_from_gnome(keyboards, packageDir): gnomeKeyboardsUtil = GnomeKeyboardsUtil() sources = gnomeKeyboardsUtil.read_input_sources() # uninstall all kmx for all languages for kb in keyboards: ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir) tuple = ('ibus', ibus_keyboard_id) if tuple in sources: sources.remove(tuple) toRemove = [] match_id = ":%s" % get_ibus_keyboard_id( kb, packageDir, ignore_language=True) for (type, id) in sources: if type == 'ibus' and id.endswith(match_id): toRemove.append((type, id)) for val in toRemove: sources.remove(val) gnomeKeyboardsUtil.write_input_sources(sources)