Specific check for parent of spring-aop ClassLoader

Also applied to getProxyClass now.

Closes gh-30389
This commit is contained in:
Juergen Hoeller
2023-06-12 10:48:57 +02:00
parent 3d61d9e0d8
commit 0a5aff1b60
2 changed files with 37 additions and 10 deletions

View File

@@ -389,7 +389,9 @@ public class ProxyFactoryTests {
CharSequence target = "test";
ProxyFactory pf = new ProxyFactory(target);
ClassLoader cl = target.getClass().getClassLoader();
assertThat(((CharSequence) pf.getProxy(cl)).toString()).isEqualTo(target);
CharSequence proxy = (CharSequence) pf.getProxy(cl);
assertThat(proxy.toString()).isEqualTo(target);
assertThat(pf.getProxyClass(cl)).isSameAs(proxy.getClass());
}
@Test
@@ -398,7 +400,9 @@ public class ProxyFactoryTests {
ProxyFactory pf = new ProxyFactory(target);
pf.setProxyTargetClass(true);
ClassLoader cl = target.getClass().getClassLoader();
assertThat(((Date) pf.getProxy(cl)).getTime()).isEqualTo(target.getTime());
Date proxy = (Date) pf.getProxy(cl);
assertThat(proxy.getTime()).isEqualTo(target.getTime());
assertThat(pf.getProxyClass(cl)).isSameAs(proxy.getClass());
}
@Test
@@ -415,7 +419,9 @@ public class ProxyFactoryTests {
};
ProxyFactory pf = new ProxyFactory(target);
ClassLoader cl = Savepoint.class.getClassLoader();
assertThat(((Savepoint) pf.getProxy(cl)).getSavepointName()).isEqualTo("sp");
Savepoint proxy = (Savepoint) pf.getProxy(cl);
assertThat(proxy.getSavepointName()).isEqualTo("sp");
assertThat(pf.getProxyClass(cl)).isSameAs(proxy.getClass());
}