Index: LayoutTests/fast/mediastream/getusermedia-promise.html |
diff --git a/LayoutTests/fast/mediastream/getusermedia-promise.html b/LayoutTests/fast/mediastream/getusermedia-promise.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..044e793efb12f06b3966e5694c12cde0043f610a |
--- /dev/null |
+++ b/LayoutTests/fast/mediastream/getusermedia-promise.html |
@@ -0,0 +1,44 @@ |
+<!DOCTYPE HTML> |
+<html> |
+<head> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<script> |
+ |
+promise_test(function() { |
+ assert_idl_attribute(navigator, 'mediaDevices'); |
+ assert_idl_attribute(navigator.mediaDevices, 'getUserMedia'); |
+ |
+ return navigator.mediaDevices.getUserMedia({audio: true}).then(function(s) { |
+ assert_equals(s.getTracks().length, 1); |
+ }); |
+}, 'getUserMedia() audio track'); |
+ |
+promise_test(function() { |
+ assert_idl_attribute(navigator, 'mediaDevices'); |
+ assert_idl_attribute(navigator.mediaDevices, 'getUserMedia'); |
+ |
+ return navigator.mediaDevices.getUserMedia({audio: true, video:true}) |
+ .then(function(s) { |
+ assert_equals(s.getTracks().length, 2); |
+ assert_equals(s.getAudioTracks().length, 1); |
+ assert_equals(s.getVideoTracks().length, 1); |
+ }); |
+}, 'getUserMedia() audio and video tracks'); |
+ |
+promise_test(function() { |
+ return navigator.mediaDevices.getUserMedia( |
+ {audio: {'mandatory': { 'valid_but_unsupported_1': 0}}}) |
+ .then(function(s) { |
+ fail('getUserMedia should have failed'); |
+ }).catch(function(e) { |
+ assert_equals(e.name, 'ConstraintNotSatisfiedError'); |
+ }); |
+}, 'getUserMedia() with unsupported mandatory constraint'); |
+ |
+ |
+</script> |
+</body> |
+</html> |