<!DOCTYPE html>
<html>
<div>Test passes if it does not induce a crash.</div>
<script src="../../resources/testharness.js"></script>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

test(function() {
    var cue = new TextTrackCue(0, 1, '<c>x\0');
    window.fragment = cue.getCueAsHTML();
}, document.title + ', creating the cue');

test(function() {
    assert_false(fragment.childNodes[0].hasChildNodes(), 'hasChildNodes()');
}, document.title + ', >');

test(function() {}, document.title + ', ');
test(function() {}, document.title + ', x\\0');
</script>
</html>
