<!DOCTYPE html>
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description("Tests which types are valid for crypto.randomValues.");

if (!window.ArrayBuffer)
    debug("This test requres ArrayBuffers to run!");

shouldBe("'crypto' in window", "true");
shouldBe("'getRandomValues' in window.crypto", "true");

function checkIntegerTypes() {
    var integerTypes = [
        "Uint8Array", "Int8Array", "Uint8ClampedArray",
        "Uint16Array", "Int16Array",
        "Uint32Array", "Int32Array",
    ];
    integerTypes.forEach(function(arrayType) {
        shouldBeDefined("random = crypto.getRandomValues(new "+arrayType+"(3))");
        shouldBeType("random", arrayType);

        shouldBeDefined("view = new "+arrayType+"(3)");
        shouldBeDefined("random = crypto.getRandomValues(view)");
        shouldBe("random", "view");
    });
}

function checkNonIntegerTypes() {
    var floatTypes = [
        "Float32Array", "Float64Array",
    ];
    floatTypes.forEach(function(arrayType) {
        shouldThrow("crypto.getRandomValues(new "+arrayType+"(3))");
    });

    shouldBeDefined("buffer = new Uint8Array(32)");
    shouldBeDefined("buffer.buffer");
    shouldBeDefined("view = new DataView(buffer.buffer)");
    shouldThrow("crypto.getRandomValues(view)");
}

checkIntegerTypes();
checkNonIntegerTypes();

</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>


