summaryrefslogtreecommitdiffstats
path: root/luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java')
-rw-r--r--luni/src/test/java/org/apache/harmony/security/tests/java/security/Signature2Test.java10
1 files changed, 10 insertions, 0 deletions
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 7886e3e..ad084e1 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
@@ -68,7 +68,17 @@ public class Signature2Test extends junit.framework.TestCase {
* 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");
+ Signature clone = (Signature) s.clone();
+ assertNotNull(clone);
+ assertEquals(s.getAlgorithm(), clone.getAlgorithm());
+ assertEquals(s.getProvider(), clone.getProvider());
+
+ KeyPair keyPair = getDsaKeys();
+ s.initSign(keyPair.getPrivate());
try {
s.clone();
fail();