<!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 abandoning a crypto operation.");
// This test starts up a couple worker threads, which continuously generate
// RSA keys. It waits until each of the worker threads have started
// running, and then exits.
//
// The consequence is that once the test finishes, there should be
// outstanding crypto operations on the worker threads. This will exercise
// the cancellation/abandonment logic for these Promises.
jsTestIsAsync = true;
var allPromises = [];
var kNumWorkers = 3;
for (var i = 0; i < kNumWorkers; ++i) {
allPromises.push(new Promise(function(resolve, reject) {
var worker = new Worker("resources/worker-infinite-loop-generateKey.js");
worker.onmessage = function(event)
{
debug(event.data);
resolve();
};
}));
}
Promise.all(allPromises).then(finishJSTest);
</script>
</body>
</html>