jellyfin-web/dashboard-ui/bower_components/iron-list/test/physical-count.html
Luke Pulverenti da7c9a4899 add iron-list
2016-04-20 23:34:52 -04:00

105 lines
3.0 KiB
HTML

<!doctype html>
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
The complete set of authors may be found at http://polymer.github.io/AUTHORS
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
-->
<html>
<head>
<meta charset="UTF-8">
<title>iron-list test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
<script src="../../web-component-tester/browser.js"></script>
<link rel="import" href="helpers.html">
<link rel="import" href="x-list.html">
</head>
<body>
<test-fixture id="trivialList">
<template>
<x-list list-height="100" item-height="2"></x-list>
</template>
</test-fixture>
<test-fixture id="trivialListSmall">
<template>
<x-list list-height="2" item-height="2"></x-list>
</template>
</test-fixture>
<script>
suite('dynamic physical count', function() {
var list, container;
setup(function() {
container = fixture('trivialList');
list = container.list;
list.items = buildDataSet(200);
});
test('increase pool size', function(done) {
setTimeout(function() {
list.scrollTop = 0;
var lastItem = getLastItemFromList(list);
var lastItemHeight = lastItem.offsetHeight;
var expectedFinalItem = container.listHeight/lastItemHeight - 1;
assert.equal(list.offsetHeight, container.listHeight);
assert.equal(lastItemHeight, 2);
assert.isTrue(isFullOfItems(list));
assert.equal(lastItem.textContent, expectedFinalItem);
done();
}, 100);
});
});
suite('iron-resize', function() {
var list, container;
setup(function() {
container = fixture('trivialListSmall');
list = container.list;
list.style.display = 'none';
list.items = buildDataSet(200);
});
test('increase pool size after resizing the list', function(done) {
flush(function() {
list.style.display = '';
assert.notEqual(getFirstItemFromList(list).textContent, '0', 'Item should not be rendered');
list.fire('iron-resize');
flush(function() {
assert.equal(getFirstItemFromList(list).textContent, '0', 'Item should be rendered');
done();
});
});
});
test('pool should not increase if the list has no size', function(done) {
container.style.display = 'none';
list.fire('iron-resize');
flush(function() {
assert.isFalse(list._increasePoolIfNeeded());
done();
});
});
});
</script>
</body>
</html>