diff --git a/py/selenium/webdriver/firefox/firefox_profile.py b/py/selenium/webdriver/firefox/firefox_profile.py index 212c341be6dce..b6ae893c3f8b2 100644 --- a/py/selenium/webdriver/firefox/firefox_profile.py +++ b/py/selenium/webdriver/firefox/firefox_profile.py @@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. from __future__ import with_statement -from __future__ import unicode_literals import base64 import copy @@ -24,11 +23,11 @@ import zipfile try: - from io import BytesIO -except ImportError: from cStringIO import StringIO as BytesIO bytes = str str = unicode +except ImportError: + from io import BytesIO from xml.dom import minidom from distutils import dir_util diff --git a/py/test/selenium/webdriver/firefox/ff_profile_tests.py b/py/test/selenium/webdriver/firefox/ff_profile_tests.py index 01adf761d5420..3eb24282a6707 100644 --- a/py/test/selenium/webdriver/firefox/ff_profile_tests.py +++ b/py/test/selenium/webdriver/firefox/ff_profile_tests.py @@ -24,6 +24,12 @@ from io import BytesIO except ImportError: from cStringIO import StringIO as BytesIO + +try: + unicode +except NameError: + unicode = str + from selenium import webdriver from selenium.webdriver.common.proxy import Proxy, ProxyType from selenium.test.selenium.webdriver.common.webserver import SimpleWebServer @@ -79,7 +85,7 @@ def test_that_unicode_prefs_are_written_in_the_correct_format(self): self.driver.quit() profile = webdriver.FirefoxProfile() - profile.set_preference('sample.preference.2', 'hi there') + profile.set_preference('sample.preference.2', unicode('hi there')) profile.update_preferences() assert '"hi there"' == profile.default_preferences["sample.preference.2"] @@ -98,6 +104,23 @@ def test_that_unicode_prefs_are_written_in_the_correct_format(self): break fp.close() + def test_that_integer_prefs_are_written_in_the_correct_format(self): + # The setup gave us a browser but we dont need it + self.driver.quit() + + profile = webdriver.FirefoxProfile() + profile.set_preference("sample.int.preference", 12345) + profile.update_preferences() + assert "12345" == profile.default_preferences["sample.int.preference"] + + def test_that_boolean_prefs_are_written_in_the_correct_format(self): + # The setup gave us a browser but we dont need it + self.driver.quit() + + profile = webdriver.FirefoxProfile() + profile.set_preference("sample.bool.preference", True) + profile.update_preferences() + assert "true" == profile.default_preferences["sample.bool.preference"] def test_that_we_delete_the_profile(self): path = self.driver.firefox_profile.path