<html>
<head>
<title>Test for Buzilla Bug 15359: JPEG image not shown when height is specified as percentage inside a table</title>
<script src="../../resources/js-test-pre.js"></script>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}

function getComputedStyleForElement(element, cssPropertyName)
{
    if (!element) {
        return null;
    }
    if (window.getComputedStyle) {
        return window.getComputedStyle(element, '').getPropertyValue(cssPropertyName.replace(/([A-Z])/g, "-$1").toLowerCase());
    }
    if (element.currentStyle) {
        return element.currentStyle[cssPropertyName];
    }
    return null;
}

function getWidth(id)
{
    return getComputedStyleForElement(document.getElementById(id), 'width');
}

function getHeight(id)
{
    return getComputedStyleForElement(document.getElementById(id), 'height');
}

function parsePixelValue(str)
{
    if (typeof str != "string" || str.length < 3 || str.substr(str.length - 2) != "px") {
        testFailed(str + " is unparsable.");
        return -1;
    }
    return parseFloat(str);
}

function is75PercentOf(expression75, expression100, hasSubpixelSupport)
{
    var str75 = eval(expression75);
    var str100 = eval(expression100);
    var num75 = parsePixelValue(str75);
    var num100 = parsePixelValue(str100);
    if (num75 < 0 || num100 < 0)
        return;
    var expectedValue = num100 * 75 / 100;
    if (!hasSubpixelSupport)
        expectedValue = Math.floor(expectedValue);
    if (num75 == expectedValue)
        testPassed(expression75 + " is 75% of " + expression100 + ".");
    else
        testFailed(expression75 + " [" + str75 + "] is not 75% of " + expression100 + " [" + str100 + "].");
}

function test()
{
    description("This test checks that replaced elements with percentage heights within table cells have the correct height.<br>Note, some of the button height tests fail on the Windows ports. See bug #34071.");

    var hasSubpixelSupport = getWidth('canvas-75') == '225px';

    shouldBe("getWidth('canvas-75')", hasSubpixelSupport ? "'225px'" : "'224px'");
    shouldBe("getHeight('canvas-75')", hasSubpixelSupport ? "'112.5px'" : "'112px'");
    shouldBe("getWidth('canvas-100')", "'300px'");
    shouldBe("getHeight('canvas-100')", "'150px'");

    shouldBe("getWidth('embed-75')", "'300px'");
    shouldBe("getHeight('embed-75')", hasSubpixelSupport ? "'112.5px'" : "'112px'");
    shouldBe("getWidth('embed-100')", "'300px'");
    shouldBe("getHeight('embed-100')", "'150px'");

    shouldBe("getWidth('img-75')", "'75px'");
    shouldBe("getHeight('img-75')", "'75px'");
    shouldBe("getWidth('img-100')", "'100px'");
    shouldBe("getHeight('img-100')", "'100px'");

    shouldBe("getWidth('img-75-nested')", "'75px'");
    shouldBe("getHeight('img-75-nested')", "'75px'");
    shouldBe("getWidth('img-100-nested')", "'100px'");
    shouldBe("getHeight('img-100-nested')", "'100px'");

    shouldBe("getWidth('object-75')", "'300px'");
    shouldBe("getHeight('object-75')", hasSubpixelSupport ? "'112.5px'" : "'112px'");
    shouldBe("getWidth('object-100')", "'300px'");
    shouldBe("getHeight('object-100')", "'150px'");

    shouldBe("getWidth('button-75')", "getWidth('button-100')");
    shouldBeTrue("getHeight('button-75') != '0px'");
    shouldBe("getHeight('button-75')", "getHeight('button-100')");

    shouldBe("getWidth('input-button-75')", "getWidth('input-button-100')");
    shouldBeTrue("getHeight('input-button-75') != '0px'");
    shouldBe("getHeight('input-button-75')", "getHeight('input-button-100')");

    shouldBe("getWidth('input-checkbox-75')", "getWidth('input-checkbox-100')");
    shouldBeFalse("getHeight('input-checkbox-75') != '0px'");
    // Note: This behavior doesn't match to Firefox 3.5 and Opera 10.
    is75PercentOf("getHeight('input-checkbox-75')", "getHeight('input-checkbox-100')", hasSubpixelSupport);

    shouldBe("getWidth('input-file-75')", "getWidth('input-file-100')");
    shouldBeTrue("getHeight('input-file-75') != '0px'");

    // Note: This behavior doesn't match to Firefox 3.5 and Opera 10.
    shouldBe("getWidth('input-image-75')", "'75px'");
    shouldBe("getHeight('input-image-75')", "'75px'");
    shouldBe("getWidth('input-image-100')", "'100px'");
    shouldBe("getHeight('input-image-100')", "'100px'");

    shouldBe("getWidth('input-radio-75')", "getWidth('input-radio-100')");
    shouldBeFalse("getHeight('input-radio-75') != '0px'");
    // Note: This behavior doesn't match to Firefox 3.5 and Opera 10.
    is75PercentOf("getHeight('input-radio-75')", "getHeight('input-radio-100')", hasSubpixelSupport);

    shouldBe("getWidth('input-reset-75')", "getWidth('input-reset-100')");
    shouldBeTrue("getHeight('input-reset-75') != '0px'");
    shouldBe("getHeight('input-reset-75')", "getHeight('input-reset-100')");

    shouldBe("getWidth('input-submit-75')", "getWidth('input-submit-100')");
    shouldBeTrue("getHeight('input-submit-75') != '0px'");
    shouldBe("getHeight('input-submit-75')", "getHeight('input-submit-100')");

    shouldBe("getWidth('select-75')", "getWidth('select-100')");
    shouldBeTrue("getHeight('select-75') != '0px'");
    shouldBe("getHeight('select-75')", "getHeight('select-100')");

    isSuccessfullyParsed();

    if (window.testRunner) { 
        testRunner.notifyDone();
    }
}
</script>
</head>
<body onload="test()">

<table><tr><td><canvas id="canvas-75" style="background-color: #00ff00; height: 75%;"></canvas></td></tr></table>
<table><tr><td><canvas id="canvas-100" style="background-color: #00ff00; height: 100%;"></canvas></td></tr></table>

<table><tr><td><embed id="embed-75" type="video/quicktime" style="background-color: #00ff00; height: 75%;"></embed></td></tr></table>
<table><tr><td><embed id="embed-100" type="video/quicktime" style="background-color: #00ff00; height: 100%;"></embed></td></tr></table>

<table><tr><td><img id="img-75" src="resources/square-blue-100x100.png" style="height: 75%;"></td></tr></table>
<table><tr><td><img id="img-100" src="resources/square-blue-100x100.png" style="height: 100%;"></td></tr></table>

<table><tr><td><div><img id="img-75-nested" src="resources/square-blue-100x100.png" style="height: 75%;"></div></td></tr></table>
<table><tr><td><div><img id="img-100-nested" src="resources/square-blue-100x100.png" style="height: 100%;"></div></td></tr></table>

<table><tr><td><object id="object-75" style="background-color: #00ff00; height: 75%;"></object></td></tr></table>
<table><tr><td><object id="object-100" style="background-color: #00ff00; height: 100%;"></object></td></tr></table>

<table><tr><td><button id="button-75" style="height: 75%;">Button</button></td></tr></table>
<table><tr><td><button id="button-100" style="height: 100%;">Button</button></td></tr></table>

<table><tr><td><input type="button" id="input-button-75" style="height: 75%;" value="Input"></td></tr></table>
<table><tr><td><input type="button" id="input-button-100" style="height: 100%;" value="Input"></td></tr></table>

<table><tr><td><input type="checkbox" id="input-checkbox-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="checkbox" id="input-checkbox-100" style="height: 100%;"></td></tr></table>

<table><tr><td><input type="file" id="input-file-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="file" id="input-file-100" style="height: 100%;"></td></tr></table>

<table><tr><td><input type="image" src="resources/square-blue-100x100.png" id="input-image-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="image" src="resources/square-blue-100x100.png" id="input-image-100" style="height: 100%;"></td></tr></table>

<table><tr><td><input type="radio" id="input-radio-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="radio" id="input-radio-100" style="height: 100%;"></td></tr></table>

<table><tr><td><input type="reset" id="input-reset-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="reset" id="input-reset-100" style="height: 100%;"></td></tr></table>

<table><tr><td><input type="submit" id="input-submit-75" style="height: 75%;"></td></tr></table>
<table><tr><td><input type="submit" id="input-submit-100" style="height: 100%;"></td></tr></table>

<table><tr><td><select id="select-75" style="height: 75%;"><option>Option</option></select></td></tr></table>
<table><tr><td><select id="select-100" style="height: 100%;"><option>Option</option></select></td></tr></table>

<p id="description"></p>
<div id="console"></div>
</body>
</html>
