diff -r 6347deda8b87 Lib/test/test_webbrowser.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lib/test/test_webbrowser.py Sat Aug 04 20:31:05 2012 +0300 @@ -0,0 +1,131 @@ +import webbrowser +import subprocess +import unittest +from unittest import mock + + +class PopenMock(mock.MagicMock): + + def poll(self): + return 0 + + def wait(self, seconds=None): + return 0 + + @property + def cmd_line(self): + return self.call_args[0][0] + + +@mock.patch('subprocess.Popen', new_callable=PopenMock) +class CommandTest(unittest.TestCase): + + def test_generic(self, popen): + browser = webbrowser.GenericBrowser(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', 'http://www.example.com/']) + + def test_background(self, popen): + browser = webbrowser.BackgroundBrowser(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', 'http://www.example.com/']) + + def test_chrome(self, popen): + browser = webbrowser.Chrome(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', 'http://www.example.com/']) + + browser.open_new_tab('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', 'http://www.example.com/']) + + browser.open_new('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '--new-window', 'http://www.example.com/']) + + def test_mozilla(self, popen): + browser = webbrowser.Mozilla(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-raise', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open('http://www.example.com/', autoraise=False) + args = popen.cmd_line + self.assertEqual(args, ['test', '-noraise', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open_new_tab('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-raise', '-remote', + 'openURL(http://www.example.com/,new-tab)']) + + browser.open_new('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-raise', '-remote', + 'openURL(http://www.example.com/,new-window)']) + + def test_galeon(self, popen): + browser = webbrowser.Galeon(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-n', 'http://www.example.com/']) + + browser.open('http://www.example.com/', autoraise=False) + args = popen.cmd_line + self.assertEqual(args, ['test', '-noraise', '-n', 'http://www.example.com/']) + + browser.open_new_tab('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-w', 'http://www.example.com/']) + + browser.open_new('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-w', 'http://www.example.com/']) + + def test_opera(self, popen): + browser = webbrowser.Opera(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open('http://www.example.com/', autoraise=False) + args = popen.cmd_line + self.assertEqual(args, ['test', '-noraise', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open_new_tab('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/,new-page)']) + + browser.open_new('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/,new-window)']) + + def test_elinks(self, popen): + browser = webbrowser.Elinks(name='test') + browser.open('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open('http://www.example.com/', autoraise=False) + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/)']) + + browser.open_new_tab('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/,new-tab)']) + + browser.open_new('http://www.example.com/') + args = popen.cmd_line + self.assertEqual(args, ['test', '-remote', + 'openURL(http://www.example.com/,new-window)'])