Home | History | Annotate | Download | only in test
      1 // Copyright 2014 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 
      5 package org.chromium.android_webview.test;
      6 
      7 import android.test.suitebuilder.annotation.SmallTest;
      8 
      9 import org.chromium.android_webview.AwBrowserProcess;
     10 import org.chromium.base.CommandLine;
     11 import org.chromium.base.library_loader.LibraryLoader;
     12 import org.chromium.base.test.util.Feature;
     13 
     14 /**
     15  * Test suite for setting by the command line.
     16  */
     17 public class CommandLineTest extends AwTestBase {
     18     @Override
     19     protected boolean needsBrowserProcessStarted() {
     20         return false;
     21     }
     22 
     23     @SmallTest
     24     @Feature({"AndroidWebView"})
     25     public void testSetupCommandLine() throws Exception {
     26         // The commandline starts off in Java:
     27         CommandLine cl = CommandLine.getInstance();
     28         assertFalse(cl.isNativeImplementation());
     29 
     30         // We can add a switch.
     31         assertFalse(cl.hasSwitch("magic-switch"));
     32         cl.appendSwitchWithValue("magic-switch", "magic");
     33         assertTrue(cl.hasSwitch("magic-switch"));
     34         assertEquals("magic", cl.getSwitchValue("magic-switch"));
     35 
     36         // Setup Chrome.
     37         AwBrowserProcess.loadLibrary();
     38         LibraryLoader.switchCommandLineForWebView();
     39 
     40         // Now we should have switched to a native backed command line:
     41         cl = CommandLine.getInstance();
     42         assertTrue(cl.isNativeImplementation());
     43 
     44         // Our first switch is still there.
     45         assertTrue(cl.hasSwitch("magic-switch"));
     46         assertEquals("magic", cl.getSwitchValue("magic-switch"));
     47 
     48         // And we can add another one.
     49         assertFalse(cl.hasSwitch("more-magic-switch"));
     50         cl.appendSwitchWithValue("more-magic-switch", "more-magic");
     51         assertTrue(cl.hasSwitch("more-magic-switch"));
     52         assertEquals("more-magic", cl.getSwitchValue("more-magic-switch"));
     53     }
     54 }
     55