Changeset 156088 in webkit
- Timestamp:
- Sep 19, 2013 1:07:48 AM (11 years ago)
- Location:
- trunk/PerformanceTests
- Files:
-
- 31 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/PerformanceTests/ChangeLog
r156073 r156088 1 2013-09-19 Ryosuke Niwa <rniwa@webkit.org> 2 3 Add an AngularJS test to DoYouEvenBench 4 https://bugs.webkit.org/show_bug.cgi?id=121595 5 6 Reviewed by Antti Koivisto. 7 8 * DoYouEvenBench/benchmark.html: 9 * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added. 10 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added. 11 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added. 12 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added. 13 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added. 14 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added. 15 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added. 16 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added. 17 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added. 18 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added. 19 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added. 20 * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added. 21 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added. 22 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added. 23 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added. 24 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added. 25 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added. 26 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added. 27 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added. 28 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added. 29 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added. 30 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added. 31 * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added. 32 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added. 33 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added. 34 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added. 35 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added. 36 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added. 37 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added. 38 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added. 39 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added. 40 1 41 2013-09-17 Ryosuke Niwa <rniwa@webkit.org> 2 42 -
trunk/PerformanceTests/DoYouEvenBench/benchmark.html
r156073 r156088 2 2 <html> 3 3 <head> 4 <title> Not Completely Unrealistic DOM Benchmark</title>4 <title>DoYouEvenBench</title> 5 5 <script src="benchmark.js"></script> 6 6 <script> … … 20 20 ['Adding' + numberOfItemsToAdd + 'Items', function (newTodo, contentWindow, contentDocument) { 21 21 var todoController = contentWindow.todo.controller; 22 for (var i = 0; i < numberOfItemsToAdd; i++) {23 newTodo.value = 'Something to do ' + i;24 todoController.addItem({keyCode: todoController.ENTER_KEY, target: newTodo});25 }26 }],27 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) {28 var checkboxes = contentDocument.querySelectorAll('.toggle');29 for (var i = 0; i < checkboxes.length; i++)30 checkboxes[i].click();31 }],32 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) {33 var deleteButtons = contentDocument.querySelectorAll('.destroy');34 for (var i = 0; i < deleteButtons.length; i++)35 deleteButtons[i].click();36 }],22 for (var i = 0; i < numberOfItemsToAdd; i++) { 23 newTodo.value = 'Something to do ' + i; 24 todoController.addItem({keyCode: todoController.ENTER_KEY, target: newTodo}); 25 } 26 }], 27 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) { 28 var checkboxes = contentDocument.querySelectorAll('.toggle'); 29 for (var i = 0; i < checkboxes.length; i++) 30 checkboxes[i].click(); 31 }], 32 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) { 33 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 34 for (var i = 0; i < deleteButtons.length; i++) 35 deleteButtons[i].click(); 36 }], 37 37 ] 38 38 }); … … 57 57 }, 58 58 tests: [ 59 ['Adding' + numberOfItemsToAdd + 'Items', function (params) {60 for (var i = 0; i < numberOfItemsToAdd; i++) {61 params.emberRun(function () { params.views["new-todo"].set('value', 'Something to do' + i); });62 params.emberRun(function () { params.views["new-todo"].insertNewline(document.createEvent('Event')); });63 }64 }],65 ['CompletingAllItems', function (params, contentWindow, contentDocument) {66 var checkboxes = contentDocument.querySelectorAll('.ember-checkbox');67 for (var i = 0; i < checkboxes.length; i++) {68 var view = params.views[checkboxes[i].id];69 params.emberRun(function () { view.set('checked', true); });70 }71 }],72 ['DeletingItems', function (params, contentWindow, contentDocument) {73 var deleteButtons = contentDocument.querySelectorAll('.destroy');74 for (var i = 0; i < deleteButtons.length; i++)75 params.emberRun(function () { deleteButtons[i].click(); });76 }],59 ['Adding' + numberOfItemsToAdd + 'Items', function (params) { 60 for (var i = 0; i < numberOfItemsToAdd; i++) { 61 params.emberRun(function () { params.views["new-todo"].set('value', 'Something to do' + i); }); 62 params.emberRun(function () { params.views["new-todo"].insertNewline(document.createEvent('Event')); }); 63 } 64 }], 65 ['CompletingAllItems', function (params, contentWindow, contentDocument) { 66 var checkboxes = contentDocument.querySelectorAll('.ember-checkbox'); 67 for (var i = 0; i < checkboxes.length; i++) { 68 var view = params.views[checkboxes[i].id]; 69 params.emberRun(function () { view.set('checked', true); }); 70 } 71 }], 72 ['DeletingItems', function (params, contentWindow, contentDocument) { 73 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 74 for (var i = 0; i < deleteButtons.length; i++) 75 params.emberRun(function () { deleteButtons[i].click(); }); 76 }], 77 77 ] 78 78 }); … … 90 90 tests: [ 91 91 ['Adding' + numberOfItemsToAdd + 'Items', function (newTodo, contentWindow, contentDocument) { 92 var appView = contentWindow.appView;93 var fakeEvent = {which: contentWindow.ENTER_KEY};94 for (var i = 0; i < numberOfItemsToAdd; i++) {95 newTodo.value = 'Something to do ' + i;96 appView.createOnEnter(fakeEvent);97 }98 }],99 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) {100 var checkboxes = contentDocument.querySelectorAll('.toggle');101 for (var i = 0; i < checkboxes.length; i++)102 checkboxes[i].click();103 }],104 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) {105 var deleteButtons = contentDocument.querySelectorAll('.destroy');106 for (var i = 0; i < deleteButtons.length; i++)107 deleteButtons[i].click();108 }],92 var appView = contentWindow.appView; 93 var fakeEvent = {which: contentWindow.ENTER_KEY}; 94 for (var i = 0; i < numberOfItemsToAdd; i++) { 95 newTodo.value = 'Something to do ' + i; 96 appView.createOnEnter(fakeEvent); 97 } 98 }], 99 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) { 100 var checkboxes = contentDocument.querySelectorAll('.toggle'); 101 for (var i = 0; i < checkboxes.length; i++) 102 checkboxes[i].click(); 103 }], 104 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) { 105 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 106 for (var i = 0; i < deleteButtons.length; i++) 107 deleteButtons[i].click(); 108 }], 109 109 ] 110 110 }); … … 122 122 tests: [ 123 123 ['Adding' + numberOfItemsToAdd + 'Items', function (newTodo, contentWindow, contentDocument) { 124 var app = contentWindow.app; 125 var fakeEvent = {which: app.ENTER_KEY}; 126 for (var i = 0; i < numberOfItemsToAdd; i++) { 127 newTodo.value = 'Something to do ' + i; 128 app.create.call(newTodo, fakeEvent); 129 } 130 }], 131 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) { 132 var app = contentWindow.app; 133 var checkboxes = contentDocument.querySelectorAll('.toggle'); 134 for (var i = 0; i < checkboxes.length; i++) 135 app.toggle.call(checkboxes[i]); 136 }], 137 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) { 138 var app = contentWindow.app; 139 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 140 for (var i = 0; i < deleteButtons.length; i++) 141 app.destroy.call(deleteButtons[i]); 142 }], 124 var app = contentWindow.app; 125 var fakeEvent = {which: app.ENTER_KEY}; 126 for (var i = 0; i < numberOfItemsToAdd; i++) { 127 newTodo.value = 'Something to do ' + i; 128 app.create.call(newTodo, fakeEvent); 129 } 130 }], 131 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) { 132 var app = contentWindow.app; 133 var checkboxes = contentDocument.querySelectorAll('.toggle'); 134 for (var i = 0; i < checkboxes.length; i++) 135 app.toggle.call(checkboxes[i]); 136 }], 137 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) { 138 var app = contentWindow.app; 139 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 140 for (var i = 0; i < deleteButtons.length; i++) 141 app.destroy.call(deleteButtons[i]); 142 }], 143 ] 144 }); 145 146 BenchmarkRunner.suite({ 147 name: 'AngularJS/TodoMVC', 148 url: 'todomvc/architecture-examples/angularjs/index.html', 149 prepare: function (contentWindow, contentDocument) { 150 var storage = []; 151 return BenchmarkRunner.waitForElement('#new-todo').then(function (element) { 152 element.focus(); 153 return element; 154 }); 155 }, 156 tests: [ 157 ['Adding' + numberOfItemsToAdd + 'Items', function (newTodo, contentWindow, contentDocument) { 158 var todomvc = contentWindow.todomvc; 159 var submitEvent = document.createEvent('Event'); 160 submitEvent.initEvent('submit', true, true); 161 var inputEvent = document.createEvent('Event'); 162 inputEvent.initEvent('input', true, true); 163 for (var i = 0; i < numberOfItemsToAdd; i++) { 164 newTodo.value = 'Something to do ' + i; 165 newTodo.dispatchEvent(inputEvent); 166 newTodo.form.dispatchEvent(submitEvent); 167 } 168 }], 169 ['CompletingAllItems', function (newTodo, contentWindow, contentDocument) { 170 var checkboxes = contentDocument.querySelectorAll('.toggle'); 171 for (var i = 0; i < checkboxes.length; i++) 172 checkboxes[i].click(); 173 }], 174 ['DeletingAllItems', function (newTodo, contentWindow, contentDocument) { 175 var deleteButtons = contentDocument.querySelectorAll('.destroy'); 176 for (var i = 0; i < deleteButtons.length; i++) 177 deleteButtons[i].click(); 178 }], 143 179 ] 144 180 });
Note: See TracChangeset
for help on using the changeset viewer.