Update sdk/platform-tools to version 26.0.0.
[android_tools.git] / sdk / platform-tools / systrace / catapult / telemetry / telemetry / internal / browser / browser_options_unittest.py
blob08791a56766346ba8df11caa8591defc4d69f3b8
1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 import optparse
5 import os
6 import unittest
8 from telemetry.internal.browser import browser_options
11 class BrowserOptionsTest(unittest.TestCase):
12 def testDefaults(self):
13 options = browser_options.BrowserFinderOptions()
14 parser = options.CreateParser()
15 parser.add_option('-x', action='store', default=3)
16 parser.parse_args(['--browser', 'any'])
17 self.assertEquals(options.x, 3) # pylint: disable=no-member
19 def testDefaultsPlusOverride(self):
20 options = browser_options.BrowserFinderOptions()
21 parser = options.CreateParser()
22 parser.add_option('-x', action='store', default=3)
23 parser.parse_args(['--browser', 'any', '-x', 10])
24 self.assertEquals(options.x, 10) # pylint: disable=no-member
26 def testDefaultsDontClobberPresetValue(self):
27 options = browser_options.BrowserFinderOptions()
28 setattr(options, 'x', 7)
29 parser = options.CreateParser()
30 parser.add_option('-x', action='store', default=3)
31 parser.parse_args(['--browser', 'any'])
32 self.assertEquals(options.x, 7) # pylint: disable=no-member
34 def testCount0(self):
35 options = browser_options.BrowserFinderOptions()
36 parser = options.CreateParser()
37 parser.add_option('-x', action='count', dest='v')
38 parser.parse_args(['--browser', 'any'])
39 self.assertEquals(options.v, None) # pylint: disable=no-member
41 def testCount2(self):
42 options = browser_options.BrowserFinderOptions()
43 parser = options.CreateParser()
44 parser.add_option('-x', action='count', dest='v')
45 parser.parse_args(['--browser', 'any', '-xx'])
46 self.assertEquals(options.v, 2) # pylint: disable=no-member
48 def testOptparseMutabilityWhenSpecified(self):
49 options = browser_options.BrowserFinderOptions()
50 parser = options.CreateParser()
51 parser.add_option('-x', dest='verbosity', action='store_true')
52 options_ret, _ = parser.parse_args(['--browser', 'any', '-x'])
53 self.assertEquals(options_ret, options)
54 self.assertTrue(options.verbosity)
56 def testOptparseMutabilityWhenNotSpecified(self):
57 options = browser_options.BrowserFinderOptions()
59 parser = options.CreateParser()
60 parser.add_option('-x', dest='verbosity', action='store_true')
61 options_ret, _ = parser.parse_args(['--browser', 'any'])
62 self.assertEquals(options_ret, options)
63 self.assertFalse(options.verbosity)
65 def testProfileDirDefault(self):
66 options = browser_options.BrowserFinderOptions()
67 parser = options.CreateParser()
68 parser.parse_args(['--browser', 'any'])
69 self.assertEquals(options.browser_options.profile_dir, None)
71 def testProfileDir(self):
72 options = browser_options.BrowserFinderOptions()
73 parser = options.CreateParser()
74 # Need to use a directory that exists.
75 current_dir = os.path.dirname(__file__)
76 parser.parse_args(['--browser', 'any', '--profile-dir', current_dir])
77 self.assertEquals(options.browser_options.profile_dir, current_dir)
79 def testExtraBrowserArgs(self):
80 options = browser_options.BrowserFinderOptions()
81 parser = options.CreateParser()
82 parser.parse_args(['--extra-browser-args=--foo --bar'])
84 self.assertEquals(options.browser_options.extra_browser_args,
85 set(['--foo', '--bar']))
87 def testMergeDefaultValues(self):
88 options = browser_options.BrowserFinderOptions()
89 options.already_true = True
90 options.already_false = False
91 options.override_to_true = False
92 options.override_to_false = True
94 parser = optparse.OptionParser()
95 parser.add_option('--already_true', action='store_true')
96 parser.add_option('--already_false', action='store_true')
97 parser.add_option('--unset', action='store_true')
98 parser.add_option('--default_true', action='store_true', default=True)
99 parser.add_option('--default_false', action='store_true', default=False)
100 parser.add_option('--override_to_true', action='store_true', default=False)
101 parser.add_option('--override_to_false', action='store_true', default=True)
103 options.MergeDefaultValues(parser.get_default_values())
105 self.assertTrue(options.already_true)
106 self.assertFalse(options.already_false)
107 self.assertTrue(options.unset is None)
108 self.assertTrue(options.default_true)
109 self.assertFalse(options.default_false)
110 self.assertFalse(options.override_to_true)
111 self.assertTrue(options.override_to_false)