<!DOCTYPE html>
<html>
<div>Test passes if it does not induce a crash.</div>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
test(function() {
    var cue = new VTTCue(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>
