Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / media / media-source / mediasource-endofstream-invaliderror.html
1 <!DOCTYPE html>
2 <html>
3     <head>
4         <script src="/w3c/resources/testharness.js"></script>
5         <script src="/w3c/resources/testharnessreport.js"></script>
6         <script src="mediasource-util.js"></script>
7         <link rel='stylesheet' href='/w3c/resources/testharness.css'>
8     </head>
9     <body>
10         <div id="log"></div>
11         <script>
12           mediasource_test(function(test, mediaElement, mediaSource)
13           {
14               test.failOnEvent(mediaElement, 'error');
15               assert_equals(mediaSource.readyState, 'open');
16
17               assert_throws(new TypeError(),
18                   function() { mediaSource.endOfStream('garbage'); },
19                   'endOfStream(\'garbage\') throws TypeError');
20
21               assert_equals(mediaSource.readyState, 'open');
22               test.done();
23           }, 'Test MediaSource.endOfStream() with invalid non-empty error string.');
24
25           mediasource_test(function(test, mediaElement, mediaSource)
26           {
27               test.failOnEvent(mediaElement, 'error');
28               assert_equals(mediaSource.readyState, 'open');
29
30               assert_throws(new TypeError(),
31                   function() { mediaSource.endOfStream(''); },
32                   'endOfStream(\'\') throws TypeError');
33
34               assert_equals(mediaSource.readyState, 'open');
35               test.done();
36           }, 'Test MediaSource.endOfStream() with invalid empty error string.');
37
38           mediasource_test(function(test, mediaElement, mediaSource)
39           {
40               test.failOnEvent(mediaElement, 'error');
41               assert_equals(mediaSource.readyState, 'open');
42
43               test.expectEvent(mediaSource, 'sourceend');
44               mediaSource.endOfStream();
45
46               assert_equals(mediaSource.readyState, 'ended');
47               assert_throws("InvalidStateError",
48                   function() {  mediaSource.endOfStream(); },
49                   "endofStream() threw an exception when in ended state");
50              
51               test.done();
52           }, 'Test MediaSource.endOfStream() with when readyState is ended.');
53           
54           mediasource_test(function(test, mediaElement, mediaSource)
55           {
56               test.failOnEvent(mediaElement, 'error');
57               assert_equals(mediaSource.readyState, 'open');
58
59               test.expectEvent(mediaSource, 'sourceend');
60               mediaSource.endOfStream();
61
62               assert_equals(mediaSource.readyState, 'ended');
63               assert_throws("InvalidStateError",
64                   function() {  mediaSource.endOfStream("decode"); },
65                   "endofStream() threw an exception when in ended state");
66    
67               test.done();
68           }, 'Test MediaSource.endOfStream(decode) with when readyState is ended.');
69
70           mediasource_test(function(test, mediaElement, mediaSource)
71           {
72               test.failOnEvent(mediaElement, 'error');
73               assert_equals(mediaSource.readyState, 'open');
74
75               test.expectEvent(mediaSource, 'sourceend');
76               mediaSource.endOfStream();
77
78               assert_equals(mediaSource.readyState, 'ended');
79               assert_throws("InvalidStateError",
80                   function() {  mediaSource.endOfStream("network"); },
81                   "endofStream() threw an exception when in ended state");
82               
83               test.done();
84           }, 'Test MediaSource.endOfStream(network) with when readyState is ended.');
85                               
86           mediasource_test(function(test, mediaElement, mediaSource)
87           {
88               test.failOnEvent(mediaElement, 'error');
89               assert_equals(mediaSource.readyState, 'open');
90
91               assert_throws(new TypeError(),
92                   function() { mediaSource.endOfStream(null); },
93                   'endOfStream(null) throws TypeError');
94
95               assert_equals(mediaSource.readyState, 'open');
96               test.done();
97           }, 'Test MediaSource.endOfStream() with invalid null error parameter.');
98         </script>
99     </body>
100 </html>