Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Unified Diff: third_party/WebKit/LayoutTests/webaudio/realtimeanalyser-multiple-calls.html

Issue 2581463002: Refactor WebAudio test directory (Closed)
Patch Set: Use correct path for wav result files Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/webaudio/realtimeanalyser-multiple-calls.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/realtimeanalyser-multiple-calls.html b/third_party/WebKit/LayoutTests/webaudio/realtimeanalyser-multiple-calls.html
deleted file mode 100644
index 50add4f29d36e3b25645e955d8d7e3c4c8489dd2..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/webaudio/realtimeanalyser-multiple-calls.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <script src="../resources/js-test.js"></script>
- <script src="resources/compatibility.js"></script>
- <script src="resources/audit-util.js"></script>
- <script src="resources/audio-testing.js"></script>
- <title>Test Multiple Calls to getFloatFrequencyData</title>
- </head>
-
- <body>
- <script>
- description("Test AnalyserNode getFloatFrequencyData and getByteFrequencyData");
- window.jsTestIsAsync = true;
-
- var sampleRate = 48000;
- // Render enough data to run the test.
- var renderFrames = 2*1024;
- var renderDuration = renderFrames / sampleRate;
-
- var audit = Audit.createTaskRunner();
-
- audit.defineTask("test", function (done) {
-
- var context = new OfflineAudioContext(1, renderFrames, sampleRate);
-
- // Use sawtooth oscillator as the source because it has quite a bit of harmonic content.
- // Otherwise, the type doesn't really matter.
- var osc = context.createOscillator();
- osc.type = "sawtooth";
-
- // Create an analyser with 256-point FFT. The FFT size doesn't really matter much.
- var analyser = context.createAnalyser();
- analyser.fftSize = 256;
-
- osc.connect(analyser);
- analyser.connect(context.destination);
-
- var success = true;
-
- // Suspend after getting a full analyser frame. (Not really necessary, but it's nice that
- // the frame doesn't include any initial zeroes.
- var suspendFrame = analyser.fftSize;
- context.suspend(suspendFrame / sampleRate).then(function () {
- // Test successive calls to getFloatFrequencyData in the same rendering quantum.
- var f1 = new Float32Array(analyser.frequencyBinCount);
- var f2 = new Float32Array(analyser.frequencyBinCount);
-
- analyser.getFloatFrequencyData(f1);
- analyser.getFloatFrequencyData(f2);
-
- success = Should("Second call to getFloatFrequencyData", f2, {
- precision: 5
- }).beEqualToArray(f1) && success;
- }).then(context.resume.bind(context));
-
- suspendFrame += 128;
- context.suspend(suspendFrame / sampleRate).then(function () {
- // Test successive calls to getByteFrequencyData in the same rendering quantum.
- var f1 = new Uint8Array(analyser.frequencyBinCount);
- var f2 = new Uint8Array(analyser.frequencyBinCount);
-
- analyser.getByteFrequencyData(f1);
- analyser.getByteFrequencyData(f2);
-
- success = Should("Second call to getByteFrequencyData", f2)
- .beEqualToArray(f1) && success;
- }).then(context.resume.bind(context));
-
- suspendFrame += 128;
- context.suspend(suspendFrame / sampleRate).then(function () {
- // Test calls to getFloatFrequencyData followed by getByteFrequencyData. The float data,
- // when converted to byte values should be identical to the result from
- // getByteFrequencyData.
- var f1 = new Float32Array(analyser.frequencyBinCount);
- var f2 = new Uint8Array(analyser.frequencyBinCount);
-
- analyser.getFloatFrequencyData(f1);
- analyser.getByteFrequencyData(f2);
-
- var byteValuesFromFloat = convertFloatToByte(f1, analyser.minDecibels, analyser.maxDecibels);
- success = Should("Output of getByteFrequencyData after getFloatFrequencyData",
- byteValuesFromFloat)
- .beEqualToArray(f2) && success;
- }).then(context.resume.bind(context));
-
- suspendFrame += 128;
- context.suspend(suspendFrame / sampleRate).then(function () {
- // Test calls to getByteFrequencyData followed by getFloatFrequencyData. The float data,
- // when converted to byte values should be identical to the result from
- // getByteFrequencyData.
- var f1 = new Uint8Array(analyser.frequencyBinCount);
- var f2 = new Float32Array(analyser.frequencyBinCount);
-
- analyser.getByteFrequencyData(f1);
- analyser.getFloatFrequencyData(f2);
-
- var byteValuesFromFloat = convertFloatToByte(f2, analyser.minDecibels, analyser.maxDecibels);
- success = Should(
- "Output of getFloatFrequenycData (converted to byte) after getByteFrequencyData",
- f1)
- .beEqualToArray(byteValuesFromFloat) && success;
- }).then(context.resume.bind(context));
-
- osc.start();
- context.startRendering().then(done);
- });
-
- audit.defineTask("finish", function (done) {
- finishJSTest();
- done();
- });
-
- audit.runTasks();
-
- // Convert the float frequency data (in dB), |floatFreqData|, to byte values using the dB
- // limits |minDecibels| and |maxDecibels|. The new byte array is returned.
- function convertFloatToByte(floatFreqData, minDecibels, maxDecibels) {
- var scale = 255 / (maxDecibels - minDecibels);
-
- return floatFreqData.map(function (x) {
- var value = Math.floor(scale * (x - minDecibels));
- return Math.min(255, Math.max(0, value));
- });
- }
- </script>
- </body>
-</html>

Powered by Google App Engine
This is Rietveld 408576698