Integrate unsubmitted cupcake change 147342:
CTS: clean up code in android.net package
diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
index abcfb22..a8a149f 100644
--- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -16,11 +16,11 @@
package android.net.cts;
-import dalvik.annotation.BrokenTest;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargets;
+import dalvik.annotation.ToBeFixed;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -45,7 +45,6 @@
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test getNetworkInfo(int networkType).",
method = "getNetworkInfo",
args = {int.class}
)
@@ -77,13 +76,11 @@
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test isNetworkTypeValid(int networkType).",
method = "isNetworkTypeValid",
args = {int.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test isNetworkTypeValid(int networkType).",
method = "getAllNetworkInfo",
args = {}
)
@@ -105,33 +102,58 @@
args = {}
),
@TestTargetNew(
- level = TestLevel.COMPLETE,
+ level = TestLevel.SUFFICIENT,
method = "setNetworkPreference",
args = {int.class}
)
})
- @BrokenTest("Cannot write secure settings table")
public void testAccessNetworkPreference() {
+ int initialSetting = mCm.getNetworkPreference();
- final int expected = 1;
- int per = mCm.getNetworkPreference();
- mCm.setNetworkPreference(expected);
- assertEquals(expected, mCm.getNetworkPreference());
+ // Changing the network preference requires android.permission.WRITE_SECURE_SETTINGS,
+ // which is only available to signed or system applications.
- mCm.setNetworkPreference(0);
- assertEquals(0, mCm.getNetworkPreference());
+ // Setting the same preference that is already set is a no-op and does not throw
+ // a SecurityException.
+ mCm.setNetworkPreference(initialSetting);
+ assertEquals(initialSetting, mCm.getNetworkPreference());
+ // find a valid setting that is different from the initial setting
+ int validSetting = -1;
+ NetworkInfo[] ni = mCm.getAllNetworkInfo();
+ for (NetworkInfo n : ni) {
+ int type = n.getType();
+ if (type != initialSetting) {
+ validSetting = type;
+ break;
+ }
+ }
+ if (validSetting >= 0) {
+ try {
+ mCm.setNetworkPreference(validSetting);
+ fail("Trying to change the network preference should throw SecurityException");
+ } catch (SecurityException expected) {
+ // expected
+ }
+ }
+
+ // find an invalid setting
+ int invalidSetting = -1;
+ for (int i = 0; i < 10; i++) {
+ if (!ConnectivityManager.isNetworkTypeValid(i)) {
+ invalidSetting = i;
+ break;
+ }
+ }
+ if (invalidSetting >= 0) {
+ // illegal setting should be ignored
+ mCm.setNetworkPreference(invalidSetting);
+ assertEquals(initialSetting, mCm.getNetworkPreference());
+ }
+
+ // illegal setting should be ignored
mCm.setNetworkPreference(-1);
- assertEquals(0, mCm.getNetworkPreference());
-
- mCm.setNetworkPreference(2);
- assertEquals(0, mCm.getNetworkPreference());
-
- mCm.setNetworkPreference(1);
-
- assertEquals(1, mCm.getNetworkPreference());
-
- mCm.setNetworkPreference(per);
+ assertEquals(initialSetting, mCm.getNetworkPreference());
}
@TestTargetNew(
@@ -177,7 +199,6 @@
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test requestRouteToHost(int networkType, int hostAddress).",
method = "requestRouteToHost",
args = {int.class, int.class}
)
@@ -193,18 +214,24 @@
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test getActiveNetworkInfo().",
method = "getActiveNetworkInfo",
args = {}
)
+ @ToBeFixed(bug="1695243", explanation="No Javadoc")
public void testGetActiveNetworkInfo() {
-
NetworkInfo ni = mCm.getActiveNetworkInfo();
+
if (ni != null) {
assertTrue(ni.getType() >= 0);
- } else {
- fail("There is no active network connected, should be at least one kind of network");
}
}
+ @TestTargetNew(
+ level = TestLevel.SUFFICIENT,
+ method = "getBackgroundDataSetting",
+ args = {}
+ )
+ public void testTest() {
+ mCm.getBackgroundDataSetting();
+ }
}
diff --git a/tests/cts/net/src/android/net/cts/CredentialsTest.java b/tests/cts/net/src/android/net/cts/CredentialsTest.java
index fe65805..6cf8c23 100644
--- a/tests/cts/net/src/android/net/cts/CredentialsTest.java
+++ b/tests/cts/net/src/android/net/cts/CredentialsTest.java
@@ -29,25 +29,21 @@
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
method = "Credentials",
args = {int.class, int.class, int.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
method = "getGid",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
method = "getPid",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
method = "getUid",
args = {}
)
diff --git a/tests/cts/net/src/android/net/cts/DhcpInfoTest.java b/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
index 1a1ad47..97bd27a 100644
--- a/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
+++ b/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,10 +18,9 @@
import android.net.DhcpInfo;
import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
@TestTargetClass(DhcpInfo.class)
public class DhcpInfoTest extends AndroidTestCase {
diff --git a/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java b/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
index 07f29c6..21c7d5e 100644
--- a/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,58 +15,50 @@
*/
package android.net.cts;
-import java.io.FileDescriptor;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.net.Socket;
import android.net.LocalServerSocket;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
-import android.os.ParcelFileDescriptor;
import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
-import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestTargets;
import dalvik.annotation.ToBeFixed;
@TestTargetClass(LocalServerSocket.class)
public class LocalServerSocketTest extends AndroidTestCase {
+
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
method = "accept",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
method = "close",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
method = "getFileDescriptor",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
method = "getLocalSocketAddress",
args = {}
),
@TestTargetNew(
- level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
+ level = TestLevel.NOT_FEASIBLE,
method = "LocalServerSocket",
args = {java.io.FileDescriptor.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "test LocalServerSocket",
method = "LocalServerSocket",
args = {java.lang.String.class}
)
@@ -77,15 +69,6 @@
LocalServerSocket localServerSocket = new LocalServerSocket(LocalSocketTest.mSockAddr);
assertNotNull(localServerSocket.getLocalSocketAddress());
commonFunctions(localServerSocket);
-
- Socket socket = new Socket("www.google.com", 80);
- ParcelFileDescriptor parcelFD = ParcelFileDescriptor.fromSocket(socket);
- FileDescriptor fd = parcelFD.getFileDescriptor();
-
- // enable the following after bug 1520987 fixed
-// localServerSocket = new LocalServerSocket(fd);
-// assertNull(localServerSocket.getLocalSocketAddress());
-// commonFunctions(localServerSocket);
}
public void commonFunctions(LocalServerSocket localServerSocket) throws IOException {
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java b/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
index 75232c4..e3141d5 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
@@ -27,11 +27,6 @@
@TestTargetClass(LocalSocketAddress.class)
public class LocalSocketAddressTest extends AndroidTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
@@ -65,17 +60,17 @@
assertEquals(Namespace.ABSTRACT, localSocketAddress.getNamespace());
// specify the namespace
- LocalSocketAddress localSocketAddress2 =
+ LocalSocketAddress localSocketAddress2 =
new LocalSocketAddress("name2", Namespace.ABSTRACT);
assertEquals("name2", localSocketAddress2.getName());
assertEquals(Namespace.ABSTRACT, localSocketAddress2.getNamespace());
- LocalSocketAddress localSocketAddress3 =
+ LocalSocketAddress localSocketAddress3 =
new LocalSocketAddress("name3", Namespace.FILESYSTEM);
assertEquals("name3", localSocketAddress3.getName());
assertEquals(Namespace.FILESYSTEM, localSocketAddress3.getNamespace());
- LocalSocketAddress localSocketAddress4 =
+ LocalSocketAddress localSocketAddress4 =
new LocalSocketAddress("name4", Namespace.RESERVED);
assertEquals("name4", localSocketAddress4.getName());
assertEquals(Namespace.RESERVED, localSocketAddress4.getNamespace());
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java b/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
index 5d29c81..fc9de5b 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,19 +18,13 @@
import android.net.LocalSocketAddress.Namespace;
import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
@TestTargetClass(Namespace.class)
public class LocalSocketAddress_NamespaceTest extends AndroidTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Test valueOf(String name).",
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
index 2c3d73c..d2de4e4 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
@@ -53,16 +53,31 @@
),
@TestTargetNew(
level = TestLevel.COMPLETE,
+ method = "isRoaming",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
method = "getType",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
+ method = "getSubtype",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
method = "getTypeName",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
+ method = "getSubtypeName",
+ args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
method = "setIsAvailable",
args = {boolean.class}
),
@@ -116,25 +131,24 @@
assertEquals(TYPE_MOBILE, ni[TYPE_MOBILE].getType());
assertEquals(TYPE_WIFI, ni[TYPE_WIFI].getType());
+ // don't know the return value
+ ni[TYPE_MOBILE].getSubtype();
+ ni[TYPE_WIFI].getSubtype();
+
assertEquals(MOBILE_TYPE_NAME, ni[TYPE_MOBILE].getTypeName());
assertEquals(WIFI_TYPE_NAME, ni[TYPE_WIFI].getTypeName());
+ // don't know the return value
+ ni[TYPE_MOBILE].getSubtypeName();
+ ni[TYPE_WIFI].getSubtypeName();
+
if(ni[TYPE_MOBILE].isConnectedOrConnecting()) {
assertTrue(ni[TYPE_MOBILE].isAvailable());
assertTrue(ni[TYPE_MOBILE].isConnected());
assertEquals(State.CONNECTED, ni[TYPE_MOBILE].getState());
assertEquals(DetailedState.CONNECTED, ni[TYPE_MOBILE].getDetailedState());
- assertNotNull(ni[TYPE_MOBILE].getReason());
- assertNotNull(ni[TYPE_MOBILE].getExtraInfo());
- } else {
- assertFalse(ni[TYPE_MOBILE].isAvailable());
- assertFalse(ni[TYPE_MOBILE].isConnected());
-
- // mobile state is undefined
-
- assertEquals(DetailedState.IDLE, ni[TYPE_MOBILE].getDetailedState());
- assertNull(ni[TYPE_MOBILE].getReason());
- assertNull(ni[TYPE_MOBILE].getExtraInfo());
+ ni[TYPE_MOBILE].getReason();
+ ni[TYPE_MOBILE].getExtraInfo();
}
if(ni[TYPE_WIFI].isConnectedOrConnecting()) {
@@ -142,19 +156,13 @@
assertTrue(ni[TYPE_WIFI].isConnected());
assertEquals(State.CONNECTED, ni[TYPE_WIFI].getState());
assertEquals(DetailedState.CONNECTED, ni[TYPE_WIFI].getDetailedState());
- assertNotNull(ni[TYPE_WIFI].getReason());
- assertNotNull(ni[TYPE_WIFI].getExtraInfo());
- } else {
- assertFalse(ni[TYPE_WIFI].isAvailable());
- assertFalse(ni[TYPE_WIFI].isConnected());
-
- // wifi state is undefined
-
- assertEquals(DetailedState.IDLE, ni[TYPE_WIFI].getDetailedState());
- assertNull(ni[TYPE_WIFI].getReason());
- assertNull(ni[TYPE_WIFI].getExtraInfo());
+ ni[TYPE_WIFI].getReason();
+ ni[TYPE_WIFI].getExtraInfo();
}
+ assertFalse(ni[TYPE_MOBILE].isRoaming());
+ assertFalse(ni[TYPE_WIFI].isRoaming());
+
assertNotNull(ni[TYPE_MOBILE].toString());
assertNotNull(ni[TYPE_WIFI].toString());
}
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java b/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
index 0e05b28..196e102 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,19 +18,13 @@
import android.net.NetworkInfo.DetailedState;
import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
-import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
@TestTargetClass(DetailedState.class)
public class NetworkInfo_DetailedStateTest extends AndroidTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Test valueOf(String name).",
@@ -38,23 +32,16 @@
args = {java.lang.String.class}
)
public void testValueOf() {
- assertEquals(DetailedState.AUTHENTICATING, DetailedState
- .valueOf("AUTHENTICATING"));
- assertEquals(DetailedState.CONNECTED, DetailedState
- .valueOf("CONNECTED"));
- assertEquals(DetailedState.CONNECTING, DetailedState
- .valueOf("CONNECTING"));
- assertEquals(DetailedState.DISCONNECTED, DetailedState
- .valueOf("DISCONNECTED"));
- assertEquals(DetailedState.DISCONNECTING, DetailedState
- .valueOf("DISCONNECTING"));
+ assertEquals(DetailedState.AUTHENTICATING, DetailedState.valueOf("AUTHENTICATING"));
+ assertEquals(DetailedState.CONNECTED, DetailedState.valueOf("CONNECTED"));
+ assertEquals(DetailedState.CONNECTING, DetailedState.valueOf("CONNECTING"));
+ assertEquals(DetailedState.DISCONNECTED, DetailedState.valueOf("DISCONNECTED"));
+ assertEquals(DetailedState.DISCONNECTING, DetailedState.valueOf("DISCONNECTING"));
assertEquals(DetailedState.FAILED, DetailedState.valueOf("FAILED"));
assertEquals(DetailedState.IDLE, DetailedState.valueOf("IDLE"));
- assertEquals(DetailedState.OBTAINING_IPADDR, DetailedState
- .valueOf("OBTAINING_IPADDR"));
+ assertEquals(DetailedState.OBTAINING_IPADDR, DetailedState.valueOf("OBTAINING_IPADDR"));
assertEquals(DetailedState.SCANNING, DetailedState.valueOf("SCANNING"));
- assertEquals(DetailedState.SUSPENDED, DetailedState
- .valueOf("SUSPENDED"));
+ assertEquals(DetailedState.SUSPENDED, DetailedState.valueOf("SUSPENDED"));
}
@TestTargetNew(
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java b/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
index 249df4b..1a51acd 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,21 +16,15 @@
package android.net.cts;
+import android.net.NetworkInfo.State;
import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
-import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
-import android.net.NetworkInfo.State;
+import dalvik.annotation.TestTargetNew;
@TestTargetClass(State.class)
public class NetworkInfo_StateTest extends AndroidTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Test valueOf(String name).",
@@ -62,5 +56,4 @@
assertEquals(State.DISCONNECTED, expected[4]);
assertEquals(State.UNKNOWN, expected[5]);
}
-
}
diff --git a/tests/cts/net/src/android/net/cts/UrlQuerySanitizerTest.java b/tests/cts/net/src/android/net/cts/UrlQuerySanitizerTest.java
index e9ae95c..0dd5db1 100644
--- a/tests/cts/net/src/android/net/cts/UrlQuerySanitizerTest.java
+++ b/tests/cts/net/src/android/net/cts/UrlQuerySanitizerTest.java
@@ -49,189 +49,168 @@
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor(s) of {@link UrlQuerySanitizer}",
method = "UrlQuerySanitizer",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test constructor(s) of {@link UrlQuerySanitizer}",
method = "UrlQuerySanitizer",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: parseUrl",
method = "parseUrl",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: parseQuery",
method = "parseQuery",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: parseEntry",
method = "parseEntry",
args = {String.class, String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getValue",
method = "getValue",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: addSanitizedEntry",
method = "addSanitizedEntry",
args = {String.class, String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: hasParameter",
method = "hasParameter",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getParameterSet",
method = "getParameterSet",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getParameterList",
method = "getParameterList",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: setUnregisteredParameterValueSanitizer",
method = "setUnregisteredParameterValueSanitizer",
args = {ValueSanitizer.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getUnregisteredParameterValueSanitizer",
method = "getUnregisteredParameterValueSanitizer",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAllButNulAndAngleBracketsLegal",
method = "getAllButNulAndAngleBracketsLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAllButNulLegal",
method = "getAllButNulLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAllButWhitespaceLegal",
method = "getAllButWhitespaceLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAllIllegal",
method = "getAllIllegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAmpAndSpaceLegal",
method = "getAmpAndSpaceLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAmpLegal",
method = "getAmpLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getSpaceLegal",
method = "getSpaceLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getUrlAndSpaceLegal",
method = "getUrlAndSpaceLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getUrlLegal",
method = "getUrlLegal",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test mehtod: unescape",
method = "unescape",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test mehtod: isHexDigit",
method = "isHexDigit",
args = {char.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test mehtod: decodeHexDigit",
method = "decodeHexDigit",
args = {char.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: setAllowUnregisteredParamaters",
method = "setAllowUnregisteredParamaters",
args = {boolean.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getAllowUnregisteredParamaters",
method = "getAllowUnregisteredParamaters",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: registerParameter",
method = "registerParameter",
args = {String.class, ValueSanitizer.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: registerParameters",
method = "registerParameters",
args = {String[].class, ValueSanitizer.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getEffectiveValueSanitizer",
method = "getEffectiveValueSanitizer",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: getValueSanitizer",
method = "getValueSanitizer",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
- notes = "Test method: clear",
method = "clear",
args = {}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ method = "setPreferFirstRepeatedParameter",
+ args = {boolean.class}
+ ),
+ @TestTargetNew(
+ level = TestLevel.COMPLETE,
+ method = "getPreferFirstRepeatedParameter",
+ args = {}
)
})
public void testUrlQuerySanitizer() {
@@ -377,6 +356,30 @@
uqs.clear();
assertEquals(0, urlSet.size());
assertEquals(0, urlList.size());
+
+ uqs.setPreferFirstRepeatedParameter(true);
+ assertTrue(uqs.getPreferFirstRepeatedParameter());
+ uqs.setPreferFirstRepeatedParameter(false);
+ assertFalse(uqs.getPreferFirstRepeatedParameter());
+
+ UrlQuerySanitizer uq = new UrlQuerySanitizer();
+ uq.setPreferFirstRepeatedParameter(true);
+ final String PARA_ANSWER = "answer";
+ uq.registerParameter(PARA_ANSWER, new MockValueSanitizer());
+ uq.parseUrl("http://www.google.com/question?answer=13&answer=42");
+ assertEquals("13", uq.getValue(PARA_ANSWER));
+
+ uq.setPreferFirstRepeatedParameter(false);
+ uq.parseQuery("http://www.google.com/question?answer=13&answer=42");
+ assertEquals("42", uq.getValue(PARA_ANSWER));
+
+ }
+
+ private static class MockValueSanitizer implements ValueSanitizer{
+
+ public String sanitize(String value) {
+ return value;
+ }
}
class MockUrlQuerySanitizer extends UrlQuerySanitizer {