OLD | NEW |
| (Empty) |
1 <!doctype html> | |
2 <html> | |
3 <head> | |
4 <title>paper-ripple</title> | |
5 | |
6 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-
scale=1.0"> | |
7 <meta name="mobile-web-app-capable" content="yes"> | |
8 <meta name="apple-mobile-web-app-capable" content="yes"> | |
9 | |
10 <script src="../../../platform/platform.js"></script> | |
11 | |
12 <link href="../../paper-ripple.html" rel="import"> | |
13 | |
14 <script src="../../../polymer-test-tools/chai/chai.js"></script> | |
15 <script src="../../../polymer-test-tools/htmltest.js"></script> | |
16 <script src="../../../polymer-gestures/test/js/fake.js"></script> | |
17 | |
18 <style> | |
19 .ripple-container { | |
20 border: 1px solid black; | |
21 position: relative; | |
22 margin: 16px; | |
23 } | |
24 | |
25 .ripple-container > span { | |
26 pointer-events: none; | |
27 } | |
28 | |
29 .ripple-1 { | |
30 width: 320px; | |
31 height: 480px; | |
32 } | |
33 | |
34 .ripple-1-tap { | |
35 top: 10px; | |
36 } | |
37 | |
38 .ripple-2 { | |
39 width: 480px; | |
40 height: 320px; | |
41 } | |
42 | |
43 .ripple-2-tap { | |
44 pointer-events: none; | |
45 } | |
46 | |
47 .ripple-3 { | |
48 width: 320px; | |
49 height: 320px; | |
50 } | |
51 </style> | |
52 | |
53 </head> | |
54 <body unresolved> | |
55 | |
56 <p>ripple originates from the tap position 1:</p> | |
57 <div class="ripple-container ripple-1" layout vertical center> | |
58 <paper-ripple fit></paper-ripple> | |
59 <span class="ripple-1-tap">tap here</span> | |
60 </div> | |
61 | |
62 <p>ripple originates from the tap position 2:</p> | |
63 <div class="ripple-container ripple-2" layout horizontal center> | |
64 <paper-ripple fit></paper-ripple> | |
65 <span class="ripple-2-tap">tap here</span> | |
66 </div> | |
67 | |
68 <script> | |
69 var fake = new Fake(); | |
70 | |
71 function centerOf(node) { | |
72 var rect = node.getBoundingClientRect(); | |
73 return {x: rect.left + rect.width / 2, y: rect.top + rect.height / 2}; | |
74 } | |
75 | |
76 function approxEqual(p1, p2) { | |
77 return Math.floor(p1.x) == Math.floor(p2.x) && Math.floor(p1.y) == Math.fl
oor(p2.y); | |
78 } | |
79 | |
80 function test1() { | |
81 var ripple1 = document.querySelector('.ripple-1-tap'); | |
82 fake.downOnNode(ripple1, function() { | |
83 | |
84 requestAnimationFrame(function() { | |
85 var wave = document.querySelector('.ripple-1 /deep/ .wave'); | |
86 chai.assert(approxEqual(centerOf(ripple1), centerOf(wave)), 'ripple po
sition is incorrect in tall container'); | |
87 | |
88 test2(); | |
89 }); | |
90 | |
91 }); | |
92 } | |
93 | |
94 function test2() { | |
95 var ripple1 = document.querySelector('.ripple-2-tap'); | |
96 fake.downOnNode(ripple1, function() { | |
97 | |
98 requestAnimationFrame(function() { | |
99 var wave = document.querySelector('.ripple-2 /deep/ .wave'); | |
100 chai.assert(approxEqual(centerOf(ripple1), centerOf(wave)), 'ripple po
sition is incorrect in wide container'); | |
101 | |
102 done(); | |
103 }); | |
104 | |
105 }); | |
106 } | |
107 | |
108 document.addEventListener('polymer-ready', test1); | |
109 </script> | |
110 | |
111 </body> | |
112 </html> | |
OLD | NEW |