chromium/third_party/blink/web_tests/fast/files/blob-parts-slice-test.html

<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script src="resources/blob-slice-common.js"></script>
<script>
description("Test the Blob.slice() behavior for Blobs made of multiple parts.");

var sliceTestCases = [
    [2, 3, "2"],
    [2, 12, "23456789"],
    [2, 2, ""],
    [2, 1, ""],
    [2, -12, ""],
    [2, 2147483647, "23456789"],
    [2, -2147483648, ""],
    [2, 9223372036854775000, "23456789"],
    [2, -9223372036854775000, ""],
    [-2, -1, "8"],
    [-2, -2, ""],
    [-2, -3, ""],
    [-2, -12, ""],
    [-2, 2147483647, "89"],
    [-2, -2147483648, ""],
    [-2, 9223372036854775000, "89"],
    [-2, -9223372036854775000, ""],
    [0, null, "0123456789"],
    [2, null, "23456789"],
    [-2, null, "89"],
    [12, null, ""],
    [-12, null, "0123456789"],
    [2147483647, null, ""],
    [-2147483648, null, "0123456789"],
    [9223372036854775000, null, ""],
    [-9223372036854775000, null, "0123456789"],
    [null, null, "0123456789"],
];

function runTests()
{
    blob = new Blob(["0", new File(["12"], "slice-piece.txt"),
        new Blob(["345"]), "6789"]);
    file = new File(["0", new File(["12"], "slice-piece.txt"),
        new Blob(["345"]), "6789"], "slice-text.txt");

    runNextTest();
}

window.jsTestIsAsync = true;
</script>
</head>
<body onload="runTests()">
<pre id='console'></pre>
</body>
</html>