<script>
function myfunc() {
try { myvideo.poster = "" + String.fromCharCode(117, 67, 45, 112, 50, 57, 122, 86, 51, 72, 81, 67, 110, 100, 111, 43, 58, 74) + ""; } catch(e) { }

}
</script>
<body onload=myfunc()>
<video id="myvideo" preload="metadata" video">&lt;ls&#x27;|</video>

<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
<p>This test passes if it doesn't crash.</p>
</body>