blob: 06fec6e4cbc5a427761a131a9f4908be0609185f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script>
var blob;
var testIndex = 0;
var sliceParams = [
[2, 3],
[2, 12],
[2, 2],
[2, 1],
[2, -12],
[2, 2147483647],
[2, -2147483648],
[2, 9223372036854775000],
[2, -9223372036854775000],
[-2, -1],
[-2, -2],
[-2, -3],
[-2, -12],
[-2, 2147483647],
[-2, -2147483648],
[-2, 9223372036854775000],
[-2, -9223372036854775000],
[0],
[2],
[-2],
[12],
[-12],
[2147483647],
[-2147483648],
[9223372036854775000],
[-9223372036854775000],
[],
];
function log(message)
{
document.getElementById('console').appendChild(document.createTextNode(message + "\n"));
}
function testSlicing(start, end)
{
var subBlob;
var reader = new FileReader();
var message = "Slicing ";
if (start == undefined && end == undefined) {
message += "without parameters";
subBlob = blob.slice();
} else if (end == undefined) {
message += "from " + start;
subBlob = blob.slice(start);
} else {
message += "from " + start + " to " + end;
subBlob = blob.slice(start, end);
}
message += ": ";
reader.onload = function(event) {
log(message + event.target.result);
runNextTest();
};
reader.onerror = function(event) {
log(message + "error " + event.target.error.code);
runNextTest();
};
reader.readAsText(subBlob);
}
function runNextTest()
{
if (testIndex >= sliceParams.length) {
if (window.testRunner)
testRunner.notifyDone();
return;
}
var start = sliceParams[testIndex][0];
var end = sliceParams[testIndex][1];
testIndex++;
testSlicing(start, end);
}
function runTests()
{
blob = new Blob(["0123456789"]);
runNextTest();
}
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
</script>
</head>
<body onload="runTests()">
<pre id='console'></pre>
</body>
</html>