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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector-unit/list-control-equal-height.js

Issue 2916743002: [DevTools] Introduce Common.List used as a backend for list controls (Closed)
Patch Set: addressed comments Created 3 years, 6 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
OLDNEW
1 TestRunner.addResult('Test ListControl rendering and selection for equal height items case.'); 1 TestRunner.addResult('Test ListControl rendering and selection for equal height items case.');
2 2
3 class Delegate { 3 class Delegate {
4 constructor() { 4 constructor() {
5 this.height = 10; 5 this.height = 10;
6 } 6 }
7 7
8 createElementForItem(item) { 8 createElementForItem(item) {
9 TestRunner.addResult('Creating element for ' + item); 9 TestRunner.addResult('Creating element for ' + item);
10 var element = document.createElement('div'); 10 var element = document.createElement('div');
(...skipping 13 matching lines...) Expand all
24 selectedItemChanged(from, to, fromElement, toElement) { 24 selectedItemChanged(from, to, fromElement, toElement) {
25 TestRunner.addResult('Selection changed from ' + from + ' to ' + to); 25 TestRunner.addResult('Selection changed from ' + from + ' to ' + to);
26 if (fromElement) 26 if (fromElement)
27 fromElement.classList.remove('selected'); 27 fromElement.classList.remove('selected');
28 if (toElement) 28 if (toElement)
29 toElement.classList.add('selected'); 29 toElement.classList.add('selected');
30 } 30 }
31 } 31 }
32 32
33 var delegate = new Delegate(); 33 var delegate = new Delegate();
34 var list = new UI.ListControl(delegate, UI.ListMode.EqualHeightItems); 34 var model = new UI.ListModel();
35 var list = new UI.ListControl(model, delegate, UI.ListMode.EqualHeightItems);
35 list.element.style.height = '73px'; 36 list.element.style.height = '73px';
36 UI.inspectorView.element.appendChild(list.element); 37 UI.inspectorView.element.appendChild(list.element);
37 38
38 function dumpList() 39 function dumpList()
39 { 40 {
40 var height = list.element.offsetHeight; 41 var height = list.element.offsetHeight;
41 TestRunner.addResult(`----list[length=${list.length()}][height=${height}]----` ); 42 TestRunner.addResult(`----list[length=${model.length()}][height=${height}]---- `);
42 for (var child of list.element.children) { 43 for (var child of list.element.children) {
43 var offsetTop = child.getBoundingClientRect().top - list.element.getBounding ClientRect().top; 44 var offsetTop = child.getBoundingClientRect().top - list.element.getBounding ClientRect().top;
44 var offsetBottom = child.getBoundingClientRect().bottom - list.element.getBo undingClientRect().top; 45 var offsetBottom = child.getBoundingClientRect().bottom - list.element.getBo undingClientRect().top;
45 var visible = (offsetBottom <= 0 || offsetTop >= height) ? ' ' : 46 var visible = (offsetBottom <= 0 || offsetTop >= height) ? ' ' :
46 (offsetTop >= 0 && offsetBottom <= height ? '*' : '+'); 47 (offsetTop >= 0 && offsetBottom <= height ? '*' : '+');
47 var selected = child.classList.contains('selected') ? ' (selected)' : ''; 48 var selected = child.classList.contains('selected') ? ' (selected)' : '';
48 var text = child === list._topElement ? 'top' : (child === list._bottomEleme nt ? 'bottom' : child.textContent); 49 var text = child === list._topElement ? 'top' : (child === list._bottomEleme nt ? 'bottom' : child.textContent);
49 TestRunner.addResult(`${visible}[${offsetTop}] ${text}${selected}`); 50 TestRunner.addResult(`${visible}[${offsetTop}] ${text}${selected}`);
50 } 51 }
51 TestRunner.addResult(''); 52 TestRunner.addResult('');
52 } 53 }
53 54
54 TestRunner.addResult('Adding 0, 1, 2'); 55 TestRunner.addResult('Adding 0, 1, 2');
55 list.replaceAllItems([0, 1, 2]); 56 model.replaceAllItems([0, 1, 2]);
56 dumpList(); 57 dumpList();
57 58
58 TestRunner.addResult('Scrolling to 0'); 59 TestRunner.addResult('Scrolling to 0');
59 list.scrollItemIntoView(0); 60 list.scrollItemIntoView(0);
60 dumpList(); 61 dumpList();
61 62
62 TestRunner.addResult('Scrolling to 2'); 63 TestRunner.addResult('Scrolling to 2');
63 list.scrollItemIntoView(2); 64 list.scrollItemIntoView(2);
64 dumpList(); 65 dumpList();
65 66
(...skipping 11 matching lines...) Expand all
77 78
78 TestRunner.addResult('PageDown'); 79 TestRunner.addResult('PageDown');
79 list._onKeyDown(TestRunner.createKeyEvent('PageDown')); 80 list._onKeyDown(TestRunner.createKeyEvent('PageDown'));
80 dumpList(); 81 dumpList();
81 82
82 TestRunner.addResult('ArrowDown'); 83 TestRunner.addResult('ArrowDown');
83 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); 84 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown'));
84 dumpList(); 85 dumpList();
85 86
86 TestRunner.addResult('Replacing 0 with 5, 6, 7'); 87 TestRunner.addResult('Replacing 0 with 5, 6, 7');
87 list.replaceItemsInRange(0, 1, [5, 6, 7]); 88 model.replaceItemsInRange(0, 1, [5, 6, 7]);
88 dumpList(); 89 dumpList();
89 90
90 TestRunner.addResult('ArrowUp'); 91 TestRunner.addResult('ArrowUp');
91 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp')); 92 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp'));
92 dumpList(); 93 dumpList();
93 94
94 TestRunner.addResult('Pushing 10'); 95 TestRunner.addResult('Pushing 10');
95 list.pushItem(10); 96 model.pushItem(10);
96 dumpList(); 97 dumpList();
97 98
98 TestRunner.addResult('Selecting 10'); 99 TestRunner.addResult('Selecting 10');
99 list.selectItem(10); 100 list.selectItem(10);
100 dumpList(); 101 dumpList();
101 102
102 TestRunner.addResult('Popping 10'); 103 TestRunner.addResult('Popping 10');
103 list.popItem(); 104 model.popItem();
104 dumpList(); 105 dumpList();
105 106
106 TestRunner.addResult('Removing 2'); 107 TestRunner.addResult('Removing 2');
107 list.removeItemAtIndex(4); 108 model.removeItemAtIndex(4);
108 dumpList(); 109 dumpList();
109 110
110 TestRunner.addResult('Inserting 8'); 111 TestRunner.addResult('Inserting 8');
111 list.insertItemAtIndex(1, 8); 112 model.insertItemAtIndex(1, 8);
112 dumpList(); 113 dumpList();
113 114
114 TestRunner.addResult('Replacing with 0...20'); 115 TestRunner.addResult('Replacing with 0...20');
115 list.replaceAllItems([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]); 116 model.replaceAllItems([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]);
116 dumpList(); 117 dumpList();
117 118
118 TestRunner.addResult('Resizing'); 119 TestRunner.addResult('Resizing');
119 list.element.style.height = '84px'; 120 list.element.style.height = '84px';
120 list.viewportResized(); 121 list.viewportResized();
121 dumpList(); 122 dumpList();
122 123
123 TestRunner.addResult('Scrolling to 19'); 124 TestRunner.addResult('Scrolling to 19');
124 list.scrollItemIntoView(19); 125 list.scrollItemIntoView(19);
125 dumpList(); 126 dumpList();
(...skipping 13 matching lines...) Expand all
139 TestRunner.addResult('Changing the item height'); 140 TestRunner.addResult('Changing the item height');
140 delegate.height = 15; 141 delegate.height = 15;
141 list.invalidateItemHeight(); 142 list.invalidateItemHeight();
142 dumpList(); 143 dumpList();
143 144
144 TestRunner.addResult('Selecting 7'); 145 TestRunner.addResult('Selecting 7');
145 list.selectItem(7); 146 list.selectItem(7);
146 dumpList(); 147 dumpList();
147 148
148 TestRunner.addResult('Replacing 7 with 27'); 149 TestRunner.addResult('Replacing 7 with 27');
149 list.replaceItemsInRange(7, 8, [27]); 150 model.replaceItemsInRange(7, 8, [27]);
150 dumpList(); 151 dumpList();
151 152
152 TestRunner.addResult('Replacing 18, 19 with 28, 29'); 153 TestRunner.addResult('Replacing 18, 19 with 28, 29');
153 list.replaceItemsInRange(18, 20, [28, 29]); 154 model.replaceItemsInRange(18, 20, [28, 29]);
154 dumpList(); 155 dumpList();
155 156
156 TestRunner.addResult('PageDown'); 157 TestRunner.addResult('PageDown');
157 list._onKeyDown(TestRunner.createKeyEvent('PageDown')); 158 list._onKeyDown(TestRunner.createKeyEvent('PageDown'));
158 dumpList(); 159 dumpList();
159 160
160 TestRunner.addResult('Replacing 1, 2, 3 with [31-43]'); 161 TestRunner.addResult('Replacing 1, 2, 3 with [31-43]');
161 list.replaceItemsInRange(1, 4, [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43]); 162 model.replaceItemsInRange(1, 4, [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43]);
162 dumpList(); 163 dumpList();
163 164
164 TestRunner.addResult('Scrolling to 13 (center)'); 165 TestRunner.addResult('Scrolling to 13 (center)');
165 list.scrollItemIntoView(13, true); 166 list.scrollItemIntoView(13, true);
166 dumpList(); 167 dumpList();
167 168
168 TestRunner.addResult('ArrowUp'); 169 TestRunner.addResult('ArrowUp');
169 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp')); 170 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp'));
170 dumpList(); 171 dumpList();
171 172
(...skipping 15 matching lines...) Expand all
187 188
188 TestRunner.addResult('Selecting -1'); 189 TestRunner.addResult('Selecting -1');
189 list.selectItem(null); 190 list.selectItem(null);
190 dumpList(); 191 dumpList();
191 192
192 TestRunner.addResult('PageUp'); 193 TestRunner.addResult('PageUp');
193 list._onKeyDown(TestRunner.createKeyEvent('PageUp')); 194 list._onKeyDown(TestRunner.createKeyEvent('PageUp'));
194 dumpList(); 195 dumpList();
195 196
196 TestRunner.addResult('Replacing all but 29 with []'); 197 TestRunner.addResult('Replacing all but 29 with []');
197 list.replaceItemsInRange(0, 29, []); 198 model.replaceItemsInRange(0, 29, []);
198 dumpList(); 199 dumpList();
199 200
200 TestRunner.addResult('ArrowDown'); 201 TestRunner.addResult('ArrowDown');
201 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); 202 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown'));
202 dumpList(); 203 dumpList();
203 204
205 var newModel = new UI.ListModel([5, 6, 7]);
206 TestRunner.addResult('Replacing model with [5-7]');
207 list.setModel(newModel);
208 dumpList();
209
210 TestRunner.addResult('Pushing 8');
211 newModel.pushItem(8);
212 dumpList();
213
214 TestRunner.addResult('Pushing 9 to old model');
215 model.pushItem(9);
216 dumpList();
217
204 TestRunner.completeTest(); 218 TestRunner.completeTest();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698