MCPcopy
hub / github.com/winjs/winjs / validateGroupedTree

Function validateGroupedTree

tests/ListViewComponents/VirtualizeContentsViewTest.ts:198–262  ·  view source on GitHub ↗
(listView, expectedItemsPerBlock?)

Source from the content-addressed store, hash-verified

196 }
197
198 function validateGroupedTree(listView, expectedItemsPerBlock?) {
199 expectedItemsPerBlock = expectedItemsPerBlock || STRUCTURENODE_SIZE;
200
201 var containers,
202 itemsContainers = listView.element.querySelectorAll(".win-itemscontainer"),
203 headers = listView.element.querySelectorAll(".win-groupheadercontainer");
204
205 LiveUnit.Assert.areEqual(listView.groupDataSource.list.length, itemsContainers.length);
206 LiveUnit.Assert.areEqual(listView.groupDataSource.list.length, headers.length);
207
208 if (!listView._view.tree[0].itemsContainer.itemsBlocks) {
209 containers = listView.element.querySelectorAll(".win-container");
210
211 LiveUnit.Assert.areEqual(listView.itemDataSource.list.length, containers.length);
212 for (var i = 0, len = containers.length; i < len; i++) {
213 var container = containers[i],
214 itemBox = container.firstElementChild;
215
216 LiveUnit.Assert.areEqual(container, listView._view.containers[i]);
217
218 if (itemBox) {
219 LiveUnit.Assert.isTrue(WinJS.Utilities.hasClass(itemBox, "win-itembox"));
220 LiveUnit.Assert.areEqual(listView.selection._isIncluded(i), WinJS.Utilities.hasClass(container, "win-selected"));
221 LiveUnit.Assert.areEqual(listView.selection._isIncluded(i), WinJS.Utilities.hasClass(itemBox, "win-selected"));
222 } else {
223 LiveUnit.Assert.isFalse(WinJS.Utilities.hasClass(container, "win-selected"));
224 }
225 }
226
227
228 LiveUnit.Assert.areEqual(containers.length - 1, listView._view.lastItemIndex());
229 } else {
230 verifyContainerStripesByIndex(listView);
231 }
232
233 var prevElement = listView.element.querySelector("._win-proxy");
234 for (var i = 0, itemIndex = 0, blockIndex = 0, len = listView._view.tree.length; i < len; i++) {
235 var group = listView._view.tree[i];
236
237 LiveUnit.Assert.areEqual(headers[i], group.header);
238 LiveUnit.Assert.areEqual(itemsContainers[i], group.itemsContainer.element);
239
240 LiveUnit.Assert.areEqual(prevElement.nextElementSibling, group.header);
241 LiveUnit.Assert.areEqual(group.header.nextElementSibling, group.itemsContainer.element);
242
243 if (group.itemsContainer.itemsBlocks) {
244 var blocks = group.itemsContainer.itemsBlocks;
245 for (var j = 0; j < blocks.length; j++) {
246 var block = blocks[j];
247
248 LiveUnit.Assert.isTrue(j + 1 >= blocks.length || block.element.children.length === expectedItemsPerBlock);
249
250 for (var n = 0; n < block.items.length; n++) {
251 LiveUnit.Assert.areEqual(listView._view.containers[itemIndex++], block.items[n]);
252 }
253 }
254 } else {
255 for (var n = 0; n < group.itemsContainer.items.length; n++) {

Callers 3

Calls 5

querySelectorAllMethod · 0.80
_isIncludedMethod · 0.80
querySelectorMethod · 0.80
hasClassMethod · 0.65

Tested by

no test coverage detected