<!doctype html>
<title>TextTrackCueList.getCueById</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<script>
test(function(){
    var video = document.createElement('video');
    var t = video.addTextTrack('subtitles');
    document.body.appendChild(video);
    var cues = t.cues;
    var c = new VTTCue(0, 1, 'text1');
    t.addCue(c);
    assert_equals(cues.getCueById(""), null, '""');
    assert_equals(cues.getCueById(null), null, 'null');
    assert_equals(cues.getCueById(undefined), null, 'undefined');
}, document.title+ ', no id');
test(function(){
    var video = document.createElement('video');
    var t = video.addTextTrack('subtitles');
    document.body.appendChild(video);
    var cues = t.cues;
    var c = new VTTCue(0, 1, 'text1');
    c.id = 'foo';
    t.addCue(c);
    assert_equals(cues.getCueById(""), null, '""');
    assert_equals(cues.getCueById("foo"), c, '"foo"');
    assert_equals(cues.getCueById({toString:function(){return "foo"}}), c, 'object');
}, document.title+ ', id foo');
test(function(){
    var video = document.createElement('video');
    var t = video.addTextTrack('subtitles');
    document.body.appendChild(video);
    var cues = t.cues;
    var c = new VTTCue(0, 1, 'text1');
    c.id = '1';
    t.addCue(c);
    assert_equals(cues.getCueById(""), null, '""');
    assert_equals(cues.getCueById("1"), c, '"1"');
    assert_equals(cues.getCueById(1), c, '1');
}, document.title+ ', no 1');
test(function(){
    var video = document.createElement('video');
    var t = video.addTextTrack('subtitles');
    document.body.appendChild(video);
    var cues = t.cues;
    var c = new VTTCue(0, 1, 'text1');
    c.id = 'a\u0000b';
    t.addCue(c);
    assert_equals(cues.getCueById("a\u0000b"), c, '"a\\u0000b"');
    assert_equals(cues.getCueById("a"), null, '"a"');
}, document.title+ ', id a\\u0000b');
</script>
