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

Side by Side Diff: LayoutTests/fast/mediastream/script-tests/argument-types.js

Issue 173893009: MediaStream API: Update getUserMedia to match the spec (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed review comment Created 6 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 | Annotate | Revision Log
OLDNEW
(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;
OLDNEW
« no previous file with comments | « LayoutTests/fast/mediastream/getusermedia-expected.txt ('k') | Source/modules/mediastream/NavigatorMediaStream.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698