Index: tools/telemetry/telemetry/core/browser_options_unittest.py |
diff --git a/tools/telemetry/telemetry/core/browser_options_unittest.py b/tools/telemetry/telemetry/core/browser_options_unittest.py |
index b456f40f30c1c36606871f3b34bc1084674d2bc6..9f016fab7bf25e1aaf365794b84b697abad0d2f8 100644 |
--- a/tools/telemetry/telemetry/core/browser_options_unittest.py |
+++ b/tools/telemetry/telemetry/core/browser_options_unittest.py |
@@ -1,6 +1,7 @@ |
# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+import optparse |
import unittest |
from telemetry.core import browser_options |
@@ -70,3 +71,29 @@ class BrowserOptionsTest(unittest.TestCase): |
parser = options.CreateParser() |
parser.parse_args(['--browser', 'any', '--profile-dir', 'foo']) |
self.assertEquals(options.profile_dir, 'foo') |
+ |
+ def testMergeDefaultValues(self): |
+ options = browser_options.BrowserOptions() |
+ options.already_true = True |
+ options.already_false = False |
+ options.override_to_true = False |
+ options.override_to_false = True |
+ |
+ parser = optparse.OptionParser() |
+ parser.add_option('--already_true', action='store_true') |
+ parser.add_option('--already_false', action='store_true') |
+ parser.add_option('--unset', action='store_true') |
+ parser.add_option('--default_true', action='store_true', default=True) |
+ parser.add_option('--default_false', action='store_true', default=False) |
+ parser.add_option('--override_to_true', action='store_true', default=False) |
+ parser.add_option('--override_to_false', action='store_true', default=True) |
+ |
+ options.MergeDefaultValues(parser.get_default_values()) |
+ |
+ self.assertTrue(options.already_true) |
+ self.assertFalse(options.already_false) |
+ self.assertTrue(options.unset is None) |
+ self.assertTrue(options.default_true) |
+ self.assertFalse(options.default_false) |
+ self.assertFalse(options.override_to_true) |
+ self.assertTrue(options.override_to_false) |