/** * Updates the fragment in {@code navigationState} from the component parts of {@code navigationState} * * @see uk.q3c.krail.core.navigate.URIFragmentHandler#updateFragment(uk.q3c.krail.core.navigate.NavigationState) */ @Override public void updateFragment(NavigationState navigationState) { navigationState.setUpdateInProgress(true); navigationState.fragment(fragment(navigationState)); validateSegments(navigationState); navigationState.updated(); }
/** * Updates the fragment in {@code navigationState} from the component parts of {@code navigationState} * * @see uk.q3c.krail.core.navigate.URIFragmentHandler#updateFragment(uk.q3c.krail.core.navigate.NavigationState) */ @Override public void updateFragment(NavigationState navigationState) { navigationState.setUpdateInProgress(true); navigationState.fragment(fragment(navigationState)); validateSegments(navigationState); navigationState.updated(); }
@Test public void hashBang() { // given NavigationState navigationState = uriHandler.navigationState(view_p2); // when uriHandler.setUseBang(true); String fragment = uriHandler.fragment(navigationState); // then assertThat(fragment).isEqualTo("!" + view_p2); // when navigationState = uriHandler.navigationState(subView_p2_bang); fragment = uriHandler.fragment(navigationState); // then assertThat(fragment).isEqualTo(subView_p2_bang); // when missing bang navigationState = uriHandler.navigationState(view_p2m1); fragment = uriHandler.fragment(navigationState); // then assertThat(fragment).isEqualTo("!" + "view1/a=b"); }
@Test public void BangFragmentWhenNotExpected() { // given NavigationState navigationState = uriHandler.navigationState(subView_p2_bang); uriHandler.setUseBang(false); // when String fragment = uriHandler.fragment(navigationState); // then assertThat(fragment).isEqualTo(subView_p2); }
@Test public void removeParameter() { // given NavigationState navigationState = uriHandler.navigationState(view_p2); // when navigationState.removeParameter("a") .update(uriHandler); // then assertThat(uriHandler.fragment(navigationState)).isEqualTo("view1/year=1970"); }
@Test public void setVirtualPage() { // given uriHandler.setUseBang(false); NavigationState navigationState = uriHandler.navigationState(home_p2); // when navigationState.virtualPage("view2") .update(uriHandler); String fragment = uriHandler.fragment(navigationState); // then assertThat(fragment).isEqualTo("view2/a=b/year=1970"); assertThat(navigationState.getVirtualPage()).isEqualTo("view2"); assertThat(navigationState.getParameterList()).containsOnly("a=b", "year=1970"); }
@Test public void setParameter() { // given // when NavigationState navigationState = uriHandler.navigationState(view_p2); // then assertThat(navigationState.isDirty()).isFalse(); // when navigationState.parameter("a", "23"); // update // then assertThat(navigationState.isDirty()).isTrue(); // when navigationState.parameter("id", "111") .update(uriHandler); // new uriHandler.setUseBang(false); // then assertThat(navigationState.getParameterList()).containsExactly("a=23", "year=1970", "id=111"); assertThat(uriHandler.fragment(navigationState)).isEqualTo("view1/a=23/year=1970/id=111"); }