110 lines
2.8 KiB
HTML
110 lines
2.8 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>paper-ripple position tests</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>
|
|
<script src="../../polymer-gestures/test/js/fake.js"></script>
|
|
|
|
<link href="../paper-ripple.html" rel="import">
|
|
|
|
<style>
|
|
.ripple-container {
|
|
border: 1px solid black;
|
|
position: relative;
|
|
margin: 16px;
|
|
}
|
|
|
|
.ripple-container > span {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ripple-1 {
|
|
width: 320px;
|
|
height: 480px;
|
|
}
|
|
|
|
.ripple-1-tap {
|
|
top: 10px;
|
|
}
|
|
|
|
.ripple-2 {
|
|
width: 480px;
|
|
height: 320px;
|
|
}
|
|
|
|
.ripple-2-tap {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ripple-3 {
|
|
width: 320px;
|
|
height: 320px;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body unresolved>
|
|
|
|
<div class="ripple-container ripple-1" layout vertical center>
|
|
<paper-ripple fit></paper-ripple>
|
|
<span class="ripple-1-tap">tap here</span>
|
|
</div>
|
|
|
|
<div class="ripple-container ripple-2" layout horizontal center>
|
|
<paper-ripple fit></paper-ripple>
|
|
<span class="ripple-2-tap">tap here</span>
|
|
</div>
|
|
|
|
<script>
|
|
var fake = new Fake();
|
|
|
|
function centerOf(node) {
|
|
var rect = node.getBoundingClientRect();
|
|
return {x: rect.left + rect.width / 2, y: rect.top + rect.height / 2};
|
|
}
|
|
|
|
function approxEqual(p1, p2) {
|
|
return Math.floor(p1.x) == Math.floor(p2.x) && Math.floor(p1.y) == Math.floor(p2.y);
|
|
}
|
|
|
|
test('tall container', function(done) {
|
|
var ripple1 = document.querySelector('.ripple-1-tap');
|
|
fake.downOnNode(ripple1, function() {
|
|
requestAnimationFrame(function() {
|
|
var wave = document.querySelector('.ripple-1 /deep/ .wave');
|
|
assert.ok(approxEqual(centerOf(ripple1), centerOf(wave)));
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
test('wide container', function(done) {
|
|
var ripple2 = document.querySelector('.ripple-2-tap');
|
|
fake.downOnNode(ripple2, function() {
|
|
requestAnimationFrame(function() {
|
|
var wave = document.querySelector('.ripple-2 /deep/ .wave');
|
|
assert.ok(approxEqual(centerOf(ripple2), centerOf(wave)));
|
|
done();
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|