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++;
                }
        }

Reply via email to