| OLD | NEW |
| 1 TestRunner.addResult('Test ListControl rendering and selection for fixed height
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'); |
| 11 element.style.height = this.height + 'px'; | 11 element.style.height = this.height + 'px'; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 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.ViewportFixedItems); | 34 var list = new UI.ListControl(delegate, UI.ListMode.EqualHeightItems); |
| 35 list.element.style.height = '73px'; | 35 list.element.style.height = '73px'; |
| 36 UI.inspectorView.element.appendChild(list.element); | 36 UI.inspectorView.element.appendChild(list.element); |
| 37 | 37 |
| 38 function dumpList() | 38 function dumpList() |
| 39 { | 39 { |
| 40 var height = list.element.offsetHeight; | 40 var height = list.element.offsetHeight; |
| 41 TestRunner.addResult(`----list[length=${list.length()}][height=${height}]----`
); | 41 TestRunner.addResult(`----list[length=${list.length()}][height=${height}]----`
); |
| 42 for (var child of list.element.children) { | 42 for (var child of list.element.children) { |
| 43 var offsetTop = child.getBoundingClientRect().top - list.element.getBounding
ClientRect().top; | 43 var offsetTop = child.getBoundingClientRect().top - list.element.getBounding
ClientRect().top; |
| 44 var offsetBottom = child.getBoundingClientRect().bottom - list.element.getBo
undingClientRect().top; | 44 var offsetBottom = child.getBoundingClientRect().bottom - list.element.getBo
undingClientRect().top; |
| 45 var visible = (offsetBottom <= 0 || offsetTop >= height) ? ' ' : | 45 var visible = (offsetBottom <= 0 || offsetTop >= height) ? ' ' : |
| 46 (offsetTop >= 0 && offsetBottom <= height ? '*' : '+'); | 46 (offsetTop >= 0 && offsetBottom <= height ? '*' : '+'); |
| 47 var selected = child.classList.contains('selected') ? ' (selected)' : ''; | 47 var selected = child.classList.contains('selected') ? ' (selected)' : ''; |
| 48 var text = child === list._topElement ? 'top' : (child === list._bottomEleme
nt ? 'bottom' : child.textContent); | 48 var text = child === list._topElement ? 'top' : (child === list._bottomEleme
nt ? 'bottom' : child.textContent); |
| 49 TestRunner.addResult(`${visible}[${offsetTop}] ${text}${selected}`); | 49 TestRunner.addResult(`${visible}[${offsetTop}] ${text}${selected}`); |
| 50 } | 50 } |
| 51 TestRunner.addResult(''); | 51 TestRunner.addResult(''); |
| 52 } | 52 } |
| 53 | 53 |
| 54 TestRunner.addResult('Adding 0, 1, 2'); | 54 TestRunner.addResult('Adding 0, 1, 2'); |
| 55 list.replaceAllItems([0, 1, 2]); | 55 list.replaceAllItems([0, 1, 2]); |
| 56 dumpList(); | 56 dumpList(); |
| 57 | 57 |
| 58 TestRunner.addResult('Scrolling to 0'); | 58 TestRunner.addResult('Scrolling to 0'); |
| 59 list.scrollItemAtIndexIntoView(0); | 59 list.scrollItemIntoView(0); |
| 60 dumpList(); | 60 dumpList(); |
| 61 | 61 |
| 62 TestRunner.addResult('Scrolling to 2'); | 62 TestRunner.addResult('Scrolling to 2'); |
| 63 list.scrollItemAtIndexIntoView(2); | 63 list.scrollItemIntoView(2); |
| 64 dumpList(); | 64 dumpList(); |
| 65 | 65 |
| 66 TestRunner.addResult('ArrowDown'); | 66 TestRunner.addResult('ArrowDown'); |
| 67 list.onKeyDown(TestRunner.createKeyEvent('ArrowDown')); | 67 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); |
| 68 dumpList(); | 68 dumpList(); |
| 69 | 69 |
| 70 TestRunner.addResult('Selecting 2'); | 70 TestRunner.addResult('Selecting 2'); |
| 71 list.selectItemAtIndex(2); | 71 list.selectItem(2); |
| 72 dumpList(); | 72 dumpList(); |
| 73 | 73 |
| 74 TestRunner.addResult('PageUp'); | 74 TestRunner.addResult('PageUp'); |
| 75 list.onKeyDown(TestRunner.createKeyEvent('PageUp')); | 75 list._onKeyDown(TestRunner.createKeyEvent('PageUp')); |
| 76 dumpList(); | 76 dumpList(); |
| 77 | 77 |
| 78 TestRunner.addResult('PageDown'); | 78 TestRunner.addResult('PageDown'); |
| 79 list.onKeyDown(TestRunner.createKeyEvent('PageDown')); | 79 list._onKeyDown(TestRunner.createKeyEvent('PageDown')); |
| 80 dumpList(); | 80 dumpList(); |
| 81 | 81 |
| 82 TestRunner.addResult('ArrowDown'); | 82 TestRunner.addResult('ArrowDown'); |
| 83 list.onKeyDown(TestRunner.createKeyEvent('ArrowDown')); | 83 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); |
| 84 dumpList(); | 84 dumpList(); |
| 85 | 85 |
| 86 TestRunner.addResult('Replacing 0 with 5, 6, 7'); | 86 TestRunner.addResult('Replacing 0 with 5, 6, 7'); |
| 87 list.replaceItemsInRange(0, 1, [5, 6, 7]); | 87 list.replaceItemsInRange(0, 1, [5, 6, 7]); |
| 88 dumpList(); | 88 dumpList(); |
| 89 | 89 |
| 90 TestRunner.addResult('ArrowUp'); | 90 TestRunner.addResult('ArrowUp'); |
| 91 list.onKeyDown(TestRunner.createKeyEvent('ArrowUp')); | 91 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp')); |
| 92 dumpList(); | 92 dumpList(); |
| 93 | 93 |
| 94 TestRunner.addResult('Pushing 10'); | 94 TestRunner.addResult('Pushing 10'); |
| 95 list.pushItem(10); | 95 list.pushItem(10); |
| 96 dumpList(); | 96 dumpList(); |
| 97 | 97 |
| 98 TestRunner.addResult('Selecting 10'); | 98 TestRunner.addResult('Selecting 10'); |
| 99 list.selectItemAtIndex(5); | 99 list.selectItem(10); |
| 100 dumpList(); | 100 dumpList(); |
| 101 | 101 |
| 102 TestRunner.addResult('Popping 10'); | 102 TestRunner.addResult('Popping 10'); |
| 103 list.popItem(); | 103 list.popItem(); |
| 104 dumpList(); | 104 dumpList(); |
| 105 | 105 |
| 106 TestRunner.addResult('Removing 2'); | 106 TestRunner.addResult('Removing 2'); |
| 107 list.removeItemAtIndex(4); | 107 list.removeItemAtIndex(4); |
| 108 dumpList(); | 108 dumpList(); |
| 109 | 109 |
| 110 TestRunner.addResult('Inserting 8'); | 110 TestRunner.addResult('Inserting 8'); |
| 111 list.insertItemAtIndex(1, 8); | 111 list.insertItemAtIndex(1, 8); |
| 112 dumpList(); | 112 dumpList(); |
| 113 | 113 |
| 114 TestRunner.addResult('Replacing with 0...20'); | 114 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]); | 115 list.replaceAllItems([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19]); |
| 116 dumpList(); | 116 dumpList(); |
| 117 | 117 |
| 118 TestRunner.addResult('Resizing'); | 118 TestRunner.addResult('Resizing'); |
| 119 list.element.style.height = '84px'; | 119 list.element.style.height = '84px'; |
| 120 list.viewportResized(); | 120 list.viewportResized(); |
| 121 dumpList(); | 121 dumpList(); |
| 122 | 122 |
| 123 TestRunner.addResult('Scrolling to 19'); | 123 TestRunner.addResult('Scrolling to 19'); |
| 124 list.scrollItemAtIndexIntoView(19); | 124 list.scrollItemIntoView(19); |
| 125 dumpList(); | 125 dumpList(); |
| 126 | 126 |
| 127 TestRunner.addResult('Scrolling to 5'); | 127 TestRunner.addResult('Scrolling to 5'); |
| 128 list.scrollItemAtIndexIntoView(5); | 128 list.scrollItemIntoView(5); |
| 129 dumpList(); | 129 dumpList(); |
| 130 | 130 |
| 131 TestRunner.addResult('Scrolling to 12'); | 131 TestRunner.addResult('Scrolling to 12'); |
| 132 list.scrollItemAtIndexIntoView(12); | 132 list.scrollItemIntoView(12); |
| 133 dumpList(); | 133 dumpList(); |
| 134 | 134 |
| 135 TestRunner.addResult('Scrolling to 13'); | 135 TestRunner.addResult('Scrolling to 13'); |
| 136 list.scrollItemAtIndexIntoView(13); | 136 list.scrollItemIntoView(13); |
| 137 dumpList(); | 137 dumpList(); |
| 138 | 138 |
| 139 TestRunner.addResult('Changing the item height'); | 139 TestRunner.addResult('Changing the item height'); |
| 140 delegate.height = 15; | 140 delegate.height = 15; |
| 141 list.fixedHeightChanged(); | 141 list.invalidateItemHeight(); |
| 142 dumpList(); | 142 dumpList(); |
| 143 | 143 |
| 144 TestRunner.addResult('Selecting 7'); | 144 TestRunner.addResult('Selecting 7'); |
| 145 list.selectItemAtIndex(7); | 145 list.selectItem(7); |
| 146 dumpList(); | 146 dumpList(); |
| 147 | 147 |
| 148 TestRunner.addResult('Replacing 7 with 27'); | 148 TestRunner.addResult('Replacing 7 with 27'); |
| 149 list.replaceItemsInRange(7, 8, [27]); | 149 list.replaceItemsInRange(7, 8, [27]); |
| 150 dumpList(); | 150 dumpList(); |
| 151 | 151 |
| 152 TestRunner.addResult('Replacing 18, 19 with 28, 29'); | 152 TestRunner.addResult('Replacing 18, 19 with 28, 29'); |
| 153 list.replaceItemsInRange(18, 20, [28, 29]); | 153 list.replaceItemsInRange(18, 20, [28, 29]); |
| 154 dumpList(); | 154 dumpList(); |
| 155 | 155 |
| 156 TestRunner.addResult('PageDown'); | 156 TestRunner.addResult('PageDown'); |
| 157 list.onKeyDown(TestRunner.createKeyEvent('PageDown')); | 157 list._onKeyDown(TestRunner.createKeyEvent('PageDown')); |
| 158 dumpList(); | 158 dumpList(); |
| 159 | 159 |
| 160 TestRunner.addResult('Replacing 1, 2, 3 with [31-43]'); | 160 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]); | 161 list.replaceItemsInRange(1, 4, [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43]); |
| 162 dumpList(); | 162 dumpList(); |
| 163 | 163 |
| 164 TestRunner.addResult('Scrolling to 13 (center)'); |
| 165 list.scrollItemIntoView(13, true); |
| 166 dumpList(); |
| 167 |
| 164 TestRunner.addResult('ArrowUp'); | 168 TestRunner.addResult('ArrowUp'); |
| 165 list.onKeyDown(TestRunner.createKeyEvent('ArrowUp')); | 169 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp')); |
| 166 dumpList(); | 170 dumpList(); |
| 167 | 171 |
| 168 TestRunner.addResult('Selecting -1'); | 172 TestRunner.addResult('Selecting -1'); |
| 169 list.selectItemAtIndex(-1); | 173 list.selectItem(null); |
| 170 dumpList(); | 174 dumpList(); |
| 171 | 175 |
| 172 TestRunner.addResult('ArrowUp'); | 176 TestRunner.addResult('ArrowUp'); |
| 173 list.onKeyDown(TestRunner.createKeyEvent('ArrowUp')); | 177 list._onKeyDown(TestRunner.createKeyEvent('ArrowUp')); |
| 174 dumpList(); | 178 dumpList(); |
| 175 | 179 |
| 176 TestRunner.addResult('Selecting -1'); | 180 TestRunner.addResult('Selecting -1'); |
| 177 list.selectItemAtIndex(-1); | 181 list.selectItem(null); |
| 178 dumpList(); | 182 dumpList(); |
| 179 | 183 |
| 180 TestRunner.addResult('ArrowDown'); | 184 TestRunner.addResult('ArrowDown'); |
| 181 list.onKeyDown(TestRunner.createKeyEvent('ArrowDown')); | 185 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); |
| 182 dumpList(); | 186 dumpList(); |
| 183 | 187 |
| 184 TestRunner.addResult('Selecting -1'); | 188 TestRunner.addResult('Selecting -1'); |
| 185 list.selectItemAtIndex(-1); | 189 list.selectItem(null); |
| 186 dumpList(); | 190 dumpList(); |
| 187 | 191 |
| 188 TestRunner.addResult('PageUp'); | 192 TestRunner.addResult('PageUp'); |
| 189 list.onKeyDown(TestRunner.createKeyEvent('PageUp')); | 193 list._onKeyDown(TestRunner.createKeyEvent('PageUp')); |
| 190 dumpList(); | 194 dumpList(); |
| 191 | 195 |
| 192 TestRunner.addResult('Replacing all but 29 with []'); | 196 TestRunner.addResult('Replacing all but 29 with []'); |
| 193 list.replaceItemsInRange(0, 29, []); | 197 list.replaceItemsInRange(0, 29, []); |
| 194 dumpList(); | 198 dumpList(); |
| 195 | 199 |
| 196 TestRunner.addResult('ArrowDown'); | 200 TestRunner.addResult('ArrowDown'); |
| 197 list.onKeyDown(TestRunner.createKeyEvent('ArrowDown')); | 201 list._onKeyDown(TestRunner.createKeyEvent('ArrowDown')); |
| 198 dumpList(); | 202 dumpList(); |
| 199 | 203 |
| 200 TestRunner.completeTest(); | 204 TestRunner.completeTest(); |
| OLD | NEW |