@@ -43,6 +43,7 @@ class TestUnit(object):
4343 def test_ctor (self ):
4444 opts = Options ()
4545 assert opts ._binary is None
46+ assert opts ._preferences == {}
4647 assert opts ._profile is None
4748 assert opts ._arguments == []
4849 assert isinstance (opts .log , Log )
@@ -61,6 +62,19 @@ def test_binary(self):
6162 assert isinstance (opts .binary , FirefoxBinary )
6263 assert opts .binary ._start_cmd == path
6364
65+ def test_prefs (self ):
66+ opts = Options ()
67+ assert len (opts .preferences ) == 0
68+ assert isinstance (opts .preferences , dict )
69+
70+ opts .set_preference ("spam" , "ham" )
71+ assert len (opts .preferences ) == 1
72+ opts .set_preference ("eggs" , True )
73+ assert len (opts .preferences ) == 2
74+ opts .set_preference ("spam" , "spam" )
75+ assert len (opts .preferences ) == 2
76+ assert opts .preferences == {"spam" : "spam" , "eggs" : True }
77+
6478 def test_profile (self , tmpdir_factory ):
6579 opts = Options ()
6680 assert opts .profile is None
@@ -108,3 +122,10 @@ def test_to_capabilities(self):
108122 assert "binary" in caps ["moz:firefoxOptions" ]
109123 assert isinstance (caps ["moz:firefoxOptions" ]["binary" ], basestring )
110124 assert caps ["moz:firefoxOptions" ]["binary" ] == binary ._start_cmd
125+
126+ opts .set_preference ("spam" , "ham" )
127+ caps = opts .to_capabilities ()
128+ assert "moz:firefoxOptions" in caps
129+ assert "prefs" in caps ["moz:firefoxOptions" ]
130+ assert isinstance (caps ["moz:firefoxOptions" ]["prefs" ], dict )
131+ assert caps ["moz:firefoxOptions" ]["prefs" ]["spam" ] == "ham"
0 commit comments