<html>
<head>
    <style>
        li { list-style-image: url(about:blank); }
    </style>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=13157">http://bugs.webkit.org/show_bug.cgi?id=13157</a>
        List markers positioned incorrectly and don't repaint properly on Oxford homepage</i>.
    </p>
    <p>
        There should be a bullet next to each item on the following list:
    </p>
    <ul>
        <li>Prospectuses and courses</li>
        <li>Undergraduate admissions</li>
        <li>Graduate admissions</li>
        <li>Continuing education</li>
        <li>Online courses</li>
    </ul>
    <script>
        // Force layout to happen before loading the marker image fails.
        document.body.offsetTop;
    </script>
</body>
</html>
