You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2017/03/22 10:11:53 UTC

svn commit: r1788079 [2/2] - in /myfaces/tobago/branches/TOBAGO-1719: ./ tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ tobago-example/tobago-example-demo/src/main/resources/org/apache/myfaces/tobago/example/de...

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-event.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-event.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-event.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-event.test.js Wed Mar 22 10:11:52 2017
@@ -15,24 +15,24 @@
  * limitations under the License.
  */
 
-QUnit.test("On click with ajax", function(assert) {
+QUnit.test("On click with ajax", function (assert) {
   assert.expect(6);
   var done = assert.async(4);
 
-  $oneClickAjax = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:0");
-  $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample0");
-  $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample0");
-  $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample0");
-  $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
+  var $oneClickAjax = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:0");
+  var $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample0");
+  var $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample0");
+  var $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample0");
+  var $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
 
   $oneClickAjax.click();
 
-  waitForAjax(function() {
+  waitForAjax(function () {
     $venus = jQueryFrame($venus.selector);
     $jupiter = jQueryFrame($jupiter.selector);
     $saturn = jQueryFrame($saturn.selector);
     return $venus.length == 1 && $jupiter.length == 1 && $saturn.length == 1;
-  }, function() {
+  }, function () {
     $venus = jQueryFrame($venus.selector);
     $jupiter = jQueryFrame($jupiter.selector);
     $saturn = jQueryFrame($saturn.selector);
@@ -43,30 +43,30 @@ QUnit.test("On click with ajax", functio
 
     $venus.click();
 
-    waitForAjax(function() {
+    waitForAjax(function () {
       $namefield = jQueryFrame($namefield.selector);
       return $namefield.val() == "Venus";
-    }, function() {
+    }, function () {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Venus");
       done();
 
       $jupiter.click();
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $namefield = jQueryFrame($namefield.selector);
         return $namefield.val() == "Jupiter";
-      }, function() {
+      }, function () {
         $namefield = jQueryFrame($namefield.selector);
         assert.equal($namefield.val(), "Jupiter");
         done();
 
         $saturn.click();
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $namefield = jQueryFrame($namefield.selector);
           return $namefield.val() == "Saturn";
-        }, function() {
+        }, function () {
           $namefield = jQueryFrame($namefield.selector);
           assert.equal($namefield.val(), "Saturn");
           done();
@@ -76,25 +76,25 @@ QUnit.test("On click with ajax", functio
   });
 });
 
-QUnit.test("On click with full request", function(assert) {
+QUnit.test("On click with full request", function (assert) {
   assert.expect(6);
   var done = assert.async(4);
   var step = 1;
 
-  $oneClickFullRequest = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:1");
-  $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample1");
-  $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample1");
-  $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample1");
-  $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
+  var $oneClickFullRequest = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:1");
+  var $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample1");
+  var $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample1");
+  var $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample1");
+  var $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
 
   $oneClickFullRequest.click();
 
-  waitForAjax(function() {
+  waitForAjax(function () {
     $venus = jQueryFrame($venus.selector);
     $jupiter = jQueryFrame($jupiter.selector);
     $saturn = jQueryFrame($saturn.selector);
     return $venus.length == 1 && $jupiter.length == 1 && $saturn.length == 1;
-  }, function() {
+  }, function () {
     if (step == 1) {
       $venus = jQueryFrame($venus.selector);
       $jupiter = jQueryFrame($jupiter.selector);
@@ -110,48 +110,54 @@ QUnit.test("On click with full request",
     step++;
   });
 
-  jQuery("#page\\:testframe").load(function() {
+  jQuery("#page\\:testframe").load(function () {
     if (step == 2) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Venus");
 
       $jupiter = jQueryFrame($jupiter.selector);
       $jupiter.click();
+
+      step++;
+      done();
     } else if (step == 3) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Jupiter");
 
       $saturn = jQueryFrame($saturn.selector);
       $saturn.click();
+
+      step++;
+      done();
     } else if (step == 4) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Saturn");
-    }
 
-    step++;
-    done();
+      step++;
+      done();
+    }
   });
 });
 
-QUnit.test("On double click with full request", function(assert) {
+QUnit.test("On double click with full request", function (assert) {
   assert.expect(6);
   var done = assert.async(4);
   var step = 1;
 
-  $doubleClickFullRequest = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:2");
-  $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample2");
-  $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample2");
-  $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample2");
-  $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
+  var $doubleClickFullRequest = jQueryFrame("#page\\:mainForm\\:changeExample\\:\\:2");
+  var $venus = jQueryFrame("#page\\:mainForm\\:s1\\:2\\:sample2");
+  var $jupiter = jQueryFrame("#page\\:mainForm\\:s1\\:5\\:sample2");
+  var $saturn = jQueryFrame("#page\\:mainForm\\:s1\\:6\\:sample2");
+  var $namefield = jQueryFrame("#page\\:mainForm\\:name\\:\\:field");
 
   $doubleClickFullRequest.click();
 
-  waitForAjax(function() {
+  waitForAjax(function () {
     $venus = jQueryFrame($venus.selector);
     $jupiter = jQueryFrame($jupiter.selector);
     $saturn = jQueryFrame($saturn.selector);
     return $venus.length == 1 && $jupiter.length == 1 && $saturn.length == 1;
-  }, function() {
+  }, function () {
     if (step == 1) {
       $venus = jQueryFrame($venus.selector);
       $jupiter = jQueryFrame($jupiter.selector);
@@ -167,25 +173,31 @@ QUnit.test("On double click with full re
     step++;
   });
 
-  jQuery("#page\\:testframe").load(function() {
+  jQuery("#page\\:testframe").load(function () {
     if (step == 2) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Venus");
 
       $jupiter = jQueryFrame($jupiter.selector);
       $jupiter.dblclick();
+
+      step++;
+      done();
     } else if (step == 3) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Jupiter");
 
       $saturn = jQueryFrame($saturn.selector);
       $saturn.dblclick();
+
+      step++;
+      done();
     } else if (step == 4) {
       $namefield = jQueryFrame($namefield.selector);
       assert.equal($namefield.val(), "Saturn");
-    }
 
-    step++;
-    done();
+      step++;
+      done();
+    }
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/01-select/tree-select.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/01-select/tree-select.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/01-select/tree-select.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/090-tree/01-select/tree-select.test.js Wed Mar 22 10:11:52 2017
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-QUnit.test("single: select Music, select Mathematics", function(assert) {
+QUnit.test("single: select Music, select Mathematics", function (assert) {
   assert.expect(4);
   var done = assert.async(4);
+  var step = 1;
   var $music = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:3\\:select");
   var $mathematics = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:9\\:select");
   var $output = jQueryFrame("#page\\:mainForm\\:selectedNodesOutput span");
@@ -26,51 +27,57 @@ QUnit.test("single: select Music, select
 
   $selectableNone.prop("checked", true).trigger("change");
 
-  waitForAjax(function() {
-    return jQueryFrame(".tobago-treeSelect input").length == 0;
-  }, function() {
+  waitForAjax(function () {
+    return step == 1 && jQueryFrame(".tobago-treeSelect input").length == 0;
+  }, function () {
     assert.equal(jQueryFrame(".tobago-treeSelect input").length, 0);
 
     $selectableSingle = jQueryFrame($selectableSingle.selector);
     $selectableSingle.prop("checked", true).trigger("change");
 
-    waitForAjax(function() {
-      return jQueryFrame(".tobago-treeSelect input").length > 0;
-    }, function() {
+    waitForAjax(function () {
+      return step == 2 && jQueryFrame(".tobago-treeSelect input").length > 0;
+    }, function () {
       assert.notEqual(jQueryFrame(".tobago-treeSelect input").length, 0);
 
       $music = jQueryFrame($music.selector);
       $music.prop("checked", true).trigger("change");
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $output = jQueryFrame($output.selector);
-        return $output.text() == "Music"
-      }, function() {
+        return step == 3 && $output.text() == "Music"
+      }, function () {
         $output = jQueryFrame($output.selector);
         assert.equal($output.text(), "Music");
 
         $mathematics = jQueryFrame($mathematics.selector);
         $mathematics.prop("checked", true).trigger("change");
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $output = jQueryFrame($output.selector);
-          return $output.text() == "Mathematics"
-        }, function() {
+          return step == 4 && $output.text() == "Mathematics"
+        }, function () {
           $output = jQueryFrame($output.selector);
           assert.equal($output.text(), "Mathematics");
+
+          step++;
           done();
         });
+        step++;
         done();
       });
+      step++;
       done();
     });
+    step++;
     done();
   });
 });
 
-QUnit.test("singleLeafOnly: select Classic, select Mathematics", function(assert) {
+QUnit.test("singleLeafOnly: select Classic, select Mathematics", function (assert) {
   assert.expect(4);
   var done = assert.async(4);
+  var step = 1;
   var $classic = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:4\\:select");
   var $mathematics = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:9\\:select");
   var $output = jQueryFrame("#page\\:mainForm\\:selectedNodesOutput span");
@@ -79,51 +86,57 @@ QUnit.test("singleLeafOnly: select Class
 
   $selectableNone.prop("checked", true).trigger("change");
 
-  waitForAjax(function() {
-    return jQueryFrame(".tobago-treeSelect input").length == 0;
-  }, function() {
+  waitForAjax(function () {
+    return step == 1 && jQueryFrame(".tobago-treeSelect input").length == 0;
+  }, function () {
     assert.equal(jQueryFrame(".tobago-treeSelect input").length, 0);
 
     $selectableSingleLeafOnly = jQueryFrame($selectableSingleLeafOnly.selector);
     $selectableSingleLeafOnly.prop("checked", true).trigger("change");
 
-    waitForAjax(function() {
-      return jQueryFrame(".tobago-treeSelect input").length > 0;
-    }, function() {
+    waitForAjax(function () {
+      return step == 2 && jQueryFrame(".tobago-treeSelect input").length > 0;
+    }, function () {
       assert.notEqual(jQueryFrame(".tobago-treeSelect input").length, 0);
 
       $classic = jQueryFrame($classic.selector);
       $classic.prop("checked", true).trigger("change");
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $output = jQueryFrame($output.selector);
-        return $output.text() == "Classic"
-      }, function() {
+        return step == 3 && $output.text() == "Classic"
+      }, function () {
         $output = jQueryFrame($output.selector);
         assert.equal($output.text(), "Classic");
 
         $mathematics = jQueryFrame($mathematics.selector);
         $mathematics.prop("checked", true).trigger("change");
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $output = jQueryFrame($output.selector);
-          return $output.text() == "Mathematics"
-        }, function() {
+          return step == 4 && $output.text() == "Mathematics"
+        }, function () {
           $output = jQueryFrame($output.selector);
           assert.equal($output.text(), "Mathematics");
+
+          step++;
           done();
         });
+        step++;
         done();
       });
+      step++;
       done();
     });
+    step++;
     done();
   });
 });
 
-QUnit.test("multi: select Music, select Mathematics, deselect Music", function(assert) {
-  assert.expect(4);
-  var done = assert.async(4);
+QUnit.test("multi: select Music, select Mathematics, deselect Music", function (assert) {
+  assert.expect(5);
+  var done = assert.async(5);
+  var step = 1;
   var $music = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:3\\:select");
   var $mathematics = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:9\\:select");
   var $output = jQueryFrame("#page\\:mainForm\\:selectedNodesOutput span");
@@ -132,63 +145,70 @@ QUnit.test("multi: select Music, select
 
   $selectableNone.prop("checked", true).trigger("change");
 
-  waitForAjax(function() {
-    return jQueryFrame(".tobago-treeSelect input").length == 0;
-  }, function() {
+  waitForAjax(function () {
+    return step == 1 && jQueryFrame(".tobago-treeSelect input").length == 0;
+  }, function () {
     assert.equal(jQueryFrame(".tobago-treeSelect input").length, 0);
 
     $selectableMulti = jQueryFrame($selectableMulti.selector);
     $selectableMulti.prop("checked", true).trigger("change");
 
-    waitForAjax(function() {
-      return jQueryFrame(".tobago-treeSelect input").length > 0;
-    }, function() {
+    waitForAjax(function () {
+      return step == 2 && jQueryFrame(".tobago-treeSelect input").length > 0;
+    }, function () {
       assert.notEqual(jQueryFrame(".tobago-treeSelect input").length, 0);
 
       $music = jQueryFrame($music.selector);
       $music.prop("checked", true).trigger("change");
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $output = jQueryFrame($output.selector);
-        return $output.text() == "Music"
-      }, function() {
+        return step == 3 && $output.text() == "Music"
+      }, function () {
         $output = jQueryFrame($output.selector);
         assert.equal($output.text(), "Music");
 
         $mathematics = jQueryFrame($mathematics.selector);
         $mathematics.prop("checked", true).trigger("change");
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $output = jQueryFrame($output.selector);
-          return $output.text() == "Music, Mathematics"
-        }, function() {
+          return step == 4 && $output.text() == "Music, Mathematics"
+        }, function () {
           $output = jQueryFrame($output.selector);
           assert.equal($output.text(), "Music, Mathematics");
 
           $music = jQueryFrame($music.selector);
           $music.prop("checked", false).trigger("change");
 
-          waitForAjax(function() {
+          waitForAjax(function () {
             $output = jQueryFrame($output.selector);
-            return $output.text() == "Mathematics"
-          }, function() {
+            return step == 5 && $output.text() == "Mathematics"
+          }, function () {
             $output = jQueryFrame($output.selector);
             assert.equal($output.text(), "Mathematics");
+
+            step++;
             done();
           });
+          step++;
           done();
         });
+        step++;
         done();
       });
+      step++;
       done();
     });
+    step++;
     done();
   });
 });
 
-QUnit.test("multiLeafOnly: select Classic, select Mathematics, deselect Classic", function(assert) {
-  assert.expect(4);
-  var done = assert.async(4);
+QUnit.test("multiLeafOnly: select Classic, select Mathematics, deselect Classic", function (assert) {
+  assert.expect(5);
+  var done = assert.async(5);
+  var step = 1;
   var $classic = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:4\\:select");
   var $mathematics = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:9\\:select");
   var $output = jQueryFrame("#page\\:mainForm\\:selectedNodesOutput span");
@@ -197,63 +217,70 @@ QUnit.test("multiLeafOnly: select Classi
 
   $selectableNone.prop("checked", true).trigger("change");
 
-  waitForAjax(function() {
-    return jQueryFrame(".tobago-treeSelect input").length == 0;
-  }, function() {
+  waitForAjax(function () {
+    return step == 1 && jQueryFrame(".tobago-treeSelect input").length == 0;
+  }, function () {
     assert.equal(jQueryFrame(".tobago-treeSelect input").length, 0);
 
     $selectableMultiLeafOnly = jQueryFrame($selectableMultiLeafOnly.selector);
     $selectableMultiLeafOnly.prop("checked", true).trigger("change");
 
-    waitForAjax(function() {
-      return jQueryFrame(".tobago-treeSelect input").length > 0;
-    }, function() {
+    waitForAjax(function () {
+      return step == 2 && jQueryFrame(".tobago-treeSelect input").length > 0;
+    }, function () {
       assert.notEqual(jQueryFrame(".tobago-treeSelect input").length, 0);
 
       $classic = jQueryFrame($classic.selector);
       $classic.prop("checked", true).trigger("change");
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $output = jQueryFrame($output.selector);
-        return $output.text() == "Classic"
-      }, function() {
+        return step == 3 && $output.text() == "Classic"
+      }, function () {
         $output = jQueryFrame($output.selector);
         assert.equal($output.text(), "Classic");
 
         $mathematics = jQueryFrame($mathematics.selector);
         $mathematics.prop("checked", true).trigger("change");
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $output = jQueryFrame($output.selector);
-          return $output.text() == "Classic, Mathematics"
-        }, function() {
+          return step == 4 && $output.text() == "Classic, Mathematics"
+        }, function () {
           $output = jQueryFrame($output.selector);
           assert.equal($output.text(), "Classic, Mathematics");
 
           $classic = jQueryFrame($classic.selector);
           $classic.prop("checked", false).trigger("change");
 
-          waitForAjax(function() {
+          waitForAjax(function () {
             $output = jQueryFrame($output.selector);
-            return $output.text() == "Mathematics"
-          }, function() {
+            return step == 5 && $output.text() == "Mathematics"
+          }, function () {
             $output = jQueryFrame($output.selector);
             assert.equal($output.text(), "Mathematics");
+
+            step++;
             done();
           });
+          step++;
           done();
         });
+        step++;
         done();
       });
+      step++;
       done();
     });
+    step++;
     done();
   });
 });
 
-QUnit.test("multiCascade: select Music, select Mathematics, deselect Classic", function(assert) {
-  assert.expect(4);
-  var done = assert.async(4);
+QUnit.test("multiCascade: select Music, select Mathematics, deselect Classic", function (assert) {
+  assert.expect(5);
+  var done = assert.async(5);
+  var step = 1;
   var $music = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:3\\:select");
   var $classic = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:4\\:select");
   var $pop = jQueryFrame("#page\\:mainForm\\:categoriesTree\\:5\\:select");
@@ -265,56 +292,62 @@ QUnit.test("multiCascade: select Music,
 
   $selectableNone.prop("checked", true).trigger("change");
 
-  waitForAjax(function() {
-    return jQueryFrame(".tobago-treeSelect input").length == 0;
-  }, function() {
+  waitForAjax(function () {
+    return step == 1 && jQueryFrame(".tobago-treeSelect input").length == 0;
+  }, function () {
     assert.equal(jQueryFrame(".tobago-treeSelect input").length, 0);
 
     $selectableMultiCascade = jQueryFrame($selectableMultiCascade.selector);
     $selectableMultiCascade.prop("checked", true).trigger("change");
 
-    waitForAjax(function() {
-      return jQueryFrame(".tobago-treeSelect input").length > 0;
-    }, function() {
+    waitForAjax(function () {
+      return step == 2 && jQueryFrame(".tobago-treeSelect input").length > 0;
+    }, function () {
       assert.notEqual(jQueryFrame(".tobago-treeSelect input").length, 0);
 
       $music = jQueryFrame($music.selector);
       $music.prop("checked", true).trigger("change");
 
-      waitForAjax(function() {
+      waitForAjax(function () {
         $output = jQueryFrame($output.selector);
-        return $output.text() == "Music, Classic, Pop, World"
-      }, function() {
+        return step == 3 && $output.text() == "Music, Classic, Pop, World"
+      }, function () {
         $output = jQueryFrame($output.selector);
         assert.equal($output.text(), "Music, Classic, Pop, World");
 
         $mathematics = jQueryFrame($mathematics.selector);
         $mathematics.prop("checked", true).trigger("change");
 
-        waitForAjax(function() {
+        waitForAjax(function () {
           $output = jQueryFrame($output.selector);
-          return $output.text() == "Music, Classic, Pop, World, Mathematics"
-        }, function() {
+          return step == 4 && $output.text() == "Music, Classic, Pop, World, Mathematics"
+        }, function () {
           $output = jQueryFrame($output.selector);
           assert.equal($output.text(), "Music, Classic, Pop, World, Mathematics");
 
           $classic = jQueryFrame($classic.selector);
           $classic.prop("checked", false).trigger("change");
 
-          waitForAjax(function() {
+          waitForAjax(function () {
             $output = jQueryFrame($output.selector);
-            return $output.text() == "Music, Pop, World, Mathematics"
-          }, function() {
+            return step == 5 && $output.text() == "Music, Pop, World, Mathematics"
+          }, function () {
             $output = jQueryFrame($output.selector);
             assert.equal($output.text(), "Music, Pop, World, Mathematics");
+
+            step++;
             done();
           });
+          step++;
           done();
         });
+        step++;
         done();
       });
+      step++;
       done();
     });
+    step++;
     done();
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/00/content-validation.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/00/content-validation.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/00/content-validation.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/00/content-validation.test.js Wed Mar 22 10:11:52 2017
@@ -18,6 +18,7 @@
 QUnit.test("Required: Submit without content.", function (assert) {
   assert.expect(2);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $textarea = jQueryFrame("#page\\:mainForm\\:required\\:textarea\\:\\:field");
@@ -28,16 +29,21 @@ QUnit.test("Required: Submit without con
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    assert.equal($textarea.val(), textareaValue);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+      assert.equal($textarea.val(), textareaValue);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Required: Submit with content.", function (assert) {
   assert.expect(2);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $textarea = jQueryFrame("#page\\:mainForm\\:required\\:textarea\\:\\:field");
@@ -47,17 +53,22 @@ QUnit.test("Required: Submit with conten
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    $textarea = jQueryFrame($textarea.selector);
-    assert.equal($messages.length, 0);
-    assert.equal($textarea.val(), "some content");
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      $textarea = jQueryFrame($textarea.selector);
+      assert.equal($messages.length, 0);
+      assert.equal($textarea.val(), "some content");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Length: Submit single character.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateLength\\:in\\:\\:field");
@@ -67,15 +78,20 @@ QUnit.test("Validate Length: Submit sing
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Length: Submit two character.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateLength\\:in\\:\\:field");
@@ -85,15 +101,20 @@ QUnit.test("Validate Length: Submit two
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Range: Submit no number.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateRange\\:in\\:\\:field");
@@ -103,15 +124,20 @@ QUnit.test("Validate Range: Submit no nu
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Range: Submit number '2' which is out of range.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateRange\\:in\\:\\:field");
@@ -121,15 +147,20 @@ QUnit.test("Validate Range: Submit numbe
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Range: Submit number '78' which is out of range.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateRange\\:in\\:\\:field");
@@ -139,15 +170,20 @@ QUnit.test("Validate Range: Submit numbe
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Validate Range: Submit number '64' which is within the range.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:validateRange\\:in\\:\\:field");
@@ -157,15 +193,20 @@ QUnit.test("Validate Range: Submit numbe
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Regex Validation: Submit 'T' which violates the pattern.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:regexValidation\\:in\\:\\:field");
@@ -175,15 +216,20 @@ QUnit.test("Regex Validation: Submit 'T'
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Regex Validation: Submit '3' which violates the pattern.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:regexValidation\\:in\\:\\:field");
@@ -193,15 +239,20 @@ QUnit.test("Regex Validation: Submit '3'
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Regex Validation: Submit 'T3' which is accepted.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:regexValidation\\:in\\:\\:field");
@@ -211,15 +262,20 @@ QUnit.test("Regex Validation: Submit 'T3
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Custom Validator: Submit rejected string.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:customValidator\\:in\\:\\:field");
@@ -229,15 +285,20 @@ QUnit.test("Custom Validator: Submit rej
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Custom Validator: Submit accepted string.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:customValidator\\:in\\:\\:field");
@@ -247,8 +308,12 @@ QUnit.test("Custom Validator: Submit acc
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/01/validation-jsr303.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/01/validation-jsr303.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/01/validation-jsr303.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/01/validation-jsr303.test.js Wed Mar 22 10:11:52 2017
@@ -18,6 +18,7 @@
 QUnit.test("Required: Submit without content.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:required\\:in\\:\\:field");
@@ -27,15 +28,20 @@ QUnit.test("Required: Submit without con
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Required: Submit with content.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:required\\:in\\:\\:field");
@@ -45,15 +51,20 @@ QUnit.test("Required: Submit with conten
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Length: Submit single character.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:length\\:in\\:\\:field");
@@ -63,15 +74,20 @@ QUnit.test("Length: Submit single charac
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Length: Submit three characters.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:length\\:in\\:\\:field");
@@ -81,15 +97,20 @@ QUnit.test("Length: Submit three charact
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 0);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 0);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("Length: Submit five characters.", function (assert) {
   assert.expect(1);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $in = jQueryFrame("#page\\:mainForm\\:length\\:in\\:\\:field");
@@ -99,8 +120,12 @@ QUnit.test("Length: Submit five characte
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/10-required/form-required.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/10-required/form-required.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/10-required/form-required.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/10-required/form-required.test.js Wed Mar 22 10:11:52 2017
@@ -18,6 +18,7 @@
 QUnit.test("submit inner form 1 without violations", function (assert) {
   assert.expect(3);
   var done = assert.async();
+  var step = 1;
   var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
   var $form1SubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:submit");
 
@@ -25,21 +26,25 @@ QUnit.test("submit inner form 1 without
   $form1SubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
-    var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:out span");
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form1InputField.val(), "Alice");
-    assert.equal($form1OutputField.text(), "Alice");
-    assert.equal($alert.length, "0");
-
-    done();
+    if (step == 1) {
+      $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
+      var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:out span");
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form1InputField.val(), "Alice");
+      assert.equal($form1OutputField.text(), "Alice");
+      assert.equal($alert.length, "0");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit inner form 2, violate required field", function (assert) {
   assert.expect(4);
   var done = assert.async();
+  var step = 1;
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $form2SubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:submit");
 
@@ -50,21 +55,25 @@ QUnit.test("submit inner form 2, violate
   $form2SubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form2InputField.val(), "");
-    assert.equal($form2OutputField.text(), form2OutputFieldValue);
-    assert.equal($alert.length, "1");
-
-    done();
+    if (step == 1) {
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form2InputField.val(), "");
+      assert.equal($form2OutputField.text(), form2OutputFieldValue);
+      assert.equal($alert.length, "1");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit inner form 2 without violations", function (assert) {
   assert.expect(4);
   var done = assert.async();
+  var step = 1;
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $form2SubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:submit");
 
@@ -73,21 +82,25 @@ QUnit.test("submit inner form 2 without
   $form2SubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form2InputField.val(), "Bob");
-    assert.equal($form2OutputField.text(), "Bob");
-    assert.equal($alert.length, "0");
-
-    done();
+    if (step == 1) {
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form2InputField.val(), "Bob");
+      assert.equal($form2OutputField.text(), "Bob");
+      assert.equal($alert.length, "0");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit outer form, violate both required fields", function (assert) {
   assert.expect(5);
   var done = assert.async();
+  var step = 1;
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
   var $outerFormSubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
@@ -100,27 +113,31 @@ QUnit.test("submit outer form, violate b
   $outerFormSubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
-    var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
-
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form2InputField.val(), "");
-    assert.equal($form2OutputField.text(), form2OutputFieldValue);
-    assert.equal($outerFormInputField.val(), "");
-    assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
-
-    assert.equal($alert.length, "2");
-
-    done();
+    if (step == 1) {
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+      var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form2InputField.val(), "");
+      assert.equal($form2OutputField.text(), form2OutputFieldValue);
+      assert.equal($outerFormInputField.val(), "");
+      assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+      assert.equal($alert.length, "2");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit outer form, violate required field in form 2", function (assert) {
   assert.expect(5);
   var done = assert.async();
+  var step = 1;
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
   var $outerFormSubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
@@ -133,27 +150,31 @@ QUnit.test("submit outer form, violate r
   $outerFormSubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
-    var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
-
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form2InputField.val(), "");
-    assert.equal($form2OutputField.text(), form2OutputFieldValue);
-    assert.equal($outerFormInputField.val(), "Charlie");
-    assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
-
-    assert.equal($alert.length, "1");
-
-    done();
+    if (step == 1) {
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+      var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form2InputField.val(), "");
+      assert.equal($form2OutputField.text(), form2OutputFieldValue);
+      assert.equal($outerFormInputField.val(), "Charlie");
+      assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+      assert.equal($alert.length, "1");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit outer form, violate required field in outer form", function (assert) {
   assert.expect(5);
   var done = assert.async();
+  var step = 1;
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
   var $outerFormSubmitButton = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
@@ -166,27 +187,31 @@ QUnit.test("submit outer form, violate r
   $outerFormSubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
-    var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
-
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form2InputField.val(), "Dave");
-    assert.equal($form2OutputField.text(), form2OutputFieldValue);
-    assert.equal($outerFormInputField.val(), "");
-    assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
-
-    assert.equal($alert.length, "1");
-
-    done();
+    if (step == 1) {
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+      var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form2InputField.val(), "Dave");
+      assert.equal($form2OutputField.text(), form2OutputFieldValue);
+      assert.equal($outerFormInputField.val(), "");
+      assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+      assert.equal($alert.length, "1");
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit outer form without violations", function (assert) {
   assert.expect(7);
   var done = assert.async();
+  var step = 1;
   var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
   var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
   var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
@@ -198,24 +223,27 @@ QUnit.test("submit outer form without vi
   $outerFormSubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
-    var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:out span");
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
-    $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
-    var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
-
-    var $alert = jQueryFrame("#page\\:messages .alert-danger label");
-
-    assert.equal($form1InputField.val(), "Eve");
-    assert.equal($form1OutputField.text(), "Eve");
-    assert.equal($form2InputField.val(), "Frank");
-    assert.equal($form2OutputField.text(), "Frank");
-    assert.equal($outerFormInputField.val(), "Grace");
-    assert.equal($outerFormOutputField.text(), "Grace");
-
-    assert.equal($alert.length, "0");
-
-    done();
+    if (step == 1) {
+      $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:in\\:\\:field");
+      var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm1\\:out span");
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:innerForm2\\:out span");
+      $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+      var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+      var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+
+      assert.equal($form1InputField.val(), "Eve");
+      assert.equal($form1OutputField.text(), "Eve");
+      assert.equal($form2InputField.val(), "Frank");
+      assert.equal($form2OutputField.text(), "Frank");
+      assert.equal($outerFormInputField.val(), "Grace");
+      assert.equal($outerFormOutputField.text(), "Grace");
+
+      assert.equal($alert.length, "0");
+
+      step++;
+      done();
+    }
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js Wed Mar 22 10:11:52 2017
@@ -18,6 +18,7 @@
 QUnit.test("submit form 1", function (assert) {
   assert.expect(4);
   var done = assert.async();
+  var step = 1;
 
   var $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
   var $form1SubmitButton = jQueryFrame("#page\\:mainForm\\:form1\\:submit");
@@ -31,23 +32,27 @@ QUnit.test("submit form 1", function (as
   $form1SubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
-    var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
-
-    assert.equal($form1InputField.val(), "Oliver");
-    assert.equal($form1OutputField.text(), "Oliver");
-    assert.equal($form2InputField.val(), "Peter");
-    assert.equal($form2OutputField.text(), $form2OutputFieldValue);
-
-    done();
+    if (step == 1) {
+      $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+      var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
+
+      assert.equal($form1InputField.val(), "Oliver");
+      assert.equal($form1OutputField.text(), "Oliver");
+      assert.equal($form2InputField.val(), "Peter");
+      assert.equal($form2OutputField.text(), $form2OutputFieldValue);
+
+      step++;
+      done();
+    }
   });
 });
 
 QUnit.test("submit form 2", function (assert) {
   assert.expect(4);
   var done = assert.async();
+  var step = 1;
 
   var $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
   var $form1OutputFieldValue = jQueryFrame("#page\\:mainForm\\:form1\\:out span").text();
@@ -61,16 +66,19 @@ QUnit.test("submit form 2", function (as
   $form2SubmitButton.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
-    var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
-    $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
-    var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
-
-    assert.equal($form1InputField.val(), "Oliver");
-    assert.equal($form1OutputField.text(), $form1OutputFieldValue);
-    assert.equal($form2InputField.val(), "Peter");
-    assert.equal($form2OutputField.text(), "Peter");
-
-    done();
+    if (step == 1) {
+      $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+      var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
+      $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+      var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
+
+      assert.equal($form1InputField.val(), "Oliver");
+      assert.equal($form1OutputField.text(), $form1OutputFieldValue);
+      assert.equal($form2InputField.val(), "Peter");
+      assert.equal($form2OutputField.text(), "Peter");
+
+      step++;
+      done();
+    }
   });
 });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/00-collapsible-box/collapsible-box.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/00-collapsible-box/collapsible-box.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/00-collapsible-box/collapsible-box.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/00-collapsible-box/collapsible-box.test.js Wed Mar 22 10:11:52 2017
@@ -262,6 +262,7 @@ QUnit.test("Client Sided: hide -> show t
 QUnit.test("Client Sided: hide content and submit empty string", function (assert) {
   assert.expect(2);
   var done = assert.async();
+  var step = 1;
 
   var $messages = jQueryFrame("#page\\:messages.tobago-messages div");
   var $show = jQueryFrame("#page\\:mainForm\\:client\\:showNoRequestBox");
@@ -277,9 +278,13 @@ QUnit.test("Client Sided: hide content a
   $submit.click();
 
   jQuery("#page\\:testframe").load(function () {
-    $messages = jQueryFrame($messages.selector);
-    assert.equal($messages.length, 1);
-    done();
+    if (step == 1) {
+      $messages = jQueryFrame($messages.selector);
+      assert.equal($messages.length, 1);
+
+      step++;
+      done();
+    }
   });
 });
 
@@ -306,16 +311,17 @@ QUnit.test("Ajax: show -> hide transitio
     assert.equal($in.length, 1);
     $hide.click();
 
-    step++;
-    done();
-  });
+    waitForAjax(function () {
+      $in = jQueryFrame($in.selector);
+      return step == 2 && $in.length == 0;
+    }, function () {
+      $in = jQueryFrame($in.selector);
+      assert.equal($in.length, 0);
 
-  waitForAjax(function () {
-    $in = jQueryFrame($in.selector);
-    return step == 2 && $in.length == 0;
-  }, function () {
-    $in = jQueryFrame($in.selector);
-    assert.equal($in.length, 0);
+      step++;
+      done();
+    });
+    step++;
     done();
   });
 });
@@ -342,16 +348,17 @@ QUnit.test("Ajax: hide -> show transitio
     assert.equal($in.length, 0);
     $show.click();
 
-    step++;
-    done();
-  });
+    waitForAjax(function () {
+      $in = jQueryFrame($in.selector);
+      return step == 2 && $in.length == 1;
+    }, function () {
+      $in = jQueryFrame($in.selector);
+      assert.equal($in.length, 1);
 
-  waitForAjax(function () {
-    $in = jQueryFrame($in.selector);
-    return step == 2 && $in.length == 1;
-  }, function () {
-    $in = jQueryFrame($in.selector);
-    assert.equal($in.length, 1);
+      step++;
+      done();
+    });
+    step++;
     done();
   });
 });
@@ -380,20 +387,19 @@ QUnit.test("Ajax: hide content and submi
     $in.val("");
     $hide.click();
 
-    step++;
-    done();
-  });
-
-  waitForAjax(function () {
-    $in = jQueryFrame($in.selector);
-    return step == 2 && $in.length == 0;
-  }, function () {
-    $in = jQueryFrame($in.selector);
-    $submit = jQueryFrame($submit.selector);
+    waitForAjax(function () {
+      $in = jQueryFrame($in.selector);
+      return step == 2 && $in.length == 0;
+    }, function () {
+      $in = jQueryFrame($in.selector);
+      $submit = jQueryFrame($submit.selector);
 
-    assert.equal($in.length, 0);
-    $submit.click();
+      assert.equal($in.length, 0);
+      $submit.click();
 
+      step++;
+      done();
+    });
     step++;
     done();
   });
@@ -402,6 +408,8 @@ QUnit.test("Ajax: hide content and submi
     if (step == 3) {
       $messages = jQueryFrame($messages.selector);
       assert.equal($messages.length, 0);
+
+      step++;
       done();
     }
   });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/20-collapsible-panel/collapsible-panel.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/20-collapsible-panel/collapsible-panel.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/20-collapsible-panel/collapsible-panel.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/20-collapsible-panel/collapsible-panel.test.js Wed Mar 22 10:11:52 2017
@@ -91,6 +91,7 @@ QUnit.test("Simple Panel", function (ass
       assert.equal($panelCollapsed.val(), "true");
       assert.equal($in.length, 0);
 
+      step++;
       done();
     }
   });
@@ -172,6 +173,7 @@ QUnit.test("Full Server Request", functi
       assert.equal($panelCollapsed.val(), "true");
       assert.equal($in.length, 0);
 
+      step++;
       done();
     }
   });
@@ -238,6 +240,7 @@ QUnit.test("Client Sided", function (ass
       assert.equal($panelCollapsed.val(), "false");
       assert.equal($in.length, 1);
 
+      step++;
       done();
     }
   });
@@ -333,6 +336,7 @@ QUnit.test("Ajax", function (assert) {
       assert.equal($panelCollapsed.val(), "true");
       assert.equal($in.length, 0);
 
+      step++;
       done();
     }
   });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/30-collapsible-section/collapsible-section.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/30-collapsible-section/collapsible-section.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/30-collapsible-section/collapsible-section.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/30-collapsible-section/collapsible-section.test.js Wed Mar 22 10:11:52 2017
@@ -91,6 +91,7 @@ QUnit.test("Simple Panel", function (ass
       assert.equal($sectionCollapsed.val(), "true");
       assert.equal($in.length, 0);
 
+      step++;
       done();
     }
   });
@@ -172,6 +173,7 @@ QUnit.test("Full Server Request", functi
       assert.equal($sectionCollapsed.val(), "true");
       assert.equal($in.length, 0);
 
+      step++;
       done();
     }
   });
@@ -238,6 +240,7 @@ QUnit.test("Client Sided", function (ass
       assert.equal($sectionCollapsed.val(), "false");
       assert.equal($in.length, 1);
 
+      step++;
       done();
     }
   });

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4000-button+link/button+link.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4000-button%2Blink/button%2Blink.test.js?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4000-button+link/button+link.test.js (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4000-button+link/button+link.test.js Wed Mar 22 10:11:52 2017
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-QUnit.test("Standard Action Button", function(assert) {
+QUnit.test("Standard Action Button", function (assert) {
   assert.expect(2);
   var done = assert.async(2);
 
@@ -24,7 +24,7 @@ QUnit.test("Standard Action Button", fun
   testStandardCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Standard Link Button", function(assert) {
+QUnit.test("Standard Link Button", function (assert) {
   assert.expect(2);
   var done = assert.async(2);
 
@@ -33,7 +33,7 @@ QUnit.test("Standard Link Button", funct
   testStandardCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Standard Action Link", function(assert) {
+QUnit.test("Standard Action Link", function (assert) {
   assert.expect(2);
   var done = assert.async(2);
 
@@ -42,7 +42,7 @@ QUnit.test("Standard Action Link", funct
   testStandardCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Standard Link Link", function(assert) {
+QUnit.test("Standard Link Link", function (assert) {
   assert.expect(2);
   var done = assert.async(2);
 
@@ -55,23 +55,27 @@ function testStandardCommands($command,
   var step = 1;
   $command[0].click();
 
-  jQuery("#page\\:testframe").load(function() {
+  jQuery("#page\\:testframe").load(function () {
     if (step == 1) {
       $destinationSection = jQueryFrame($destinationSection.selector);
       assert.equal($destinationSection.length, 1);
 
       var $back = jQueryFrame("#page\\:back");
       $back[0].click();
+
+      step++;
+      done();
     } else if (step == 2) {
       $command = jQueryFrame($command.selector);
       assert.equal($command.length, 1);
+
+      step++;
+      done();
     }
-    step++;
-    done();
   });
 }
 
-QUnit.test("Target Action Button", function(assert) {
+QUnit.test("Target Action Button", function (assert) {
   assert.expect(1);
   var done = assert.async();
 
@@ -80,7 +84,7 @@ QUnit.test("Target Action Button", funct
   testTargetCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Target Link Button", function(assert) {
+QUnit.test("Target Link Button", function (assert) {
   assert.expect(1);
   var done = assert.async();
 
@@ -89,7 +93,7 @@ QUnit.test("Target Link Button", functio
   testTargetCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Target Action Link", function(assert) {
+QUnit.test("Target Action Link", function (assert) {
   assert.expect(1);
   var done = assert.async();
 
@@ -98,7 +102,7 @@ QUnit.test("Target Action Link", functio
   testTargetCommands($command, $destinationSection, assert, done);
 });
 
-QUnit.test("Target Link Link", function(assert) {
+QUnit.test("Target Link Link", function (assert) {
   assert.expect(1);
   var done = assert.async();
 
@@ -114,10 +118,10 @@ function testTargetCommands($command, $d
    * phantomJs don't recognize jQueryFrame("#page\\:mainForm\\:targetFrame").load(),
    * so the waitForAjax() method is used instead.
    */
-  waitForAjax(function() {
+  waitForAjax(function () {
     $destinationSection = jQueryTargetFrame($destinationSection.selector);
     return $destinationSection.length == 1;
-  }, function() {
+  }, function () {
     $destinationSection = jQueryTargetFrame($destinationSection.selector);
     assert.equal($destinationSection.length, 1);
     done();

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml Wed Mar 22 10:11:52 2017
@@ -101,6 +101,8 @@
             <tc:link id="closetest" label="#{demoBundle.menu_closeTest}" immediate="true"/>
             <tc:link label="#{demoBundle.menu_runTestAll}" link="/faces/testAll.xhtml" target="_blank"
                      immediate="true" rendered="#{facesContext.isProjectStage('Development')}"/>
+            <tc:link label="#{demoBundle.menu_accessAllPages}" link="/faces/testAccessAllPages.xhtml" target="_blank"
+                     immediate="true" rendered="#{facesContext.isProjectStage('Development')}"/>
           </tc:link>
 
         </tc:links>

Modified: myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java?rev=1788079&r1=1788078&r2=1788079&view=diff
==============================================================================
--- myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java (original)
+++ myfaces/tobago/branches/TOBAGO-1719/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java Wed Mar 22 10:11:52 2017
@@ -73,8 +73,8 @@ public class QUnitTests {
 
   private static WebArchive createWebArchive(File pom) {
     WebArchive webArchive = ShrinkWrap.create(MavenImporter.class).
-       loadPomFromFile(pom, "jsf-provided", "!myfaces-2.0").importBuildOutput()
-       .as(WebArchive.class);
+        loadPomFromFile(pom, "jsf-provided", "!myfaces-2.0").importBuildOutput()
+        .as(WebArchive.class);
     // XXX there should be a proper profile in POM for that
     webArchive.delete("/WEB-INF/lib/hibernate-validator-4.3.2.Final.jar");
     return webArchive;
@@ -102,40 +102,90 @@ public class QUnitTests {
     List<WebElement> testCases = qunit.findElement(By.id("qunit-tests")).findElements(By.xpath("li"));
     Assert.assertTrue("There must be at least one test case.", testCases.size() > 0);
 
+    boolean testFailed = false;
+    int testCaseCount = 1;
+    StringBuilder stringBuilder = new StringBuilder();
+
     for (WebElement testCase : testCases) {
-      finishTestCaseExecution(testCase);
-      String testName = testCase.findElement(By.className("test-name")).getText();
-      String runtime = testCase.findElement(By.className("runtime")).getText();
-
-      if ("pass".equals(testCase.getAttribute("class"))) {
-        LOG.info("test '" + testName + "' for " + page + " passed in " + runtime);
-        Assert.assertTrue(true);
-      } else if ("fail".equals(testCase.getAttribute("class"))) {
-        WebElement assertList = testCase.findElement(By.className("qunit-assert-list"));
-        List<WebElement> asserts = assertList.findElements(By.tagName("li"));
-
-        int assertionCount = 0;
-        for (WebElement assertion : asserts) {
-          assertionCount++;
-          if ("pass".equals(assertion.getAttribute("class"))) {
-            Assert.assertTrue(true);
-          } else if ("fail".equals(assertion.getAttribute("class"))) {
-            WebElement source = assertion.findElement(By.className("test-source"));
-            LOG.warn("test '" + testName + "' for " + page + " failed on assertion " + assertionCount
-                + "\n" + source.getText());
-            String message = assertion.findElement(By.className("test-message")).getText();
-            String expected = assertion.findElement(By.className("test-expected")).getText();
-            String actual = assertion.findElement(By.className("test-actual")).getText();
-            Assert.assertEquals(message + " on page: " + page, expected, actual);
-          }
+      final String testName = getText(testCase, "test-name");
+      waitForTestCase(testCase, testName);
+      final String testStatus = testCase.getAttribute("class").toUpperCase();
+
+      if (!"PASS".equals(testStatus)) {
+        testFailed = true;
+      }
+
+      stringBuilder.append(testCaseCount++);
+      stringBuilder.append(". ");
+      stringBuilder.append(testStatus);
+      stringBuilder.append(": ");
+      stringBuilder.append(testName);
+      stringBuilder.append(" (");
+      stringBuilder.append(getText(testCase, "runtime"));
+      stringBuilder.append(")\n");
+
+      WebElement assertList = testCase.findElement(By.className("qunit-assert-list"));
+      List<WebElement> asserts = assertList.findElements(By.tagName("li"));
+      int assertCount = 1;
+      for (WebElement assertion : asserts) {
+        final String assertStatus = assertion.getAttribute("class");
+
+        if (!"pass".equals(assertStatus)) {
+          testFailed = true;
+        }
+
+        stringBuilder.append("- ");
+        if (assertCount <= 9) {
+          stringBuilder.append("0");
+        }
+        stringBuilder.append(assertCount++);
+        stringBuilder.append(". ");
+        stringBuilder.append(assertStatus);
+        stringBuilder.append(": ");
+        stringBuilder.append(getText(assertion, "test-message"));
+        stringBuilder.append(getText(assertion, "runtime"));
+        stringBuilder.append("\n");
+
+        final String assertExpected = getText(assertion, "test-expected");
+        if (!"null".equals(assertExpected)) {
+          stringBuilder.append("-- ");
+          stringBuilder.append(assertExpected);
+          stringBuilder.append("\n");
+        }
+        final String assertResult = getText(assertion, "test-actual");
+        if (!"null".equals(assertResult)) {
+          stringBuilder.append("-- ");
+          stringBuilder.append(assertResult);
+          stringBuilder.append("\n");
+        }
+        final String assertSource = getText(assertion, "test-source");
+        if (!"null".equals(assertSource)) {
+          stringBuilder.append("-- ");
+          stringBuilder.append(assertSource);
+          stringBuilder.append("\n");
         }
-      } else if ("running".equals(testCase.getAttribute("class"))) {
-        LOG.warn("test '" + testName + "' for " + page + " is still running...");
-        Assert.fail();
-      } else {
-        LOG.warn("unexpected error on test '" + testName + "' for " + page);
-        Assert.fail();
       }
+
+      stringBuilder.append(getText(testCase, "qunit-source"));
+      stringBuilder.append("\n\n");
+    }
+
+    if (testFailed) {
+      final String message = stringBuilder.toString();
+      LOG.warn("Test for " + page + " FAILED:\n" + message);
+      Assert.fail(message);
+    } else {
+      LOG.info("Test for " + page + " PASSED:\n" + stringBuilder.toString());
+      Assert.assertTrue(true);
+    }
+  }
+
+  private String getText(WebElement webElement, String className) {
+    final List<WebElement> elements = webElement.findElements(By.className(className));
+    if (elements.size() > 0) {
+      return elements.get(0).getAttribute("textContent");
+    } else {
+      return "null";
     }
   }
 
@@ -147,19 +197,19 @@ public class QUnitTests {
         qunit.findElement(By.id("qunit-tests")).findElements(By.xpath("li"));
         testCasesExist = true;
       } catch (Exception e) {
-        LOG.info("wait for testCases exist... (" + (endTime - System.currentTimeMillis()) + "ms left)");
+        LOG.info("test case not started... (" + (endTime - System.currentTimeMillis()) + "ms left)");
         Thread.sleep(50);
       }
     }
   }
 
-  private void finishTestCaseExecution(WebElement testCase) throws InterruptedException {
+  private void waitForTestCase(WebElement testCase, String testName) throws InterruptedException {
     long endTime = System.currentTimeMillis() + 20000;
     boolean testExecuted = false;
     while (System.currentTimeMillis() < endTime && !testExecuted) {
       if ("running".equals(testCase.getAttribute("class"))) {
-        testExecuted = false;
-        LOG.info("wait for test execution... (" + (endTime - System.currentTimeMillis()) + "ms left)");
+        LOG.info("test case '" + testName
+            + "' still running... (" + (endTime - System.currentTimeMillis()) + "ms left)");
         Thread.sleep(50);
       } else {
         testExecuted = true;