| <!doctype html> |
| <meta charset=utf-8> |
| <title>RTCDTMFSender.prototype.insertDTMF</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| 'use strict'; |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia({video: true}).then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| }); |
| }, 'getDisplayMedia() with video true'); |
| |
| // Empty constraint parameter and boolean values of false defaults to |
| // {video: true}. |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia().then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| }); |
| }, 'getDisplayMedia() with no constraints'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia({video: false}).then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| }); |
| }, 'getDisplayMedia() with video false'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia({audio: false}).then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| }); |
| }, 'getDisplayMedia() with audio false'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia({audio: true}).then(function(s) { |
| assert_equals(s.getVideoTracks().length, 0); |
| assert_equals(s.getAudioTracks().length, 1); |
| }); |
| }, 'getDisplayMedia() with audio true'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator |
| .getDisplayMedia({video: {advanced: [{zoom: 1}]}}) |
| .then(function(s) { |
| fail('getDisplayMedia should have failed'); |
| }) |
| .catch(function(e) { |
| assert_equals(e.name, 'TypeError'); |
| }); |
| }, 'getDisplayMedia() call with advanced constraint'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator |
| .getDisplayMedia({video: {width: {min: 360}}}) |
| .then(function(s) { |
| fail('getDisplayMedia should have failed'); |
| }) |
| .catch(function(e) { |
| assert_equals(e.name, 'TypeError'); |
| }); |
| }, 'getDisplayMedia() call with min constraint'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator |
| .getDisplayMedia({video: {width: {exact: 360}}}) |
| .then(function(s) { |
| fail('getDisplayMedia should have failed'); |
| }) |
| .catch(function(e) { |
| assert_equals(e.name, 'TypeError'); |
| }); |
| }, 'getDisplayMedia() call with exact constraint'); |
| |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator |
| .getDisplayMedia({video: {width: {max: 360}}}) |
| .then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| }); |
| }, 'getDisplayMedia() call with max constraint'); |
| |
| // Content shell picks a fake desktop device by default. |
| promise_test(function() { |
| assert_idl_attribute(navigator, 'getDisplayMedia'); |
| |
| return navigator.getDisplayMedia({video: true}).then(function(s) { |
| assert_equals(s.getVideoTracks().length, 1); |
| assert_equals(s.getAudioTracks().length, 0); |
| var settings = s.getVideoTracks()[0].getSettings(); |
| assert_equals(settings.displaySurface, "monitor"); |
| assert_equals(settings.logicalSurface, true); |
| assert_equals(settings.cursor, "never"); |
| }); |
| }, 'getDisplayMedia() with getSettings'); |
| |
| </script> |