| OLD | NEW |
| (Empty) |
| 1 description("Tests the acceptable types for arguments to navigator.getUserMedia
methods."); | |
| 2 | |
| 3 function test(expression, expressionShouldThrow, expectedException) { | |
| 4 if (expressionShouldThrow) { | |
| 5 if (expectedException) | |
| 6 shouldThrow(expression, '"' + expectedException + '"'); | |
| 7 else | |
| 8 shouldThrow(expression, '"TypeError: Failed to execute \'webkitGetUs
erMedia\' on \'Navigator\': 2 arguments required, but only 1 present."'); | |
| 9 } else { | |
| 10 shouldNotThrow(expression); | |
| 11 } | |
| 12 } | |
| 13 | |
| 14 var notSupportedError = 'NotSupportedError: Failed to execute \'webkitGetUserMed
ia\' on \'Navigator\': Failed to request user media.'; | |
| 15 var typeErrorArg2 = 'TypeError: Failed to execute \'webkitGetUserMedia\' on \'Na
vigator\': The callback provided as parameter 2 is not a function.'; | |
| 16 var typeErrorArg3 = 'TypeError: Failed to execute \'webkitGetUserMedia\' on \'Na
vigator\': The callback provided as parameter 3 is not a function.'; | |
| 17 var typeNotAnObjectError = new TypeError('Not an object.'); | |
| 18 | |
| 19 var emptyFunction = function() {}; | |
| 20 | |
| 21 // No arguments | |
| 22 test('navigator.webkitGetUserMedia()', true, 'TypeError: Failed to execute \'web
kitGetUserMedia\' on \'Navigator\': 2 arguments required, but only 0 present.'); | |
| 23 | |
| 24 // 1 Argument (getUserMedia requires at least 2 arguments). | |
| 25 test('navigator.webkitGetUserMedia(undefined)', true); | |
| 26 test('navigator.webkitGetUserMedia(null)', true); | |
| 27 test('navigator.webkitGetUserMedia({ })', true); | |
| 28 test('navigator.webkitGetUserMedia({video: true})', true); | |
| 29 test('navigator.webkitGetUserMedia(true)', true); | |
| 30 test('navigator.webkitGetUserMedia(42)', true); | |
| 31 test('navigator.webkitGetUserMedia(Infinity)', true); | |
| 32 test('navigator.webkitGetUserMedia(-Infinity)', true); | |
| 33 test('navigator.webkitGetUserMedia(emptyFunction)', true); | |
| 34 | |
| 35 // 2 Arguments. | |
| 36 test('navigator.webkitGetUserMedia({video: true}, emptyFunction)', false); | |
| 37 test('navigator.webkitGetUserMedia(undefined, emptyFunction)', true, notSupporte
dError); | |
| 38 test('navigator.webkitGetUserMedia(null, emptyFunction)', true, notSupportedErro
r); | |
| 39 test('navigator.webkitGetUserMedia({ }, emptyFunction)', true, notSupportedError
); | |
| 40 test('navigator.webkitGetUserMedia(true, emptyFunction)', true, typeNotAnObjectE
rror); | |
| 41 test('navigator.webkitGetUserMedia(42, emptyFunction)', true, typeNotAnObjectErr
or); | |
| 42 test('navigator.webkitGetUserMedia(Infinity, emptyFunction)', true, typeNotAnObj
ectError); | |
| 43 test('navigator.webkitGetUserMedia(-Infinity, emptyFunction)', true, typeNotAnOb
jectError); | |
| 44 test('navigator.webkitGetUserMedia(emptyFunction, emptyFunction)', true, notSupp
ortedError); | |
| 45 test('navigator.webkitGetUserMedia({video: true}, "foobar")', true, typeErrorArg
2); | |
| 46 test('navigator.webkitGetUserMedia({video: true}, undefined)', true, typeErrorAr
g2); | |
| 47 test('navigator.webkitGetUserMedia({video: true}, null)', true, typeErrorArg2); | |
| 48 test('navigator.webkitGetUserMedia({video: true}, {})', true, typeErrorArg2); | |
| 49 test('navigator.webkitGetUserMedia({video: true}, true)', true, typeErrorArg2); | |
| 50 test('navigator.webkitGetUserMedia({video: true}, 42)', true, typeErrorArg2); | |
| 51 test('navigator.webkitGetUserMedia({video: true}, Infinity)', true, typeErrorArg
2); | |
| 52 test('navigator.webkitGetUserMedia({video: true}, -Infinity)', true, typeErrorAr
g2); | |
| 53 | |
| 54 // 3 Arguments. | |
| 55 test('navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction)', true, no
tSupportedError); | |
| 56 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, emptyFunction)'
, false); | |
| 57 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, undefined)', fa
lse); | |
| 58 test('navigator.webkitGetUserMedia({audio:true, video:true}, emptyFunction, unde
fined)', false); | |
| 59 test('navigator.webkitGetUserMedia({audio:true}, emptyFunction, undefined)', fal
se); | |
| 60 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, "video")', true
, typeErrorArg3); | |
| 61 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, null)', false); | |
| 62 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, {})', true, typ
eErrorArg3); | |
| 63 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, true)', true, t
ypeErrorArg3); | |
| 64 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, 42)', true, typ
eErrorArg3); | |
| 65 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, Infinity)', tru
e, typeErrorArg3); | |
| 66 test('navigator.webkitGetUserMedia({video: true}, emptyFunction, -Infinity)', tr
ue, typeErrorArg3); | |
| 67 | |
| 68 window.jsTestIsAsync = false; | |
| OLD | NEW |