113 lines
3.1 KiB
HTML
113 lines
3.1 KiB
HTML
<!doctype html>
|
|
<!--
|
|
Copyright (c) 2014 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.txt
|
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
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.txt
|
|
-->
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>core-selector-next-previous-wrap</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
|
|
|
<script src="../../webcomponentsjs/webcomponents.js"></script>
|
|
<script src="../../web-component-tester/browser.js"></script>
|
|
|
|
<link rel="import" href="../core-selector.html">
|
|
|
|
<style>
|
|
.core-selected {
|
|
background: #ccc;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body unresolved>
|
|
|
|
<core-selector id="selector" selected="0">
|
|
<div>Item 1</div>
|
|
<div>Item 2</div>
|
|
<div>Item 3</div>
|
|
</core-selector>
|
|
|
|
<script>
|
|
|
|
var s = document.querySelector('#selector');
|
|
|
|
function assertAndSelect(method, expectedIndex, wrap) {
|
|
return function(done) {
|
|
assert.equal(s.selected, expectedIndex);
|
|
s[method](wrap);
|
|
flush(done);
|
|
}
|
|
}
|
|
|
|
suite('next/previous', function() {
|
|
|
|
test('selectNext(true) wraps', function(done) {
|
|
assert.equal(s.selected, 0);
|
|
|
|
async.series([
|
|
assertAndSelect('selectNext', 0, true),
|
|
assertAndSelect('selectNext', 1, true),
|
|
assertAndSelect('selectNext', 2, true),
|
|
function(done) {
|
|
assert.equal(s.selected, 0);
|
|
done();
|
|
}
|
|
], done);
|
|
});
|
|
|
|
test('selectPrevious(true) wraps', function(done) {
|
|
assert.equal(s.selected, 0);
|
|
|
|
async.series([
|
|
assertAndSelect('selectPrevious', 0, true),
|
|
assertAndSelect('selectPrevious', 2, true),
|
|
assertAndSelect('selectPrevious', 1, true),
|
|
function(done) {
|
|
assert.equal(s.selected, 0);
|
|
done();
|
|
}
|
|
], done);
|
|
});
|
|
|
|
test('selectNext() does not wrap', function(done) {
|
|
assert.equal(s.selected, 0);
|
|
|
|
async.series([
|
|
assertAndSelect('selectNext', 0),
|
|
assertAndSelect('selectNext', 1),
|
|
assertAndSelect('selectNext', 2),
|
|
assertAndSelect('selectNext', 2),
|
|
assertAndSelect('selectNext', 2),
|
|
function(done) {
|
|
s.selected = 0;
|
|
asyncPlatformFlush(done);
|
|
}
|
|
], done);
|
|
});
|
|
|
|
test('selectPrevious() does not wrap', function(done) {
|
|
assert.equal(s.selected, 0);
|
|
s.selected = 2;
|
|
|
|
async.series([
|
|
asyncPlatformFlush,
|
|
assertAndSelect('selectPrevious', 2),
|
|
assertAndSelect('selectPrevious', 1),
|
|
assertAndSelect('selectPrevious', 0),
|
|
assertAndSelect('selectPrevious', 0),
|
|
assertAndSelect('selectPrevious', 0),
|
|
], done);
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|