blob: 9ed1a2eab42c19a4b45a1a9c167d9b537c08b1e8 [file] [log] [blame]
<!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 crypto.randomValues.");
if (!window.ArrayBuffer)
debug("This test requres ArrayBuffers to run!");
shouldBe("'crypto' in window", "true");
shouldBe("'getRandomValues' in window.crypto", "true");
try {
// FIXME: This test is flaky. If we ran this test every second since the
// beginning of the universe, on average, it would have failed
// 2^{-748} times.
var reference = new Uint8Array(100);
var sample = new Uint8Array(100);
crypto.getRandomValues(reference);
crypto.getRandomValues(sample);
var matchingBytes = 0;
for (var i = 0; i < reference.length; i++) {
if (reference[i] == sample[i])
matchingBytes++;
}
shouldBe("matchingBytes < 100", "true");
} catch(ex) {
debug(ex);
}
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>