<!DOCTYPE html>
<html>
<head>
    <title>audiobuffersource-negative-playbackrate</title>
    <script src="../resources/js-test.js"></script>
    <script src="resources/audio-testing.js"></script>
    <script src="resources/audiobuffersource-testing.js"></script>

    <script>

    var sampleRate = 44100.0;
    var sourceFrames = 128;
    var renderFrames = 10;
    var testSpacingFrames = 0;

    var tests = [{ 
        description:"Test playback at -1 playbackRate",
        offsetFrame:0,
        renderFrames:renderFrames,
        expected:[127, 126, 125, 124, 123, 122, 121, 120, 119, 118],
    }];

    function go() {
        jsTestIsAsync = true;

        context = new webkitOfflineAudioContext(1, renderFrames, sampleRate);

        var bufferSource = context.createBufferSource();
        bufferSource.buffer = createRamp(context, 0, 127, sourceFrames);

        bufferSource.connect(context.destination);
        bufferSource.playbackRate.value = -1;
        bufferSource.start(0);

        context.oncomplete = checkAllTests;
        context.startRendering();
    }

    </script>
</head>
<body onload="go()">
</body>
</html>
