forked from GoogleChrome/dialog-polyfill
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dialog-centering.html
41 lines (39 loc) · 1.2 KB
/
dialog-centering.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<html>
<meta charset='utf-8'>
<head>
<script src="../dialog-polyfill.js"></script>
<link rel="stylesheet" type="text/css" href="../dialog-polyfill.css">
</head>
<body>
<p>Test that dialog is centered in the viewport. The test passes if you see a
box in the center of the screen.</p>
<div id="console"></div>
<dialog>Hello</dialog>
<script>
function writeToConsole(s) {
var console = document.getElementById('console');
var span = document.createElement('span');
span.textContent = s;
console.appendChild(span);
console.appendChild(document.createElement('br'));
}
function checkCentered(dialog) {
var expectedTop = (window.innerHeight - dialog.offsetHeight) / 2;
var expectedLeft = (window.innerWidth - dialog.offsetWidth) / 2;
var rect = dialog.getBoundingClientRect();
if (rect.top == expectedTop && rect.left == expectedLeft) {
writeToConsole('SUCCESS');
} else {
writeToConsole('FAIL: expected dialog top,left to be ' +
expectedTop + ',' + expectedLeft + ' and was actually ' +
rect.top + ',' + rect.left);
}
}
var dialog = document.querySelector('dialog');
dialogPolyfill.registerDialog(dialog);
dialog.show();
checkCentered(dialog);
</script>
</body>
</html>