Merge branch '6.0.x'
This commit is contained in:
@@ -39,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* Unit tests for {@link ReactiveAdapterRegistry}.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Juergen Hoeller
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
class ReactiveAdapterRegistryTests {
|
||||
@@ -54,14 +55,40 @@ class ReactiveAdapterRegistryTests {
|
||||
ReactiveAdapter adapter2 = getAdapter(ExtendedFlux.class);
|
||||
assertThat(adapter2).isSameAs(adapter1);
|
||||
|
||||
// Register regular reactive type (after existing adapters)
|
||||
this.registry.registerReactiveType(
|
||||
ReactiveTypeDescriptor.multiValue(ExtendedFlux.class, ExtendedFlux::empty),
|
||||
o -> (ExtendedFlux<?>) o,
|
||||
ExtendedFlux::from);
|
||||
|
||||
// Matches for ExtendedFlux itself
|
||||
ReactiveAdapter adapter3 = getAdapter(ExtendedFlux.class);
|
||||
assertThat(adapter3).isNotNull();
|
||||
assertThat(adapter3).isNotSameAs(adapter1);
|
||||
|
||||
// Does not match for ExtendedFlux subclass since the default Flux adapter
|
||||
// is being assignability-checked first when no specific match was found
|
||||
ReactiveAdapter adapter4 = getAdapter(ExtendedExtendedFlux.class);
|
||||
assertThat(adapter4).isSameAs(adapter1);
|
||||
|
||||
// Register reactive type override (before existing adapters)
|
||||
this.registry.registerReactiveTypeOverride(
|
||||
ReactiveTypeDescriptor.multiValue(Flux.class, ExtendedFlux::empty),
|
||||
o -> (ExtendedFlux<?>) o,
|
||||
ExtendedFlux::from);
|
||||
|
||||
// Override match for Flux
|
||||
ReactiveAdapter adapter5 = getAdapter(Flux.class);
|
||||
assertThat(adapter5).isNotNull();
|
||||
assertThat(adapter5).isNotSameAs(adapter1);
|
||||
|
||||
// Initially registered adapter specifically matches for ExtendedFlux
|
||||
ReactiveAdapter adapter6 = getAdapter(ExtendedFlux.class);
|
||||
assertThat(adapter6).isSameAs(adapter3);
|
||||
|
||||
// Override match for ExtendedFlux subclass
|
||||
ReactiveAdapter adapter7 = getAdapter(ExtendedExtendedFlux.class);
|
||||
assertThat(adapter7).isSameAs(adapter5);
|
||||
}
|
||||
|
||||
|
||||
@@ -81,6 +108,10 @@ class ReactiveAdapterRegistryTests {
|
||||
}
|
||||
|
||||
|
||||
private static class ExtendedExtendedFlux<T> extends ExtendedFlux<T> {
|
||||
}
|
||||
|
||||
|
||||
@Nested
|
||||
class Reactor {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user