Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: chrome/test/data/third_party/spaceport/js/testDom.js

Issue 10134041: Add test data for spaceport benchmark. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 define([ 'util/report' ], function (report) {
2 function classes(el) {
3 return el.className.split(/\s+/g);
4 }
5
6 function addClass(el, className) {
7 el.className += ' ' + className;
8 }
9
10 function removeClass(el, className) {
11 // wtb classList (damnit Safari!)
12 el.className = classes(el).filter(function (c) {
13 return c !== className;
14 }).join(' ');
15 }
16
17 function testResultNameAccept(name) {
18 return name !== 'pass';
19 }
20
21 var testDom = {
22 endTest: function (domId, err, results) {
23 var el = document.getElementById(domId);
24 if (!el) {
25 throw new Error('Could not find element #' + domId);
26 }
27
28 function findSlot(name) {
29 var elements = el.querySelectorAll('[data-property]');
30 var i;
31 for (i = 0; i < elements.length; ++i) {
32 var element = elements[i];
33 if (element.getAttribute('data-property') === name) {
34 return element;
35 }
36 }
37
38 return null;
39 }
40
41 function fillSlots(name, value) {
42 if (!testResultNameAccept(name)) {
43 return;
44 }
45
46 if (value === null || typeof value === 'undefined') {
47 return;
48 }
49
50 if (typeof value === 'object') {
51 Object.keys(value).forEach(function (subName) {
52 fillSlots(subName, value[subName]);
53 });
54 } else {
55 var slot = findSlot(name);
56 if (slot) {
57 slot.textContent = value;
58 } else {
59 //console.warn('Could not find slot ' + name + ' for ' + domId, value);
60 }
61 }
62 }
63
64 fillSlots('', results);
65
66 removeClass(el, 'pass');
67 removeClass(el, 'fail');
68 removeClass(el, 'error');
69
70 if (err) {
71 addClass(el, 'error');
72
73 var errorMessageEl = el.querySelector('.error-message');
74 if (errorMessageEl) {
75 errorMessageEl.textContent = err;
76 }
77 } else if (results && results.passed) {
78 addClass(el, 'pass');
79 } else {
80 addClass(el, 'fail');
81 }
82
83 }
84 };
85
86 return testDom;
87 });
OLDNEW
« no previous file with comments | « chrome/test/data/third_party/spaceport/js/tables.js ('k') | chrome/test/data/third_party/spaceport/js/testRunner.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698