<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../resources/common.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description("Tests generateKey() with bad AES-KW parameters.");
jsTestIsAsync = true;
extractable = true;
keyUsages = ['wrapKey', 'unwrapKey'];
function testNoLength()
{
return expectFailure(
"generateKey() without length...",
crypto.subtle.generateKey({ name: 'aes-kw' }, extractable, keyUsages));
}
function testBigLength()
{
return expectFailure(
"generateKey() with a length of 70000...",
crypto.subtle.generateKey({ name: 'aes-kw', length: 70000 }, extractable, keyUsages));
}
function testNegativeLength()
{
return expectFailure(
"generateKey() with a length of -3...",
crypto.subtle.generateKey({ name: 'aes-kw', length: -3 }, extractable, keyUsages));
}
function testMinusInfinity()
{
return expectFailure(
"generateKey() with length that is minus Infinity...",
crypto.subtle.generateKey({ name: 'aes-kw', length: -Infinity }, extractable, keyUsages));
}
Promise.resolve(null)
.then(testNoLength)
.then(testBigLength)
.then(testNegativeLength)
.then(testMinusInfinity)
.then(finishJSTest, failAndFinishJSTest);
</script>
</body>
</html>