| Index: content/public/android/javatests/src/org/chromium/content/browser/CommandLineTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/CommandLineTest.java b/content/public/android/javatests/src/org/chromium/content/browser/CommandLineTest.java
|
| deleted file mode 100644
|
| index 96015f9129206789fc2c9e4aac007fe104676b1b..0000000000000000000000000000000000000000
|
| --- a/content/public/android/javatests/src/org/chromium/content/browser/CommandLineTest.java
|
| +++ /dev/null
|
| @@ -1,199 +0,0 @@
|
| -// 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.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -import android.test.InstrumentationTestCase;
|
| -import android.test.suitebuilder.annotation.MediumTest;
|
| -import android.test.suitebuilder.annotation.SmallTest;
|
| -
|
| -import org.chromium.base.test.util.Feature;
|
| -import org.chromium.content.app.LibraryLoader;
|
| -import org.chromium.content.common.CommandLine;
|
| -import org.chromium.content.common.ProcessInitException;
|
| -import org.chromium.content_shell_apk.ContentShellActivity;
|
| -import org.chromium.content_shell_apk.ContentShellApplication;
|
| -
|
| -public class CommandLineTest extends InstrumentationTestCase {
|
| - // A reference command line. Note that switch2 is [brea\d], switch3 is [and "butter"],
|
| - // and switch4 is [a "quoted" 'food'!]
|
| - static final String INIT_SWITCHES[] = { "init_command", "--SWITCH", "Arg",
|
| - "--switch2=brea\\d", "--switch3=and \"butter\"",
|
| - "--switch4=a \"quoted\" 'food'!",
|
| - "--", "--actually_an_arg" };
|
| -
|
| - // The same command line, but in quoted string format.
|
| - static final char INIT_SWITCHES_BUFFER[] =
|
| - ("init_command --SWITCH Arg --switch2=brea\\d --switch3=\"and \\\"butt\"er\\\" "
|
| - + "--switch4='a \"quoted\" \\'food\\'!' "
|
| - + "-- --actually_an_arg").toCharArray();
|
| -
|
| - static final String CL_ADDED_SWITCH = "zappo-dappo-doggy-trainer";
|
| - static final String CL_ADDED_SWITCH_2 = "username";
|
| - static final String CL_ADDED_VALUE_2 = "bozo";
|
| -
|
| - @Override
|
| - public void setUp() throws Exception {
|
| - CommandLine.reset();
|
| - }
|
| -
|
| - void loadJni() {
|
| - assertFalse(CommandLine.getInstance().isNativeImplementation());
|
| - getInstrumentation().runOnMainSync(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - ContentShellApplication.initializeApplicationParameters();
|
| - try {
|
| - LibraryLoader.ensureInitialized();
|
| - } catch (ProcessInitException e) {
|
| - throw new Error(e);
|
| - }
|
| - }
|
| - });
|
| - assertTrue(CommandLine.getInstance().isNativeImplementation());
|
| - }
|
| -
|
| - void checkInitSwitches() {
|
| - CommandLine cl = CommandLine.getInstance();
|
| - assertFalse(cl.hasSwitch("init_command"));
|
| - assertFalse(cl.hasSwitch("switch"));
|
| - assertTrue(cl.hasSwitch("SWITCH"));
|
| - assertFalse(cl.hasSwitch("--SWITCH"));
|
| - assertFalse(cl.hasSwitch("Arg"));
|
| - assertFalse(cl.hasSwitch("actually_an_arg"));
|
| - assertEquals("brea\\d", cl.getSwitchValue("switch2"));
|
| - assertEquals("and \"butter\"", cl.getSwitchValue("switch3"));
|
| - assertEquals("a \"quoted\" 'food'!", cl.getSwitchValue("switch4"));
|
| - assertNull(cl.getSwitchValue("SWITCH"));
|
| - assertNull(cl.getSwitchValue("non-existant"));
|
| - }
|
| -
|
| - void checkSettingThenGetting() {
|
| - CommandLine cl = CommandLine.getInstance();
|
| -
|
| - // Add a plain switch.
|
| - assertFalse(cl.hasSwitch(CL_ADDED_SWITCH));
|
| - cl.appendSwitch(CL_ADDED_SWITCH);
|
| - assertTrue(cl.hasSwitch(CL_ADDED_SWITCH));
|
| -
|
| - // Add a switch paired with a value.
|
| - assertFalse(cl.hasSwitch(CL_ADDED_SWITCH_2));
|
| - assertNull(cl.getSwitchValue(CL_ADDED_SWITCH_2));
|
| - cl.appendSwitchWithValue(CL_ADDED_SWITCH_2, CL_ADDED_VALUE_2);
|
| - assertTrue(CL_ADDED_VALUE_2.equals(cl.getSwitchValue(CL_ADDED_SWITCH_2)));
|
| -
|
| - // Append a few new things.
|
| - final String switchesAndArgs[] = { "dummy", "--superfast", "--speed=turbo" };
|
| - assertFalse(cl.hasSwitch("dummy"));
|
| - assertFalse(cl.hasSwitch("superfast"));
|
| - assertNull(cl.getSwitchValue("speed"));
|
| - cl.appendSwitchesAndArguments(switchesAndArgs);
|
| - assertFalse(cl.hasSwitch("dummy"));
|
| - assertFalse(cl.hasSwitch("command"));
|
| - assertTrue(cl.hasSwitch("superfast"));
|
| - assertTrue("turbo".equals(cl.getSwitchValue("speed")));
|
| - }
|
| -
|
| - void checkAppendedSwitchesPassedThrough() {
|
| - CommandLine cl = CommandLine.getInstance();
|
| - assertTrue(cl.hasSwitch(CL_ADDED_SWITCH));
|
| - assertTrue(cl.hasSwitch(CL_ADDED_SWITCH_2));
|
| - assertTrue(CL_ADDED_VALUE_2.equals(cl.getSwitchValue(CL_ADDED_SWITCH_2)));
|
| - }
|
| -
|
| - void checkTokenizer(String[] expected, String toParse) {
|
| - String[] actual = CommandLine.tokenizeQuotedAruments(toParse.toCharArray());
|
| - assertEquals(expected.length, actual.length);
|
| - for (int i = 0; i < expected.length; ++i) {
|
| - assertEquals("comparing element " + i, expected[i], actual[i]);
|
| - }
|
| - }
|
| -
|
| - @SmallTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testJavaInitialization() {
|
| - CommandLine.init(INIT_SWITCHES);
|
| - checkInitSwitches();
|
| - checkSettingThenGetting();
|
| - }
|
| -
|
| - @MediumTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testJavaNativeTransition() {
|
| - CommandLine.init(INIT_SWITCHES);
|
| - checkInitSwitches();
|
| - loadJni();
|
| - checkInitSwitches();
|
| - checkSettingThenGetting();
|
| - }
|
| -
|
| - @MediumTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testJavaNativeTransitionAfterAppends() {
|
| - CommandLine.init(INIT_SWITCHES);
|
| - checkInitSwitches();
|
| - checkSettingThenGetting();
|
| - loadJni();
|
| - checkInitSwitches();
|
| - checkAppendedSwitchesPassedThrough();
|
| - }
|
| -
|
| - @MediumTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testNativeInitialization() {
|
| - CommandLine.init(null);
|
| - loadJni();
|
| - // Drop the program name for use with appendSwitchesAndArguments.
|
| - String[] args = new String[INIT_SWITCHES.length - 1];
|
| - System.arraycopy(INIT_SWITCHES, 1, args, 0, args.length);
|
| - CommandLine.getInstance().appendSwitchesAndArguments(args);
|
| - checkInitSwitches();
|
| - checkSettingThenGetting();
|
| - }
|
| -
|
| - @SmallTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testBufferInitialization() {
|
| - CommandLine.init(CommandLine.tokenizeQuotedAruments(INIT_SWITCHES_BUFFER));
|
| - checkInitSwitches();
|
| - checkSettingThenGetting();
|
| - }
|
| -
|
| - @SmallTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testArgumentTokenizer() {
|
| - String toParse = " a\"\\bc de\\\"f g\"\\h ij k\" \"lm";
|
| - String[] expected = { "a\\bc de\"f g\\h",
|
| - "ij",
|
| - "k lm" };
|
| - checkTokenizer(expected, toParse);
|
| -
|
| - toParse = "";
|
| - expected = new String[0];
|
| - checkTokenizer(expected, toParse);
|
| -
|
| - toParse = " \t\n";
|
| - checkTokenizer(expected, toParse);
|
| -
|
| - toParse = " \"a'b\" 'c\"d' \"e\\\"f\" 'g\\'h' \"i\\'j\" 'k\\\"l'" +
|
| - " m\"n\\'o\"p q'r\\\"s't";
|
| - expected = new String[] { "a'b",
|
| - "c\"d",
|
| - "e\"f",
|
| - "g'h",
|
| - "i\\'j",
|
| - "k\\\"l",
|
| - "mn\\'op",
|
| - "qr\\\"st",};
|
| - checkTokenizer(expected, toParse);
|
| - }
|
| -
|
| - @MediumTest
|
| - @Feature({"Android-AppBase"})
|
| - public void testFileInitialization() {
|
| - CommandLine.initFromFile(ContentShellActivity.COMMAND_LINE_FILE);
|
| - loadJni();
|
| - checkSettingThenGetting();
|
| - }
|
| -}
|
|
|