| 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..c27ed8d6a3af29e2f9cfe2ab8de159189ce2cf61
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/audiocontextoptions.html
|
| @@ -0,0 +1,64 @@
|
| +<!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 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>
|
|
|