Test generating an EC key pair with malformed-paramters. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS crypto.subtle.generateKey("ecdh", extractable, ["deriveKey", "deriveBits"]) rejected promise with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString. PASS crypto.subtle.generateKey({name: "ecdh"}, extractable, ["deriveKey", "deriveBits"]) rejected promise with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: true}, extractable, ["deriveKey", "deriveBits"]) rejected promise with NotSupportedError: The algorithm is not supported. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: null}, extractable, ["deriveKey", "deriveBits"]) rejected promise with NotSupportedError: The algorithm is not supported. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: undefined}, extractable, ["deriveKey", "deriveBits"]) rejected promise with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: Symbol()}, extractable, ["deriveKey", "deriveBits"]) rejected promise with TypeError: Cannot convert a symbol to a string. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: { }}, extractable, ["deriveKey", "deriveBits"]) rejected promise with NotSupportedError: The algorithm is not supported. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: 1}, extractable, ["deriveKey", "deriveBits"]) rejected promise with NotSupportedError: The algorithm is not supported. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["sign"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["verify"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveKey"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveBits"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise with SyntaxError: A required parameter was missing or out-of-range. PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-523"}, extractable, ["deriveKey"]) rejected promise with NotSupportedError: The algorithm is not supported. PASS successfullyParsed is true TEST COMPLETE