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> |