Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/webaudio/audiocontextoptions.html |
| diff --git a/third_party/WebKit/LayoutTests/webaudio/audiocontextoptions.html b/third_party/WebKit/LayoutTests/webaudio/audiocontextoptions.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f29fb5ae1fd396a677c678118e13890512648b4c |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/webaudio/audiocontextoptions.html |
| @@ -0,0 +1,70 @@ |
| +<!doctype html> |
| +<html> |
| +<head> |
| + <title>Test AudioContextOptions</title> |
| + <script src="../resources/testharness.js"></script> |
| + <script src="../resources/testharnessreport.js"></script> |
| + <script src="resources/audio-testing.js"></script> |
| +</head> |
| + |
| +<body> |
| + <script> |
| + var context; |
| + var audit = Audit.createTaskRunner(); |
| + |
| + // Task: test AudioContextOptions (1). |
| + audit.defineTask('test-audiocontextoptions-1', function (done) { |
| + |
| + // Verify that an AudioContext can be created with default options. |
| + Should("context = new AudioContext()", function () { |
| + context = new AudioContext(); |
| + }).notThrow(); |
| + |
| + var defaultLatency = context.baseLatency; |
| + Should("default baseLatency > 0", defaultLatency).beGreaterThan(0); |
| + |
| + // Verify that a double can be passed |
| + Should("context = new AudioContext({'latencyHint': 0.05})", function () { |
| + context = new AudioContext({'latencyHint': 0.05}); |
| + }).notThrow(); |
| + Should("double baseLatency == default baseLatency", context.baseLatency).beEqualTo(defaultLatency); |
|
Raymond Toy
2016/12/01 16:26:51
Please inspect the actual test output and verify t
Andrew MacPherson
2016/12/02 09:42:55
Done.
|
| + |
| + // Verify that an AudioContext can be created with the expected latency types. |
| + Should("context = new AudioContext({'latencyHint': 'interactive'})", function () { |
| + context = new AudioContext({'latencyHint': 'interactive'}); |
| + }).notThrow(); |
| + |
| + var interactiveLatency = context.baseLatency; |
| + Should("interactive baseLatency == default baseLatency", interactiveLatency).beEqualTo(defaultLatency); |
| + |
| + Should("context = new AudioContext({'latencyHint': 'balanced'})", function () { |
| + context = new AudioContext({'latencyHint': 'balanced'}); |
| + }).notThrow(); |
| + |
| + var balancedLatency = context.baseLatency; |
| + Should("balanced baseLatency >= interactive baseLatency", balancedLatency).beGreaterThanOrEqualTo(interactiveLatency); |
| + |
| + Should("context = new AudioContext({'latencyHint': 'playback'})", function () { |
| + context = new AudioContext({'latencyHint': 'playback'}); |
| + }).notThrow(); |
| + |
| + var playbackLatency = context.baseLatency; |
| + Should("playback baseLatency >= balanced baseLatency", playbackLatency).beGreaterThanOrEqualTo(balancedLatency); |
| + |
| + // Verify that invalid latencyHint values are rejected. |
| + Should("context = new AudioContext({'latencyHint': 'foo'})", function () { |
| + context = new AudioContext({'latencyHint': 'foo'}); |
| + }).throw(); |
| + |
| + // Verify that no extra options can be passed into the AudioContextOptions. |
| + Should("context = new AudioContext('latencyHint')", function () { |
| + context = new AudioContext('latencyHint'); |
| + }).throw(); |
| + |
| + done(); |
| + }); |
| + |
| + audit.runTasks(); |
| + </script> |
| +</body> |
| +</html> |