Title: [221611] trunk/PerformanceTests
Revision
221611
Author
commit-qu...@webkit.org
Date
2017-09-05 01:17:25 -0700 (Tue, 05 Sep 2017)

Log Message

Speedometer 2.0: Add dummy node to notify app is ready for Backbone suite
https://bugs.webkit.org/show_bug.cgi?id=176142

Patch by Shiyu Zhang <shiyu.zh...@intel.com> on 2017-09-05
Reviewed by Ryosuke Niwa.

Create a dummy node to notify that app is ready for Backbone suite. It prevents Speedometer injecting items before app.js is loaded.

* Speedometer/resources/tests.js:
(Suites.push.prepare):
* Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js:

Modified Paths

Diff

Modified: trunk/PerformanceTests/ChangeLog (221610 => 221611)


--- trunk/PerformanceTests/ChangeLog	2017-09-05 07:39:44 UTC (rev 221610)
+++ trunk/PerformanceTests/ChangeLog	2017-09-05 08:17:25 UTC (rev 221611)
@@ -1,3 +1,16 @@
+2017-09-05  Shiyu Zhang  <shiyu.zh...@intel.com>
+
+        Speedometer 2.0: Add dummy node to notify app is ready for Backbone suite
+        https://bugs.webkit.org/show_bug.cgi?id=176142
+
+        Reviewed by Ryosuke Niwa.
+
+        Create a dummy node to notify that app is ready for Backbone suite. It prevents Speedometer injecting items before app.js is loaded.
+
+        * Speedometer/resources/tests.js:
+        (Suites.push.prepare):
+        * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js:
+
 2017-08-30  Shiyu Zhang  <shiyu.zh...@intel.com>
 
         Speedometer 2.0: jQuery test fails occasionally

Modified: trunk/PerformanceTests/Speedometer/resources/tests.js (221610 => 221611)


--- trunk/PerformanceTests/Speedometer/resources/tests.js	2017-09-05 07:39:44 UTC (rev 221610)
+++ trunk/PerformanceTests/Speedometer/resources/tests.js	2017-09-05 08:17:25 UTC (rev 221611)
@@ -227,9 +227,10 @@
     url: 'todomvc/architecture-examples/backbone/index.html',
     prepare: function (runner, contentWindow, contentDocument) {
     contentWindow.Backbone.sync = function () {}
-        return runner.waitForElement('.new-todo').then(function (element) {
-            element.focus();
-            return element;
+        return runner.waitForElement('#appIsReady').then(function (element) {
+            var newTodo = contentDocument.querySelector('.new-todo');
+            newTodo.focus();
+            return newTodo;
         });
     },
     tests: [
@@ -241,12 +242,12 @@
         }),
         new BenchmarkTestStep('CompletingAllItems', function (newTodo, contentWindow, contentDocument) {
             var checkboxes = contentDocument.querySelectorAll('.toggle');
-            for (var i = 0; i < checkboxes.length; i++)
+            for (var i = 0; i < numberOfItemsToAdd; i++)
                 checkboxes[i].click();
         }),
         new BenchmarkTestStep('DeletingAllItems', function (newTodo, contentWindow, contentDocument) {
             var deleteButtons = contentDocument.querySelectorAll('.destroy');
-            for (var i = 0; i < deleteButtons.length; i++)
+            for (var i = 0; i < numberOfItemsToAdd; i++)
                 deleteButtons[i].click();
         }),
     ]

Modified: trunk/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js (221610 => 221611)


--- trunk/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js	2017-09-05 07:39:44 UTC (rev 221610)
+++ trunk/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js	2017-09-05 08:17:25 UTC (rev 221611)
@@ -9,4 +9,8 @@
 
     // kick things off by creating the `App`
     window.appView = new app.AppView();
+
+    var dummyNodeToNotifyAppIsReady = document.createElement('div');
+    dummyNodeToNotifyAppIsReady.id = 'appIsReady';
+    document.body.appendChild(dummyNodeToNotifyAppIsReady);
 });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to