Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(621)

Side by Side Diff: LayoutTests/media/encrypted-media/encrypted-media-keystatuses.html

Issue 880313003: Add additional layout tests for MediaKeySession.keyStatuses (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Verify MediaKeySession.keyStatuses</title> 4 <title>Verify MediaKeySession.keyStatuses</title>
5 <script src="encrypted-media-utils.js"></script> 5 <script src="encrypted-media-utils.js"></script>
6 <script src="../../resources/testharness.js"></script> 6 <script src="../../resources/testharness.js"></script>
7 <script src="../../resources/testharnessreport.js"></script> 7 <script src="../../resources/testharnessreport.js"></script>
8 </head> 8 </head>
9 <body> 9 <body>
10 <div id="log"></div> 10 <div id="log"></div>
(...skipping 19 matching lines...) Expand all
30 waitForEventAndRunStep('keystatuseschange', mediaKeySession, processKeyStatusesChange, test); 30 waitForEventAndRunStep('keystatuseschange', mediaKeySession, processKeyStatusesChange, test);
31 31
32 var jwkSet = stringToUint8Array(createJWKSet(createJWK(key1, rawKey1), createJWK(key2, rawKey2))); 32 var jwkSet = stringToUint8Array(createJWKSet(createJWK(key1, rawKey1), createJWK(key2, rawKey2)));
33 mediaKeySession.update(jwkSet).catch(function(error) { 33 mediaKeySession.update(jwkSet).catch(function(error) {
34 forceTestFailureFromPromise(test, error); 34 forceTestFailureFromPromise(test, error);
35 }); 35 });
36 } 36 }
37 37
38 function processKeyStatusesChange(event) 38 function processKeyStatusesChange(event)
39 { 39 {
40 // Two keys added, so both should show up in |keyStatuses|.
40 assert_equals(mediaKeySession.keyStatuses.size, 2); 41 assert_equals(mediaKeySession.keyStatuses.size, 2);
41 consoleWrite("for (var entry of keyStatuses)"); 42 dumpKeyStatuses(mediaKeySession.keyStatuses);
43
44 // Check |keyStatuses| for 2 entries.
45 var key1String = arrayBufferAsString(key1);
46 var key2String = arrayBufferAsString(key2);
47 var count = 0;
42 for (var entry of mediaKeySession.keyStatuses) { 48 for (var entry of mediaKeySession.keyStatuses) {
sandersd (OOO until July 31) 2015/01/30 20:40:00 This could be made into a helper function that, gi
jrummell 2015/01/30 22:33:56 Done.
43 consoleWrite(arrayBufferAsString(entry[0]) + ", " + entr y[1]); 49 ++count;
50 assert_true(arrayBufferAsString(entry[0]) == key1String ||
51 arrayBufferAsString(entry[0]) == key2String) ;
52 assert_equals(entry[1], 'usable');
44 } 53 }
45 consoleWrite("for (var key of keyStatuses.keys())"); 54 assert_equals(count, 2, 'keyStatuses does not contain 2 entr ies');
55
56 // |keyStatuses| must contain both keys.
57 count = 0;
58 var seen1 = false;
59 var seen2 = false;
46 for (var key of mediaKeySession.keyStatuses.keys()) { 60 for (var key of mediaKeySession.keyStatuses.keys()) {
47 consoleWrite(arrayBufferAsString(key)); 61 ++count;
62 assert_true(arrayBufferAsString(key) == key1String ||
63 arrayBufferAsString(key) == key2String);
64 if (arrayBufferAsString(key) == key1String)
65 seen1 = true;
66 if (arrayBufferAsString(key) == key2String)
67 seen2 = true;
48 } 68 }
49 consoleWrite("for (var value of keyStatuses.values())"); 69 assert_equals(count, 2, 'keyStatuses.keys() does not contain 2 entries');
70 assert_true(seen1, 'key1 not returned');
71 assert_true(seen2, 'key2 not returned');
72
73 // Both values in |mediaKeySession| should be 'usable'.
74 count = 0;
50 for (var value of mediaKeySession.keyStatuses.values()) { 75 for (var value of mediaKeySession.keyStatuses.values()) {
51 consoleWrite(value); 76 ++count;
77 assert_equals(value, 'usable');
52 } 78 }
53 consoleWrite("for (var entry of keyStatuses.entries())"); 79 assert_equals(count, 2, 'keyStatuses.values() does not conta in 2 entries');
80
81 // Check |keyStatuses.entries()|.
82 count = 0;
54 for (var entry of mediaKeySession.keyStatuses.entries()) { 83 for (var entry of mediaKeySession.keyStatuses.entries()) {
55 consoleWrite(arrayBufferAsString(entry[0]) + ", " + entr y[1]); 84 ++count;
85 assert_true(arrayBufferAsString(entry[0]) == key1String ||
86 arrayBufferAsString(entry[0]) == key2String) ;
87 assert_equals(entry[1], 'usable');
56 } 88 }
89 assert_equals(count, 2, 'keyStatuses.entries() does not cont ain 2 entries');
90
91 // forEach() should return both entries.
92 count = 0;
93 seen1 = false;
94 seen2 = false;
95 mediaKeySession.keyStatuses.forEach(function(value, key, map ) {
96 ++count;
97 assert_true(arrayBufferAsString(key) == key1String ||
98 arrayBufferAsString(key) == key2String);
99 if (arrayBufferAsString(key) == key1String)
100 seen1 = true;
101 if (arrayBufferAsString(key) == key2String)
102 seen2 = true;
103 assert_equals(value, 'usable');
104 assert_equals(map, mediaKeySession.keyStatuses);
105 });
106 assert_equals(count, 2, 'keyStatuses.forEach() does not cont ain 2 entries');
107 assert_true(seen1, 'key1 not returned');
108 assert_true(seen2, 'key2 not returned');
109
57 assert_true(mediaKeySession.keyStatuses.has(key1)); 110 assert_true(mediaKeySession.keyStatuses.has(key1));
58 assert_true(mediaKeySession.keyStatuses.has(key2)); 111 assert_true(mediaKeySession.keyStatuses.has(key2));
59 assert_false(mediaKeySession.keyStatuses.has(stringToUint8Ar ray('123456'))); 112 assert_false(mediaKeySession.keyStatuses.has(stringToUint8Ar ray('123456')));
60 assert_equals(mediaKeySession.keyStatuses.get(key1), 'usable '); 113 assert_equals(mediaKeySession.keyStatuses.get(key1), 'usable ');
61 assert_equals(mediaKeySession.keyStatuses.get(key2), 'usable '); 114 assert_equals(mediaKeySession.keyStatuses.get(key2), 'usable ');
62 assert_equals(mediaKeySession.keyStatuses.get(stringToUint8A rray('123456')), undefined); 115 assert_equals(mediaKeySession.keyStatuses.get(stringToUint8A rray('123456')), undefined);
116
63 test.done(); 117 test.done();
64 } 118 }
65 119
66 navigator.requestMediaKeySystemAccess('org.w3.clearkey').then(fu nction(access) { 120 navigator.requestMediaKeySystemAccess('org.w3.clearkey').then(fu nction(access) {
67 return access.createMediaKeys(); 121 return access.createMediaKeys();
68 }).then(function(mediaKeys) { 122 }).then(function(mediaKeys) {
69 var initDataType = getInitDataType(); 123 var initDataType = getInitDataType();
70 mediaKeySession = mediaKeys.createSession(); 124 mediaKeySession = mediaKeys.createSession();
71 125
72 // There should be no keys defined yet. 126 // There should be no keys defined yet.
73 assert_equals(mediaKeySession.keyStatuses.size, 0); 127 assert_equals(mediaKeySession.keyStatuses.size, 0);
74 128
75 waitForEventAndRunStep('message', mediaKeySession, processMe ssage, test); 129 waitForEventAndRunStep('message', mediaKeySession, processMe ssage, test);
76 return mediaKeySession.generateRequest(initDataType, getInit Data(initDataType)); 130 return mediaKeySession.generateRequest(initDataType, getInit Data(initDataType));
77 }).catch(function(error) { 131 }).catch(function(error) {
78 forceTestFailureFromPromise(test, error); 132 forceTestFailureFromPromise(test, error);
79 }); 133 });
80 }, 'Verify MediaKeySession.keyStatuses.'); 134 }, 'Verify MediaKeySession.keyStatuses.');
81 </script> 135 </script>
82 </body> 136 </body>
83 </html> 137 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698