<script>
if (window.testRunner)
    testRunner.dumpAsText();
document.write("<script src>");
document.writeln("</scr" + "ipt>");
</script>
you shouldn't see a random chinese character here
