<html>
<head>
    <title></title>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=12746">http://bugs.webkit.org/show_bug.cgi?id=12746</a>
        REGRESSION (r13853): List item's first line overflows containing div</i>.
    </p>
    <p>
        Text should not overflow the yellow box.
    </p>
    <div style="background-color:yellow; width: 125px;">
        <li><span id="text">
            Lorem ipsum dolor sit amet
        </span></li>
    </div>
    <div id="result">
    </div>
    <script>
        var result = document.getElementById("result");
        var text = document.getElementById("text");
        if (text.offsetWidth <= 125)
            result.innerHTML = "PASS";
        else
            result.innerHTML = "FAILED: text.offsetWidth=" + text.offsetWidth;

        if (window.testRunner)
            testRunner.dumpAsText();
    </script>
</body>
</html>
