| // Copyright 2014 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. |
| |
| package org.chromium.android_webview.test; |
| |
| import android.test.suitebuilder.annotation.SmallTest; |
| |
| import org.chromium.android_webview.AwBrowserProcess; |
| import org.chromium.base.CommandLine; |
| import org.chromium.base.test.util.Feature; |
| |
| /** |
| * Test suite for setting by the command line. |
| */ |
| public class CommandLineTest extends AwTestBase { |
| @Override |
| protected boolean needsBrowserProcessStarted() { |
| return false; |
| } |
| |
| @SmallTest |
| @Feature({"AndroidWebView"}) |
| public void testSetupCommandLine() throws Exception { |
| // The commandline starts off in Java: |
| CommandLine cl = CommandLine.getInstance(); |
| assertFalse(cl.isNativeImplementation()); |
| |
| // We can add a switch. |
| assertFalse(cl.hasSwitch("magic-switch")); |
| cl.appendSwitchWithValue("magic-switch", "magic"); |
| assertTrue(cl.hasSwitch("magic-switch")); |
| assertEquals("magic", cl.getSwitchValue("magic-switch")); |
| |
| // Setup Chrome. |
| AwBrowserProcess.loadLibrary(); |
| |
| // Now we should have switched to a native backed command line: |
| cl = CommandLine.getInstance(); |
| assertTrue(cl.isNativeImplementation()); |
| |
| // Our first switch is still there. |
| assertTrue(cl.hasSwitch("magic-switch")); |
| assertEquals("magic", cl.getSwitchValue("magic-switch")); |
| |
| // And we can add another one. |
| assertFalse(cl.hasSwitch("more-magic-switch")); |
| cl.appendSwitchWithValue("more-magic-switch", "more-magic"); |
| assertTrue(cl.hasSwitch("more-magic-switch")); |
| assertEquals("more-magic", cl.getSwitchValue("more-magic-switch")); |
| } |
| } |