# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. from marionette_driver import By from marionette_driver.errors import ( InvalidArgumentException, NoSuchElementException, UnknownException, ) from marionette_driver.localization import L10n from marionette_harness import MarionetteTestCase class TestL10n(MarionetteTestCase): def setUp(self): super(TestL10n, self).setUp() self.l10n = L10n(self.marionette) def test_localize_entity(self): dtds = ["chrome://remote/content/marionette/test_dialog.dtd"] value = self.l10n.localize_entity(dtds, "testDialog.title") self.assertEqual(value, "Test Dialog") def test_localize_entity_invalid_arguments(self): dtds = ["chrome://remote/content/marionette/test_dialog.dtd"] self.assertRaises( NoSuchElementException, self.l10n.localize_entity, dtds, "notExistent" ) self.assertRaises( InvalidArgumentException, self.l10n.localize_entity, dtds[0], "notExistent" ) self.assertRaises( InvalidArgumentException, self.l10n.localize_entity, dtds, True ) def test_localize_property(self): properties = ["chrome://remote/content/marionette/test_dialog.properties"] value = self.l10n.localize_property(properties, "testDialog.title") self.assertEqual(value, "Test Dialog") self.assertRaises( NoSuchElementException, self.l10n.localize_property, properties, "notExistent", ) def test_localize_property_invalid_arguments(self): properties = ["chrome://global/locale/filepicker.properties"] self.assertRaises( NoSuchElementException, self.l10n.localize_property, properties, "notExistent", ) self.assertRaises( InvalidArgumentException, self.l10n.localize_property, properties[0], "notExistent", ) self.assertRaises( InvalidArgumentException, self.l10n.localize_property, properties, True )