46 lines
1.6 KiB
HTML
46 lines
1.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This test measures the width of textareas and text inputs for different fonts.");
|
|
|
|
var sizes = [1, 2, 3, 4, 5, 10, 20, 50, 100, 500, 1000];
|
|
// This list was grabbed from Wikipedia
|
|
// http://en.wikipedia.org/wiki/Core_fonts_for_the_Web
|
|
// Impact was removed from the list as not all versions seem to have the same metrics
|
|
var ms_web_fonts = ['Andale Mono', 'Arial', 'Comic Sans MS', 'Courier New', 'Georgia',
|
|
'Times New Roman', 'Trebuchet MS', 'Verdana', 'Webdings'];
|
|
|
|
// These are fonts we expect to see installed on all systems.
|
|
var fonts = ['Lucida Grande', 'Courier', 'Helvetica', 'Monaco', 'Times'].concat(ms_web_fonts);
|
|
|
|
function printElementWidth(tagname, font) {
|
|
debug('<b>' + tagname + '</b>');
|
|
var node = document.createElement(tagname);
|
|
node.style.fontFamily = font;
|
|
document.body.appendChild(node);
|
|
var sizeProperty = tagname == 'input' ? 'size' : 'cols';
|
|
for (var i = 0; i < sizes.length; i++) {
|
|
node[sizeProperty] = sizes[i];
|
|
debug(sizeProperty + '=' + sizes[i] + ' clientWidth=' + node.clientWidth);
|
|
}
|
|
document.body.removeChild(node);
|
|
}
|
|
|
|
for (var j = 0; j < fonts.length; j++) {
|
|
debug('<b>' + fonts[j] + '</b>');
|
|
printElementWidth('input', fonts[j]);
|
|
debug('')
|
|
printElementWidth('textarea', fonts[j]);
|
|
debug('');
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|