@ -25,6 +25,7 @@ import org.junit.jupiter.api.Test;
@@ -25,6 +25,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.testfixture.beans.TestBean ;
import org.springframework.core.OverridingClassLoader ;
import org.springframework.core.io.DefaultResourceLoader ;
import org.springframework.core.io.UrlResource ;
import static org.assertj.core.api.Assertions.assertThat ;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType ;
@ -152,7 +153,7 @@ public class BeanWrapperTests extends AbstractPropertyAccessorTests {
@@ -152,7 +153,7 @@ public class BeanWrapperTests extends AbstractPropertyAccessorTests {
}
@Test
public void propertyDescriptors ( ) {
public void propertyDescriptors ( ) throws Exception {
TestBean target = new TestBean ( ) ;
target . setSpouse ( new TestBean ( ) ) ;
BeanWrapper accessor = createAccessor ( target ) ;
@ -181,11 +182,29 @@ public class BeanWrapperTests extends AbstractPropertyAccessorTests {
@@ -181,11 +182,29 @@ public class BeanWrapperTests extends AbstractPropertyAccessorTests {
assertThat ( accessor . isReadableProperty ( "class.package" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.module" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.classLoader" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.name" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "class.simpleName" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "classLoader" ) ) . isTrue ( ) ;
assertThat ( accessor . isWritableProperty ( "classLoader" ) ) . isTrue ( ) ;
OverridingClassLoader ocl = new OverridingClassLoader ( getClass ( ) . getClassLoader ( ) ) ;
accessor . setPropertyValue ( "classLoader" , ocl ) ;
assertThat ( accessor . getPropertyValue ( "classLoader" ) ) . isSameAs ( ocl ) ;
accessor = createAccessor ( new UrlResource ( "https://spring.io" ) ) ;
assertThat ( accessor . isReadableProperty ( "class.package" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.module" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.classLoader" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "class.name" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "class.simpleName" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "URL.protocol" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "URL.host" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "URL.port" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "URL.file" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "URL.content" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "inputStream" ) ) . isFalse ( ) ;
assertThat ( accessor . isReadableProperty ( "filename" ) ) . isTrue ( ) ;
assertThat ( accessor . isReadableProperty ( "description" ) ) . isTrue ( ) ;
}
@Test