summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_webbrowser.py
diff options
context:
space:
mode:
authorZhiming Wang <i@zhimingwang.org>2018-11-26 21:29:45 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2018-11-26 21:29:45 (GMT)
commit8c281ed403fd915284d5bba2405d7c47f8195066 (patch)
tree9e18f217805ec108324a271bb0bb6fdc692e5111 /Lib/test/test_webbrowser.py
parent5a8c240b1d97de0bd6ced2a57cbcf26da19c1fcc (diff)
downloadcpython-8c281ed403fd915284d5bba2405d7c47f8195066.zip
cpython-8c281ed403fd915284d5bba2405d7c47f8195066.tar.gz
cpython-8c281ed403fd915284d5bba2405d7c47f8195066.tar.bz2
bpo-35308: Fix regression where BROWSER env var is not respected. (GH-10693)
Regression introduced in e3ce695 and 25b804a, where the old parameter update_tryorder to _synthesize was first ignored, then given the opposite value in the attempt to fix bpo-31014.
Diffstat (limited to 'Lib/test/test_webbrowser.py')
-rw-r--r--Lib/test/test_webbrowser.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_webbrowser.py b/Lib/test/test_webbrowser.py
index 71f2e27..519a943 100644
--- a/Lib/test/test_webbrowser.py
+++ b/Lib/test/test_webbrowser.py
@@ -309,6 +309,24 @@ class ImportTest(unittest.TestCase):
webbrowser = support.import_fresh_module('webbrowser')
webbrowser.get()
+ def test_environment_preferred(self):
+ webbrowser = support.import_fresh_module('webbrowser')
+ try:
+ webbrowser.get()
+ least_preferred_browser = webbrowser.get(webbrowser._tryorder[-1]).name
+ except (webbrowser.Error, AttributeError, IndexError) as err:
+ self.skipTest(str(err))
+
+ with support.EnvironmentVarGuard() as env:
+ env["BROWSER"] = least_preferred_browser
+ webbrowser = support.import_fresh_module('webbrowser')
+ self.assertEqual(webbrowser.get().name, least_preferred_browser)
+
+ with support.EnvironmentVarGuard() as env:
+ env["BROWSER"] = sys.executable
+ webbrowser = support.import_fresh_module('webbrowser')
+ self.assertEqual(webbrowser.get().name, sys.executable)
+
if __name__=='__main__':
unittest.main()