Merge "Fix Signature2Test."
diff --git a/luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java b/luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java
index 22e6795..a06cef6 100644
--- a/luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java
+++ b/luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java
@@ -37,7 +37,6 @@
import java.security.spec.DSAParameterSpec;
import java.util.HashSet;
import java.util.Set;
-import libcore.java.security.StandardNames;
public class Signature2Test extends junit.framework.TestCase {
@@ -68,17 +67,15 @@
* java.security.Signature#clone()
*/
public void test_clone() throws Exception {
- // A Signature may be cloneable according to the API, in practice the implementation isn't
- // once it has been initialized. Checking for runtime exceptions rather than useful
- // behavior.
- Signature s = Signature.getInstance("DSA");
+ // First test with a mocked instance which is cloneable..
+ Signature s = Signature.getInstance("DSA", new MySignatureProvider());
Signature clone = (Signature) s.clone();
assertNotNull(clone);
assertEquals(s.getAlgorithm(), clone.getAlgorithm());
assertEquals(s.getProvider(), clone.getProvider());
- KeyPair keyPair = getDsaKeys();
- s.initSign(keyPair.getPrivate());
+ // And then with an instance that isn't..
+ s = Signature.getInstance("DSA");
try {
s.clone();
fail();
@@ -491,7 +488,15 @@
}
}
- class MyProvider extends Provider {
+ class MySignatureProvider extends Provider {
+ public MySignatureProvider() {
+ super("MySignatureProvider", 1.0, "Provider for testing");
+ put("Signature.DSA", MySignature.class.getName());
+ }
+ }
+
+
+ public static class MyProvider extends Provider {
private Set<Provider.Service> services = null;
MyProvider() {
@@ -531,7 +536,11 @@
}
@SuppressWarnings("unused")
- private class MySignature extends Signature {
+ public static class MySignature extends Signature implements Cloneable {
+
+ public MySignature() {
+ super("DSA");
+ }
protected MySignature(String algorithm) {
super(algorithm);
@@ -590,6 +599,5 @@
return null;
}
}
-
}
}