aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/javassist/JvstTest5.java
diff options
context:
space:
mode:
authorchibash <chiba@javassist.org>2018-09-02 22:56:45 +0900
committerchibash <chiba@javassist.org>2018-09-02 22:56:45 +0900
commitc52b9c7100412288eecf2ed098c63a0ba1643000 (patch)
tree0fa3a3e32fb327059f269bd6d6271957bcf70142 /src/test/javassist/JvstTest5.java
parent808dfb862f2967534e9250060b895eb0c8762cb9 (diff)
downloadjavassist-c52b9c7100412288eecf2ed098c63a0ba1643000.tar.gz
javassist-c52b9c7100412288eecf2ed098c63a0ba1643000.zip
modifies NestHostAttribute and NestMembersAttribute and adds test code
Diffstat (limited to 'src/test/javassist/JvstTest5.java')
-rw-r--r--src/test/javassist/JvstTest5.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/javassist/JvstTest5.java b/src/test/javassist/JvstTest5.java
index 6f6eb075..b0cbbcca 100644
--- a/src/test/javassist/JvstTest5.java
+++ b/src/test/javassist/JvstTest5.java
@@ -9,6 +9,8 @@ import javassist.bytecode.AttributeInfo;
import javassist.bytecode.ClassFile;
import javassist.bytecode.ConstPool;
import javassist.bytecode.InnerClassesAttribute;
+import javassist.bytecode.NestHostAttribute;
+import javassist.bytecode.NestMembersAttribute;
import javassist.expr.ExprEditor;
import javassist.expr.Handler;
import javassist.expr.MethodCall;
@@ -416,4 +418,26 @@ public class JvstTest5 extends JvstTestRoot {
Object obj = make(cc.getName());
assertEquals(1, invoke(obj, "test"));
}
+
+ public void testNestHostAttribute() throws Exception {
+ CtClass cc = sloader.get("test5.NestHost$Foo");
+ ClassFile cf = cc.getClassFile();
+ NestHostAttribute attr = (NestHostAttribute)cf.getAttribute(NestHostAttribute.tag);
+ assertEquals(test5.NestHost.class.getName(),
+ cf.getConstPool().getClassInfo(attr.hostClassIndex()));
+ }
+
+ public void testNestMembersAttribute() throws Exception {
+ CtClass cc = sloader.get("test5.NestHost");
+ ClassFile cf = cc.getClassFile();
+ NestMembersAttribute attr = (NestMembersAttribute)cf.getAttribute(NestMembersAttribute.tag);
+ assertEquals(2, attr.numberOfClasses());
+ String[] names = new String[2];
+ for (int i = 0; i < 2; i++)
+ names[i] = cf.getConstPool().getClassInfo(attr.memberClass(i));
+
+ assertFalse(names[0].equals(names[1]));
+ assertTrue(names[0].equals("test5.NestHost$Foo") || names[0].equals("test5.NestHost$Bar"));
+ assertTrue(names[1].equals("test5.NestHost$Foo") || names[1].equals("test5.NestHost$Bar"));
+ }
}