| Index: third_party/WebKit/LayoutTests/webaudio/unit-tests/audit.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/unit-tests/audit.html b/third_party/WebKit/LayoutTests/webaudio/unit-tests/audit.html
|
| index a219d301159a2e44e14dbfcbab73a9d29b5d1db8..49472d0d21095c298ab27c6fad49595b27db3396 100644
|
| --- a/third_party/WebKit/LayoutTests/webaudio/unit-tests/audit.html
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/unit-tests/audit.html
|
| @@ -1,135 +1,162 @@
|
| <!DOCTYPE html>
|
| <html>
|
| -<head>
|
| - <title>audit.js: basic tests</title>
|
| - <script src="../../resources/testharness.js"></script>
|
| - <script src="../../resources/testharnessreport.js"></script>
|
| - <script src="../resources/audit.js"></script>
|
| -</head>
|
| -<body>
|
| - <script>
|
| - var audit = Audit.createTaskRunner({ requireResultFile: true });
|
| -
|
| -
|
| - // Basic assertion testing.
|
| - audit.define({
|
| - label: 'basic',
|
| - description: 'Simple unit tests for basic assertions.'
|
| - }, function (task, should) {
|
| - should(OfflineAudioContext, 'OfflineAudioContext').exist();
|
| - should(function () { var foo1 = 0; }, 'Setting foo1 to 0').notThrow();
|
| - should(function () { var foo2 = bar; }).throw();
|
| - should(function () { var foo3 = bar; }).throw('ReferenceError');
|
| - should(function () { var foo4 = bar; }).throw(null);
|
| - should(function () { var foo5 = bar; }).throw(undefined);
|
| - should(() => { should(); }, 'Calling should() with no argument')
|
| - .throw('Error');
|
| - should(3 < 5, '3 < 5').beTrue();
|
| - should(false).beFalse();
|
| - should(1).beEqualTo(1)
|
| - should(1).notBeEqualTo(2)
|
| - should(typeof AudioContext.prototype).beEqualTo('object');
|
| - should(2).beGreaterThan(1);
|
| - should(2).beGreaterThanOrEqualTo(2);
|
| - should(1).beLessThan(2);
|
| - should(1).beLessThanOrEqualTo(1);
|
| - should(should(1).beEqualTo(1), 'should(1).beEqualTo(1)').beTrue();
|
| - should(true, 'The message is').message('truthful!', 'false!');
|
| -
|
| - should(BaseAudioContext.prototype, 'BaseAudioContext.prototype')
|
| - .haveOwnProperty('createGain');
|
| - should(BaseAudioContext.prototype, 'BaseAudioContext.prototype')
|
| - .notHaveOwnProperty('startRendering');
|
| -
|
| - let ac = new AudioContext();
|
| - let sourceNode = new AudioBufferSourceNode(ac);
|
| - should(sourceNode, 'An AudioBufferSourceNode')
|
| - .inheritFrom('AudioScheduledSourceNode');
|
| - should(sourceNode, 'An AudioBufferSourceNode')
|
| - .inheritFrom('AudioNode');
|
| -
|
| - let oac = new OfflineAudioContext(1, 128, 44100);
|
| - Promise.all([
|
| - should(oac.startRendering(), 'Start OAC rendering').beResolved(),
|
| - should(oac.decodeAudioData(), 'Decoding audio data with no argument')
|
| - .beRejected(),
|
| - should(oac.suspend(), 'Suspending OAC with no argument')
|
| - .beRejectedWith('TypeError')
|
| - ]).then(task.done.bind(task));
|
| - }
|
| - );
|
| -
|
| -
|
| - // Advanced, mostly array-based numerical testing. Note that some codes
|
| - // are commented out to avoid the trybot failure. These failures are
|
| - // intentional, to demonstrate how the detailed failure report works.
|
| - audit.define({
|
| - label: 'numerical',
|
| - description: 'Numerical assertion unit test.'
|
| - }, function (task, should) {
|
| - should(2.3).beCloseTo(2, { threshold: 0.3 });
|
| - should([1, 1, 1]).beConstantValueOf(1);
|
| - should([1, 0, 1]).notBeConstantValueOf(1);
|
| - should([1, 0, 0, 1]).notBeConstantValueOf(1);
|
| - should([1, 1, 1]).beEqualToArray([1, 1, 1]);
|
| - should([1, 1, 1, 1, 2, 2, 3, 3, 3])
|
| - .containValues([1, 2, 3], 'one, two, three');
|
| - should([0.5, 0.5, 0.55, 0.5, 0.45, 0.5]).notGlitch(0.06);
|
| + <head>
|
| + <title>
|
| + audit.js: basic tests
|
| + </title>
|
| + <script src="../../resources/testharness.js"></script>
|
| + <script src="../../resources/testharnessreport.js"></script>
|
| + <script src="../resources/audit.js"></script>
|
| + </head>
|
| + <body>
|
| + <script id="layout-test-code">
|
| + let audit = Audit.createTaskRunner({requireResultFile: true});
|
| +
|
| +
|
| + // Basic assertion testing.
|
| + audit.define(
|
| + {
|
| + label: 'basic',
|
| + description: 'Simple unit tests for basic assertions.'
|
| + },
|
| + function(task, should) {
|
| + should(OfflineAudioContext, 'OfflineAudioContext').exist();
|
| + should(function() {
|
| + let foo1 = 0;
|
| + }, 'Setting foo1 to 0').notThrow();
|
| + should(function() {
|
| + let foo2 = bar;
|
| + }).throw();
|
| + should(function() {
|
| + let foo3 = bar;
|
| + }).throw('ReferenceError');
|
| + should(function() {
|
| + let foo4 = bar;
|
| + }).throw(null);
|
| + should(function() {
|
| + let foo5 = bar;
|
| + }).throw(undefined);
|
| + should(() => {
|
| + should();
|
| + }, 'Calling should() with no argument').throw('Error');
|
| + should(3 < 5, '3 < 5').beTrue();
|
| + should(false).beFalse();
|
| + should(1).beEqualTo(1)
|
| + should(1).notBeEqualTo(2)
|
| + should(typeof AudioContext.prototype).beEqualTo('object');
|
| + should(2).beGreaterThan(1);
|
| + should(2).beGreaterThanOrEqualTo(2);
|
| + should(1).beLessThan(2);
|
| + should(1).beLessThanOrEqualTo(1);
|
| + should(should(1).beEqualTo(1), 'should(1).beEqualTo(1)').beTrue();
|
| + should(true, 'The message is').message('truthful!', 'false!');
|
| +
|
| + should(BaseAudioContext.prototype, 'BaseAudioContext.prototype')
|
| + .haveOwnProperty('createGain');
|
| + should(BaseAudioContext.prototype, 'BaseAudioContext.prototype')
|
| + .notHaveOwnProperty('startRendering');
|
| +
|
| + let ac = new AudioContext();
|
| + let sourceNode = new AudioBufferSourceNode(ac);
|
| + should(sourceNode, 'An AudioBufferSourceNode')
|
| + .inheritFrom('AudioScheduledSourceNode');
|
| + should(sourceNode, 'An AudioBufferSourceNode')
|
| + .inheritFrom('AudioNode');
|
| +
|
| + let oac = new OfflineAudioContext(1, 128, 44100);
|
| + Promise
|
| + .all([
|
| + should(oac.startRendering(), 'Start OAC rendering')
|
| + .beResolved(),
|
| + should(
|
| + oac.decodeAudioData(),
|
| + 'Decoding audio data with no argument')
|
| + .beRejected(),
|
| + should(oac.suspend(), 'Suspending OAC with no argument')
|
| + .beRejectedWith('TypeError')
|
| + ])
|
| + .then(task.done.bind(task));
|
| + });
|
| +
|
| +
|
| + // Advanced, mostly array-based numerical testing. Note that some codes
|
| + // are commented out to avoid the trybot failure. These failures are
|
| + // intentional, to demonstrate how the detailed failure report works.
|
| + audit.define(
|
| + {label: 'numerical', description: 'Numerical assertion unit test.'},
|
| + function(task, should) {
|
| + should(2.3).beCloseTo(2, {threshold: 0.3});
|
| + should([1, 1, 1]).beConstantValueOf(1);
|
| + should([1, 0, 1]).notBeConstantValueOf(1);
|
| + should([1, 0, 0, 1]).notBeConstantValueOf(1);
|
| + should([1, 1, 1]).beEqualToArray([1, 1, 1]);
|
| + should([
|
| + 1, 1, 1, 1, 2, 2, 3, 3, 3
|
| + ]).containValues([1, 2, 3], 'one, two, three');
|
| + should([0.5, 0.5, 0.55, 0.5, 0.45, 0.5]).notGlitch(0.06);
|
| + task.done();
|
| + });
|
| +
|
| + audit.define(
|
| + {
|
| + label: 'numerical typed arrays',
|
| + description: 'Numerical assertion unit test with typed arrays.'
|
| + },
|
| + function(task, should) {
|
| + let testValues = [1, 2, 3];
|
| + should(Uint8Array.from(testValues), 'Uint8Array')
|
| + .beEqualToArray(testValues);
|
| + should(Float32Array.from(testValues), 'Float32Array')
|
| + .beEqualToArray(testValues);
|
| + should(Float64Array.from(testValues), 'Float64Array')
|
| + .beEqualToArray(testValues);
|
| + task.done();
|
| + });
|
| +
|
| + // Test Audit.loadFileFromUrl() within |should| assertion.
|
| + // See: crbug.com/701813
|
| + audit.define(
|
| + {
|
| + label: 'load-file-in-should',
|
| + description:
|
| + 'Test Audit.loadFileFromUrl() within |should| assertion.'
|
| + },
|
| + (task, should) => {
|
| + let url = '../resources/hyper-reality/laughter.wav';
|
| + let promise = should(
|
| + Audit.loadFileFromUrl(url),
|
| + 'Loading file within should().beResolved()')
|
| + .beResolved();
|
| + promise.then(() => {task.done()});
|
| + });
|
| +
|
| +
|
| + // The task headline needs to be printed even if there is no description
|
| + // is given.
|
| + audit.define('dummy-label-string', function(task) {
|
| task.done();
|
| - }
|
| - );
|
| -
|
| - audit.define({
|
| - label: 'numerical typed arrays',
|
| - description: 'Numerical assertion unit test with typed arrays.'
|
| - }, function (task, should) {
|
| - let testValues = [1,2,3];
|
| - should(Uint8Array.from(testValues), 'Uint8Array').beEqualToArray(testValues);
|
| - should(Float32Array.from(testValues), 'Float32Array').beEqualToArray(testValues);
|
| - should(Float64Array.from(testValues), 'Float64Array').beEqualToArray(testValues);
|
| - task.done();
|
| - });
|
| -
|
| - // Test Audit.loadFileFromUrl() within |should| assertion.
|
| - // See: crbug.com/701813
|
| - audit.define({
|
| - label: 'load-file-in-should',
|
| - description: 'Test Audit.loadFileFromUrl() within |should| assertion.'
|
| - }, (task, should) => {
|
| - let url = '../resources/hyper-reality/laughter.wav';
|
| - let promise = should(Audit.loadFileFromUrl(url),
|
| - 'Loading file within should().beResolved()')
|
| - .beResolved();
|
| - promise.then(() => { task.done() });
|
| - }
|
| - );
|
| -
|
| -
|
| - // The task headline needs to be printed even if there is no description is
|
| - // given.
|
| - audit.define('dummy-label-string', function (task) {
|
| - task.done();
|
| - });
|
| -
|
| -
|
| - // Test the same thing in a differen way.
|
| - audit.define({ label: 'dummy-label-object' }, function (task) {
|
| - task.done();
|
| - });
|
| -
|
| -
|
| - // This task is defined, but you can selectively opt it out when the task
|
| - // runs. If you would like to see how failure cases get printed, include
|
| - // this task and launch the task runner.
|
| - audit.define('empty', function (task, should) {
|
| - task.done();
|
| - });
|
| -
|
| -
|
| - // You can enumerate tasks you want to execute in the order, or simply pass
|
| - // no argument to run all the defined tasks.
|
| - audit.run('numerical', 'numerical typed arrays', 'basic',
|
| - 'load-file-in-should', 'dummy-label-string', 'dummy-label-object');
|
| - </script>
|
| -</body>
|
| + });
|
| +
|
| +
|
| + // Test the same thing in a differen way.
|
| + audit.define({label: 'dummy-label-object'}, function(task) {
|
| + task.done();
|
| + });
|
| +
|
| +
|
| + // This task is defined, but you can selectively opt it out when the task
|
| + // runs. If you would like to see how failure cases get printed, include
|
| + // this task and launch the task runner.
|
| + audit.define('empty', function(task, should) {
|
| + task.done();
|
| + });
|
| +
|
| +
|
| + // You can enumerate tasks you want to execute in the order, or simply
|
| + // pass no argument to run all the defined tasks.
|
| + audit.run(
|
| + 'numerical', 'numerical typed arrays', 'basic', 'load-file-in-should',
|
| + 'dummy-label-string', 'dummy-label-object');
|
| + </script>
|
| + </body>
|
| </html>
|
|
|