Updated Branches: refs/heads/master 7a21d813f -> c333ac07b
expected results where one 'X' short; corrected implementation of variations iteration, so it complies with Iterator interface Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c333ac07 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c333ac07 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c333ac07 Branch: refs/heads/master Commit: c333ac07b449f3518c7d2c7b0c627e90709e5378 Parents: 7a21d81 Author: svenmeier <[email protected]> Authored: Thu Jan 23 11:37:58 2014 +0100 Committer: svenmeier <[email protected]> Committed: Thu Jan 23 11:37:58 2014 +0100 ---------------------------------------------------------------------- .../handler/render/AbstractVariations.java | 4 +- .../render/ShouldRedirectToTargetUrl.java | 14 +++--- ...uldRenderPageAndWriteResponseVariations.java | 16 +++---- .../request/handler/render/TestVariations.java | 20 ++++---- .../handler/render/VariationIterator.java | 48 ++++++++++++-------- .../handler/render/WebPageRendererTest.java | 8 ++-- 6 files changed, 61 insertions(+), 49 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/AbstractVariations.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/AbstractVariations.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/AbstractVariations.java index 1ccbb27..af97e14 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/AbstractVariations.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/AbstractVariations.java @@ -29,12 +29,12 @@ public abstract class AbstractVariations public void nextVariation() { - last().nextVariation(); + last().next(); } protected void toString(StringBuilder sb, String label, VariationIterator<?> iterator) { - sb.append(label).append('=').append(iterator.next()).append(','); + sb.append(label).append('=').append(iterator.current()).append(','); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRedirectToTargetUrl.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRedirectToTargetUrl.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRedirectToTargetUrl.java index 6eca038..d8b2daf 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRedirectToTargetUrl.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRedirectToTargetUrl.java @@ -56,15 +56,15 @@ public class ShouldRedirectToTargetUrl extends AbstractVariations public boolean getResult() { TestPageRenderer renderer = new TestPageRenderer(null); - renderer.ajax = ajax.next(); - renderer.redirectPolicy = redirectPolicy.next(); - renderer.redirectToRender = redirectToRender.next(); - renderer.newPageInstance = newPageInstance.next(); - renderer.pageStateless = pageStateless.next(); - renderer.sessionTemporary = sessionTemporary.next(); + renderer.ajax = ajax.current(); + renderer.redirectPolicy = redirectPolicy.current(); + renderer.redirectToRender = redirectToRender.current(); + renderer.newPageInstance = newPageInstance.current(); + renderer.pageStateless = pageStateless.current(); + renderer.sessionTemporary = sessionTemporary.current(); return renderer.shouldRedirectToTargetUrl(null, Url.parse("test1"), - targetEqualsCurrentUrl.next() ? Url.parse("test1") : Url.parse("test2")); + targetEqualsCurrentUrl.current() ? Url.parse("test1") : Url.parse("test2")); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRenderPageAndWriteResponseVariations.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRenderPageAndWriteResponseVariations.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRenderPageAndWriteResponseVariations.java index 2a7c431..939ad5a 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRenderPageAndWriteResponseVariations.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/ShouldRenderPageAndWriteResponseVariations.java @@ -41,16 +41,16 @@ public class ShouldRenderPageAndWriteResponseVariations extends AbstractVariatio public boolean getResult() { TestPageRenderer renderer = new TestPageRenderer(null); - renderer.ajax = ajax.next(); - renderer.onePassRender = onePassRender.next(); - renderer.redirectToRender = redirectToRender.next(); - renderer.redirectPolicy = redirectPolicy.next(); - renderer.shouldPreserveClientUrl = shouldPreserveClientUrl.next(); - renderer.newPageInstance = newPageInstance.next(); - renderer.pageStateless = pageStateless.next(); + renderer.ajax = ajax.current(); + renderer.onePassRender = onePassRender.current(); + renderer.redirectToRender = redirectToRender.current(); + renderer.redirectPolicy = redirectPolicy.current(); + renderer.shouldPreserveClientUrl = shouldPreserveClientUrl.current(); + renderer.newPageInstance = newPageInstance.current(); + renderer.pageStateless = pageStateless.current(); return renderer.shouldRenderPageAndWriteResponse(null, Url.parse("test"), - targetEqualsCurrentUrl.next() ? Url.parse("test") : Url.parse("test2")); + targetEqualsCurrentUrl.current() ? Url.parse("test") : Url.parse("test2")); } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/TestVariations.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/TestVariations.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/TestVariations.java index 87a0bc2..8a47659 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/TestVariations.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/TestVariations.java @@ -26,13 +26,15 @@ public class TestVariations { VariationIterator<Boolean> single = VariationIterator.of(Variation.ofBoolean()); Assert.assertTrue(single.hasNext()); - single.nextVariation(); + single.next(); + Assert.assertTrue(single.hasNext()); + single.next(); Assert.assertFalse(single.hasNext()); Exception ex = null; try { - single.nextVariation(); + single.next(); } catch (Exception e) { @@ -49,21 +51,23 @@ public class TestVariations VariationIterator<?> last=flag; Assert.assertTrue(last.hasNext()); - last.nextVariation(); + last.next(); + Assert.assertTrue(last.hasNext()); + last.next(); Assert.assertTrue(last.hasNext()); - last.nextVariation(); + last.next(); Assert.assertTrue(last.hasNext()); - last.nextVariation(); + last.next(); Assert.assertTrue(last.hasNext()); - last.nextVariation(); + last.next(); Assert.assertTrue(last.hasNext()); - last.nextVariation(); + last.next(); Assert.assertFalse(last.hasNext()); Exception ex = null; try { - last.nextVariation(); + last.next(); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/VariationIterator.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/VariationIterator.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/VariationIterator.java index 741d3d2..1f34ef8 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/VariationIterator.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/VariationIterator.java @@ -25,7 +25,7 @@ public class VariationIterator<T> implements Iterator<T> private final Variation<T> variation; - private int idx = 0; + private int idx = -1; public VariationIterator(Variation<T> variation) { this(null, variation); @@ -48,6 +48,32 @@ public class VariationIterator<T> implements Iterator<T> @Override public T next() { + if (thisHasNextVariation()) + { + idx++; + } + else + { + if (prevHasNextVariation()) + { + idx = 0; + } + else + { + throw new NoSuchElementException("no variation left, but next called"); + } + } + + if (idx == 0 && prev != null) + { + prev.next(); + } + + return current(); + } + + public T current() + { return variation.values().get(idx); } @@ -64,25 +90,7 @@ public class VariationIterator<T> implements Iterator<T> private boolean thisHasNextVariation() { - return variation.values().size() > idx + 1; - } - - public void nextVariation() { - if (thisHasNextVariation()) - { - idx++; - } else - { - if (prevHasNextVariation()) - { - idx=0; - prev.nextVariation(); - } - else - { - throw new NoSuchElementException("no variation left, but next called"); - } - } + return idx < variation.values().size() - 1; } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/c333ac07/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java index 502de36..3da8089 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java @@ -717,7 +717,7 @@ public class WebPageRendererTest " XXXXXXXX" + " XXXXXXXXXXXX" + " XXXXXXXX" + - " XXXXXXXXXXX"; + " XXXXXXXXXXXX"; checkVariations(match,new ShouldRenderPageAndWriteResponseVariations()); } @@ -743,7 +743,7 @@ public class WebPageRendererTest " XXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXX" + " XXXXXXXXXXXXX" + - "XXXXXXXXXXXXXXX"; + "XXXXXXXXXXXXXXXX"; checkVariations(match,new ShouldRedirectToTargetUrl()); } @@ -831,7 +831,7 @@ public class WebPageRendererTest } private int countVariations(AbstractVariations variations) { - int count=1; + int count = 0; while (variations.hasNextVariation()) { count++; variations.nextVariation(); @@ -842,8 +842,8 @@ public class WebPageRendererTest private void checkVariations(String match, AbstractVariations variations) { int idx=0; while (variations.hasNextVariation()) { - Assert.assertEquals(variations.toString(), match.charAt(idx) == 'X', variations.getResult()); variations.nextVariation(); + Assert.assertEquals(variations.toString(), match.charAt(idx) == 'X', variations.getResult()); idx++; } }
