chromium/third_party/blink/web_tests/fast/dom/length-attribute-mapping.html

<p>
    This tests the mapping of length-type attributes to CSS length values.
</p>
<pre id="console"></pre>
<img id="img" style="display: none;">
<table><col id="col" style="display: none;"></table>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    var console = document.getElementById("console");
    function log(message)
    {
        console.appendChild(document.createTextNode(message + "\n"));
    }

    function test(target, value, expected)
    {
        target.setAttribute("height", value);
        var actual = getComputedStyle(target, null).height;
        var mapping = actual == "auto" ? "not mapped" : "mapped to " + actual;
        if (actual == (expected ? expected : "auto"))
            log("PASS: " + value + " is " + mapping);
        else
            log("FAIL: " + value + " is " + mapping + " instead of " + (expected ? expected : "not being mapped"));
    }

    var img = document.getElementById("img");
    log ("<img>:");
    test(img, "90zz", "90px");
    test(img, "80%", "80%");
    test(img, "70%5", "70%");
    test(img, "60%%", "60%");
    test(img, "50*");
    test(img, "40*5");
    test(img, "30.5", "30.5px");
    log("");

    var col = document.getElementById("col");
    log ("<col>:");
    test(col, "90zz", "90px");
    test(col, "80%", "80%");
    test(col, "70%5", "70%");
    test(col, "60%%", "60%");
    test(col, "50*");
    test(col, "40*5");
    test(col, "30.5", "30.5px");
</script>