bpo-31014: Fix the webbrowser module. (GH-7267)

webbrowser._synthesize() called webbrowser.register() with
outdated signature.

Co-Authored-By: John Still <john@jmsdvl.com>
This commit is contained in:
Serhiy Storchaka 2018-07-08 10:22:32 +03:00 committed by GitHub
parent 0830858aee
commit 25b804a9c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 3 deletions

View file

@ -1,5 +1,7 @@
import webbrowser
import unittest
import os
import sys
import subprocess
from unittest import mock
from test import support
@ -290,6 +292,23 @@ class ImportTest(unittest.TestCase):
webbrowser.get('fakebrowser')
self.assertIsNotNone(webbrowser._tryorder)
def test_synthesize(self):
webbrowser = support.import_fresh_module('webbrowser')
name = os.path.basename(sys.executable).lower()
webbrowser.register(name, None, webbrowser.GenericBrowser(name))
webbrowser.get(sys.executable)
def test_environment(self):
webbrowser = support.import_fresh_module('webbrowser')
try:
browser = webbrowser.get().name
except (webbrowser.Error, AttributeError) as err:
self.skipTest(str(err))
with support.EnvironmentVarGuard() as env:
env["BROWSER"] = browser
webbrowser = support.import_fresh_module('webbrowser')
webbrowser.get()
if __name__=='__main__':
unittest.main()