Browse Source

Polishing

pull/33720/head
Sam Brannen 1 year ago
parent
commit
4e1756d738
  1. 4
      spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java
  2. 19
      spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java

4
spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java

@ -84,8 +84,8 @@ class DefaultRenderingBuilder implements Rendering.RedirectBuilder {
@Override @Override
public DefaultRenderingBuilder status(HttpStatusCode status) { public DefaultRenderingBuilder status(HttpStatusCode status) {
if (this.view instanceof RedirectView) { if (this.view instanceof RedirectView redirectView) {
((RedirectView) this.view).setStatusCode(status); redirectView.setStatusCode(status);
} }
else { else {
this.status = status; this.status = status;

19
spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java

@ -49,16 +49,17 @@ class DefaultRenderingBuilderTests {
Rendering rendering = Rendering.redirectTo("abc").build(); Rendering rendering = Rendering.redirectTo("abc").build();
Object view = rendering.view(); Object view = rendering.view();
assertThat(view.getClass()).isEqualTo(RedirectView.class); assertThat(view).isExactlyInstanceOf(RedirectView.class);
assertThat(((RedirectView) view).getUrl()).isEqualTo("abc"); RedirectView redirectView = (RedirectView) view;
assertThat(((RedirectView) view).isContextRelative()).isTrue(); assertThat(redirectView.getUrl()).isEqualTo("abc");
assertThat(((RedirectView) view).isPropagateQuery()).isFalse(); assertThat(redirectView.isContextRelative()).isTrue();
assertThat(redirectView.isPropagateQuery()).isFalse();
} }
@Test @Test
void viewName() { void viewName() {
Rendering rendering = Rendering.view("foo").build(); Rendering rendering = Rendering.view("foo").build();
assertThat(rendering.view()).isEqualTo("foo"); assertThat(rendering.view()).isEqualTo("foo");
} }
@ -114,7 +115,7 @@ class DefaultRenderingBuilderTests {
Rendering rendering = Rendering.redirectTo("foo").contextRelative(false).build(); Rendering rendering = Rendering.redirectTo("foo").contextRelative(false).build();
Object view = rendering.view(); Object view = rendering.view();
assertThat(view.getClass()).isEqualTo(RedirectView.class); assertThat(view).isExactlyInstanceOf(RedirectView.class);
assertThat(((RedirectView) view).isContextRelative()).isFalse(); assertThat(((RedirectView) view).isContextRelative()).isFalse();
} }
@ -123,17 +124,17 @@ class DefaultRenderingBuilderTests {
Rendering rendering = Rendering.redirectTo("foo").propagateQuery(true).build(); Rendering rendering = Rendering.redirectTo("foo").propagateQuery(true).build();
Object view = rendering.view(); Object view = rendering.view();
assertThat(view.getClass()).isEqualTo(RedirectView.class); assertThat(view).isExactlyInstanceOf(RedirectView.class);
assertThat(((RedirectView) view).isPropagateQuery()).isTrue(); assertThat(((RedirectView) view).isPropagateQuery()).isTrue();
} }
@Test // gh-33498 @Test // gh-33498
void redirectWithCustomStatus() { void redirectWithCustomStatus() {
HttpStatus status = HttpStatus.MOVED_PERMANENTLY; HttpStatus status = HttpStatus.MOVED_PERMANENTLY;
Rendering rendering = Rendering.redirectTo("foo").status(status).build(); Rendering rendering = Rendering.redirectTo("foo").status(status).build();
Object view = rendering.view(); Object view = rendering.view();
assertThat(view.getClass()).isEqualTo(RedirectView.class); assertThat(view).isExactlyInstanceOf(RedirectView.class);
assertThat(((RedirectView) view).getStatusCode()).isEqualTo(status); assertThat(((RedirectView) view).getStatusCode()).isEqualTo(status);
} }

Loading…
Cancel
Save