diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index ee380e92854..626eb4e2288 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -41,7 +41,7 @@ hyper = "0.9.9" hyper_serde = "0.1.4" image = "0.10" ipc-channel = "0.5" -js = {git = "https://github.com/servo/rust-mozjs"} +js = {git = "https://github.com/servo/rust-mozjs", features = ["promises"]} libc = "0.2" log = "0.3.5" mime = "0.2.1" diff --git a/components/script/dom/bindings/codegen/Bindings.conf b/components/script/dom/bindings/codegen/Bindings.conf index 44d835589c4..434450d2bcc 100644 --- a/components/script/dom/bindings/codegen/Bindings.conf +++ b/components/script/dom/bindings/codegen/Bindings.conf @@ -14,6 +14,10 @@ DOMInterfaces = { +'Promise': { + 'spiderMonkeyInterface': True, +}, + 'Range': { 'weakReferenceable': True, }, diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 7dc3e5eb3f0..cc6e1660fba 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -658,7 +658,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, # failureCode will prevent pending exceptions from being set in cases when # they really should be! if exceptionCode is None: - exceptionCode = "return false;" + exceptionCode = "return false;\n" if failureCode is None: failOrPropagate = "throw_type_error(cx, &error);\n%s" % exceptionCode @@ -797,25 +797,69 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, descriptorType = descriptor.argumentType templateBody = "" - if descriptor.interface.isConsequential(): - raise TypeError("Consequential interface %s being used as an " - "argument" % descriptor.interface.identifier.name) + isPromise = descriptor.interface.identifier.name == "Promise" + if isPromise: + # Per spec, what we're supposed to do is take the original + # Promise.resolve and call it with the original Promise as this + # value to make a Promise out of whatever value we actually have + # here. The question is which global we should use. There are + # a couple cases to consider: + # + # 1) Normal call to API with a Promise argument. This is a case the + # spec covers, and we should be using the current Realm's + # Promise. That means the current compartment. + # 2) Promise return value from a callback or callback interface. + # This is in theory a case the spec covers but in practice it + # really doesn't define behavior here because it doesn't define + # what Realm we're in after the callback returns, which is when + # the argument conversion happens. We will use the current + # compartment, which is the compartment of the callable (which + # may itself be a cross-compartment wrapper itself), which makes + # as much sense as anything else. In practice, such an API would + # once again be providing a Promise to signal completion of an + # operation, which would then not be exposed to anyone other than + # our own implementation code. + templateBody = fill( + """ + { // Scope for our JSAutoCompartment. - if failureCode is None: - substitutions = { - "sourceDescription": sourceDescription, - "interface": descriptor.interface.identifier.name, - "exceptionCode": exceptionCode, - } - unwrapFailureCode = string.Template( - 'throw_type_error(cx, "${sourceDescription} does not ' - 'implement interface ${interface}.");\n' - '${exceptionCode}').substitute(substitutions) + rooted!(in(cx) let globalObj = CurrentGlobalOrNull(cx)); + let promiseGlobal = global_root_from_object_maybe_wrapped(globalObj.handle().get()); + + rooted!(in(cx) let mut valueToResolve = $${val}.get()); + if !JS_WrapValue(cx, valueToResolve.handle_mut()) { + $*{exceptionCode} + } + match Promise::Resolve(promiseGlobal.r(), cx, valueToResolve.handle()) { + Ok(value) => value, + Err(error) => { + throw_dom_exception(cx, promiseGlobal.r(), error); + $*{exceptionCode} + } + } + } + """, + exceptionCode=exceptionCode) else: - unwrapFailureCode = failureCode + if descriptor.interface.isConsequential(): + raise TypeError("Consequential interface %s being used as an " + "argument" % descriptor.interface.identifier.name) - templateBody = unwrapCastableObject( - descriptor, "${val}", unwrapFailureCode, conversionFunction) + if failureCode is None: + substitutions = { + "sourceDescription": sourceDescription, + "interface": descriptor.interface.identifier.name, + "exceptionCode": exceptionCode, + } + unwrapFailureCode = string.Template( + 'throw_type_error(cx, "${sourceDescription} does not ' + 'implement interface ${interface}.");\n' + '${exceptionCode}').substitute(substitutions) + else: + unwrapFailureCode = failureCode + + templateBody = unwrapCastableObject( + descriptor, "${val}", unwrapFailureCode, conversionFunction) declType = CGGeneric(descriptorType) if type.nullable(): @@ -5372,6 +5416,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::jsapi::AutoIdVector', 'js::jsapi::Call', 'js::jsapi::CallArgs', + 'js::jsapi::CurrentGlobalOrNull', 'js::jsapi::FreeOp', 'js::jsapi::GetPropertyKeys', 'js::jsapi::GetWellKnownSymbol', @@ -5437,12 +5482,15 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::jsapi::JS_SetProperty', 'js::jsapi::JS_SetReservedSlot', 'js::jsapi::JS_SplicePrototype', + 'js::jsapi::JS_WrapValue', 'js::jsapi::MutableHandle', 'js::jsapi::MutableHandleObject', 'js::jsapi::MutableHandleValue', 'js::jsapi::ObjectOpResult', 'js::jsapi::PropertyDescriptor', + 'js::jsapi::RootedId', 'js::jsapi::RootedObject', + 'js::jsapi::RootedString', 'js::jsapi::SymbolCode', 'js::jsapi::jsid', 'js::jsval::JSVal', @@ -5472,6 +5520,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'dom::bindings::constant::ConstantVal', 'dom::bindings::global::GlobalRef', 'dom::bindings::global::global_root_from_object', + 'dom::bindings::global::global_root_from_object_maybe_wrapped', 'dom::bindings::global::global_root_from_reflector', 'dom::bindings::interface::ConstructorClassHook', 'dom::bindings::interface::InterfaceConstructorBehavior', @@ -5490,6 +5539,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'dom::bindings::js::JS', 'dom::bindings::js::OptionalRootedReference', 'dom::bindings::js::Root', + 'dom::bindings::js::RootedRcReference', 'dom::bindings::js::RootedReference', 'dom::bindings::namespace::NamespaceObjectClass', 'dom::bindings::namespace::create_namespace_object', diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index 6e71bd4bd00..9a1120769c8 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -194,9 +194,17 @@ class Descriptor(DescriptorProvider): typeName = desc.get('nativeType', nativeTypeDefault) - # Callback types do not use JS smart pointers, so we should not use the + spiderMonkeyInterface = desc.get('spiderMonkeyInterface', False) + + # Callback and SpiderMonkey types do not use JS smart pointers, so we should not use the # built-in rooting mechanisms for them. - if self.interface.isCallback(): + if spiderMonkeyInterface: + self.needsRooting = False + self.returnType = 'Rc<%s>' % typeName + self.argumentType = '&%s' % typeName + self.nativeType = typeName + pathDefault = 'dom::types::%s' % typeName + elif self.interface.isCallback(): self.needsRooting = False ty = 'dom::bindings::codegen::Bindings::%sBinding::%s' % (ifaceName, ifaceName) pathDefault = ty @@ -225,7 +233,8 @@ class Descriptor(DescriptorProvider): # them as having a concrete descendant. self.concrete = (not self.interface.isCallback() and not self.interface.isNamespace() and - not self.interface.getExtendedAttribute("Abstract")) + not self.interface.getExtendedAttribute("Abstract") and + not spiderMonkeyInterface) self.hasUnforgeableMembers = (self.concrete and any(MemberIsUnforgeable(m, self) for m in self.interface.members)) diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index c9cbeb09f21..1c0d49c4976 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -19,6 +19,7 @@ use js::jsapi::JS_ErrorFromException; use js::jsapi::JS_GetPendingException; use js::jsapi::JS_IsExceptionPending; use js::jsapi::JS_SetPendingException; +use js::jsapi::MutableHandleValue; use js::jsval::UndefinedValue; use libc::c_uint; use std::slice::from_raw_parts; @@ -266,3 +267,14 @@ pub unsafe fn throw_invalid_this(cx: *mut JSContext, proto_id: u16) { proto_id_to_name(proto_id)); throw_type_error(cx, &error); } + +impl Error { + /// Convert this error value to a JS value, consuming it in the process. + pub unsafe fn to_jsval(self, cx: *mut JSContext, global: GlobalRef, rval: MutableHandleValue) { + assert!(!JS_IsExceptionPending(cx)); + throw_dom_exception(cx, global, self); + assert!(JS_IsExceptionPending(cx)); + assert!(JS_GetPendingException(cx, rval)); + JS_ClearPendingException(cx); + } +} diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index 9452972f774..9b4125bdc6a 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -18,13 +18,14 @@ use dom::window::{self, ScriptHelpers}; use dom::workerglobalscope::WorkerGlobalScope; use ipc_channel::ipc::IpcSender; use js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL}; +use js::glue::{IsWrapper, UnwrapObject}; use js::jsapi::{CurrentGlobalOrNull, GetGlobalForObjectCrossCompartment}; use js::jsapi::{JSContext, JSObject, JS_GetClass, MutableHandleValue}; use js::jsapi::HandleValue; use msg::constellation_msg::PipelineId; use net_traits::{CoreResourceThread, IpcSend, ResourceThreads}; use profile_traits::{mem, time}; -use script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort}; +use script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, EnqueuedPromiseCallback}; use script_thread::{MainThreadScriptChan, RunnableWrapper, ScriptThread}; use script_traits::{MsDuration, ScriptMsg as ConstellationMsg, TimerEventRequest}; use task_source::dom_manipulation::DOMManipulationTaskSource; @@ -289,6 +290,23 @@ impl<'a> GlobalRef<'a> { } } + /// Enqueue a promise callback for subsequent execution. + pub fn enqueue_promise_job(&self, job: EnqueuedPromiseCallback) { + match *self { + GlobalRef::Window(_) => ScriptThread::enqueue_promise_job(job, *self), + GlobalRef::Worker(ref worker) => worker.enqueue_promise_job(job), + } + } + + /// Start the process of executing the pending promise callbacks. They will be invoked + /// in FIFO order, synchronously, at some point in the future. + pub fn flush_promise_jobs(&self) { + match *self { + GlobalRef::Window(_) => ScriptThread::flush_promise_jobs(*self), + GlobalRef::Worker(ref worker) => worker.flush_promise_jobs(), + } + } + /// https://html.spec.whatwg.org/multipage/#report-the-error pub fn report_an_error(&self, error_info: ErrorInfo, value: HandleValue) { match *self { @@ -356,3 +374,13 @@ pub unsafe fn global_root_from_context(cx: *mut JSContext) -> GlobalRoot { let global = CurrentGlobalOrNull(cx); global_root_from_global(global) } + +/// Returns the global object of the realm that the given JS object was created in, +/// after unwrapping any wrappers. +pub unsafe fn global_root_from_object_maybe_wrapped(mut obj: *mut JSObject) -> GlobalRoot { + if IsWrapper(obj) { + obj = UnwrapObject(obj, /* stopAtWindowProxy = */ 0); + assert!(!obj.is_null()); + } + global_root_from_object(obj) +} diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index a7ecc975129..1fd127b3b28 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -43,6 +43,7 @@ use std::intrinsics::type_name; use std::mem; use std::ops::Deref; use std::ptr; +use std::rc::Rc; use style::thread_state; /// A traced reference to a DOM object @@ -269,6 +270,12 @@ impl MutHeapJSVal { debug_assert!(thread_state::get().is_script()); unsafe { (*self.val.get()).get() } } + + /// Get the underlying unsafe pointer to the contained value. + pub unsafe fn get_unsafe(&self) -> *mut JSVal { + debug_assert!(thread_state::get().is_script()); + (*self.val.get()).get_unsafe() + } } @@ -439,6 +446,18 @@ impl LayoutJS { } } +/// Get an `&T` out of a `Rc` +pub trait RootedRcReference { + /// Obtain a safe reference to the wrapped non-JS owned value. + fn r(&self) -> &T; +} + +impl RootedRcReference for Rc { + fn r(&self) -> &T { + &*self + } +} + /// Get an `Option<&T>` out of an `Option>` pub trait RootedReference { /// Obtain a safe optional reference to the wrapped JS owned-value that @@ -446,6 +465,12 @@ pub trait RootedReference { fn r(&self) -> Option<&T>; } +impl RootedReference for Option> { + fn r(&self) -> Option<&T> { + self.as_ref().map(|root| &**root) + } +} + impl RootedReference for Option> { fn r(&self) -> Option<&T> { self.as_ref().map(|root| root.r()) diff --git a/components/script/dom/bindings/refcounted.rs b/components/script/dom/bindings/refcounted.rs index ea4c47b1148..41cc60b0210 100644 --- a/components/script/dom/bindings/refcounted.rs +++ b/components/script/dom/bindings/refcounted.rs @@ -26,6 +26,7 @@ use core::nonzero::NonZero; use dom::bindings::js::Root; use dom::bindings::reflector::{Reflectable, Reflector}; use dom::bindings::trace::trace_reflector; +use dom::promise::Promise; use js::jsapi::JSTracer; use libc; use std::cell::RefCell; @@ -34,6 +35,7 @@ use std::collections::hash_map::HashMap; use std::hash::Hash; use std::marker::PhantomData; use std::os; +use std::rc::Rc; use std::sync::{Arc, Weak}; @@ -58,6 +60,63 @@ impl TrustedReference { } } +/// A safe wrapper around a DOM Promise object that can be shared among threads for use +/// in asynchronous operations. The underlying DOM object is guaranteed to live at least +/// as long as the last outstanding `TrustedPromise` instance. These values cannot be cloned, +/// only created from existing Rc values. +pub struct TrustedPromise { + dom_object: *const Promise, + owner_thread: *const libc::c_void, +} + +unsafe impl Send for TrustedPromise {} + +impl TrustedPromise { + /// Create a new `TrustedPromise` instance from an existing DOM object. The object will + /// be prevented from being GCed for the duration of the resulting `TrustedPromise` object's + /// lifetime. + #[allow(unrooted_must_root)] + pub fn new(promise: Rc) -> TrustedPromise { + LIVE_REFERENCES.with(|ref r| { + let r = r.borrow(); + let live_references = r.as_ref().unwrap(); + let ptr = &*promise as *const Promise; + live_references.addref_promise(promise); + TrustedPromise { + dom_object: ptr, + owner_thread: (&*live_references) as *const _ as *const libc::c_void, + } + }) + } + + /// Obtain a usable DOM Promise from a pinned `TrustedPromise` value. Fails if used on + /// a different thread than the original value from which this `TrustedPromise` was + /// obtained. + #[allow(unrooted_must_root)] + pub fn root(self) -> Rc { + LIVE_REFERENCES.with(|ref r| { + let r = r.borrow(); + let live_references = r.as_ref().unwrap(); + assert!(self.owner_thread == (&*live_references) as *const _ as *const libc::c_void); + // Borrow-check error requires the redundant `let promise = ...; promise` here. + let promise = match live_references.promise_table.borrow_mut().entry(self.dom_object) { + Occupied(mut entry) => { + let promise = { + let promises = entry.get_mut(); + promises.pop().expect("rooted promise list unexpectedly empty") + }; + if entry.get().is_empty() { + entry.remove(); + } + promise + } + Vacant(_) => unreachable!(), + }; + promise + }) + } +} + /// A safe wrapper around a raw pointer to a DOM object that can be /// shared among threads for use in asynchronous operations. The underlying /// DOM object is guaranteed to live at least as long as the last outstanding @@ -117,9 +176,11 @@ impl Clone for Trusted { /// The set of live, pinned DOM objects that are currently prevented /// from being garbage collected due to outstanding references. +#[allow(unrooted_must_root)] pub struct LiveDOMReferences { // keyed on pointer to Rust DOM object - table: RefCell>>, + reflectable_table: RefCell>>, + promise_table: RefCell>>>, } impl LiveDOMReferences { @@ -127,13 +188,20 @@ impl LiveDOMReferences { pub fn initialize() { LIVE_REFERENCES.with(|ref r| { *r.borrow_mut() = Some(LiveDOMReferences { - table: RefCell::new(HashMap::new()), + reflectable_table: RefCell::new(HashMap::new()), + promise_table: RefCell::new(HashMap::new()), }) }); } + #[allow(unrooted_must_root)] + fn addref_promise(&self, promise: Rc) { + let mut table = self.promise_table.borrow_mut(); + table.entry(&*promise).or_insert(vec![]).push(promise) + } + fn addref(&self, ptr: *const T) -> Arc { - let mut table = self.table.borrow_mut(); + let mut table = self.reflectable_table.borrow_mut(); let capacity = table.capacity(); let len = table.len(); if (0 < capacity) && (capacity <= len) { @@ -173,17 +241,27 @@ fn remove_nulls (table: &mut HashMap>) { } /// A JSTraceDataOp for tracing reflectors held in LIVE_REFERENCES +#[allow(unrooted_must_root)] pub unsafe extern "C" fn trace_refcounted_objects(tracer: *mut JSTracer, _data: *mut os::raw::c_void) { info!("tracing live refcounted references"); LIVE_REFERENCES.with(|ref r| { let r = r.borrow(); let live_references = r.as_ref().unwrap(); - let mut table = live_references.table.borrow_mut(); - remove_nulls(&mut table); - for obj in table.keys() { - let reflectable = &*(*obj as *const Reflector); - trace_reflector(tracer, "refcounted", reflectable); + { + let mut table = live_references.reflectable_table.borrow_mut(); + remove_nulls(&mut table); + for obj in table.keys() { + let reflectable = &*(*obj as *const Reflector); + trace_reflector(tracer, "refcounted", reflectable); + } + } + + { + let table = live_references.promise_table.borrow_mut(); + for promise in table.keys() { + trace_reflector(tracer, "refcounted", (**promise).reflector()); + } } }); } diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index 67b8832efed..53d141d114c 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -36,7 +36,7 @@ use devtools_traits::CSSError; use devtools_traits::WorkerId; use dom::abstractworker::SharedRt; use dom::bindings::js::{JS, Root}; -use dom::bindings::refcounted::Trusted; +use dom::bindings::refcounted::{Trusted, TrustedPromise}; use dom::bindings::reflector::{Reflectable, Reflector}; use dom::bindings::str::{DOMString, USVString}; use dom::bindings::utils::WindowProxyHandler; @@ -156,7 +156,7 @@ impl JSTraceable for Rc { } } -impl JSTraceable for Box { +impl JSTraceable for Box { fn trace(&self, trc: *mut JSTracer) { (**self).trace(trc) } @@ -303,6 +303,7 @@ no_jsmanaged_fields!(Metadata); no_jsmanaged_fields!(NetworkError); no_jsmanaged_fields!(Atom, Namespace, QualName); no_jsmanaged_fields!(Trusted); +no_jsmanaged_fields!(TrustedPromise); no_jsmanaged_fields!(PropertyDeclarationBlock); no_jsmanaged_fields!(HashSet); // These three are interdependent, if you plan to put jsmanaged data diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 5f6b4fffbdc..24951c0c075 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -373,6 +373,8 @@ pub mod pluginarray; pub mod popstateevent; pub mod processinginstruction; pub mod progressevent; +pub mod promise; +pub mod promisenativehandler; pub mod radionodelist; pub mod range; pub mod request; diff --git a/components/script/dom/promise.rs b/components/script/dom/promise.rs new file mode 100644 index 00000000000..5fd1ef6f85e --- /dev/null +++ b/components/script/dom/promise.rs @@ -0,0 +1,288 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//! Native representation of JS Promise values. +//! +//! This implementation differs from the traditional Rust DOM object, because the reflector +//! is provided by SpiderMonkey and has no knowledge of an associated native representation +//! (ie. dom::Promise). This means that native instances use native reference counting (Rc) +//! to ensure that no memory is leaked, which means that there can be multiple instances of +//! native Promise values that refer to the same JS value yet are distinct native objects +//! (ie. address equality for the native objects is meaningless). + +use dom::bindings::callback::CallbackContainer; +use dom::bindings::codegen::Bindings::PromiseBinding::AnyCallback; +use dom::bindings::conversions::root_from_object; +use dom::bindings::error::{Error, Fallible}; +use dom::bindings::global::GlobalRef; +use dom::bindings::js::MutHeapJSVal; +use dom::bindings::reflector::{Reflectable, MutReflectable, Reflector}; +use dom::promisenativehandler::PromiseNativeHandler; +use js::conversions::ToJSValConvertible; +use js::jsapi::{CallOriginalPromiseResolve, CallOriginalPromiseReject, CallOriginalPromiseThen}; +use js::jsapi::{JSAutoCompartment, CallArgs, JS_GetFunctionObject, JS_NewFunction}; +use js::jsapi::{JSContext, HandleValue, HandleObject, IsPromiseObject, GetFunctionNativeReserved}; +use js::jsapi::{JS_ClearPendingException, JSObject, AddRawValueRoot, RemoveRawValueRoot}; +use js::jsapi::{MutableHandleObject, NewPromiseObject, ResolvePromise, RejectPromise}; +use js::jsapi::{SetFunctionNativeReserved, NewFunctionWithReserved, AddPromiseReactions}; +use js::jsval::{JSVal, UndefinedValue, ObjectValue, Int32Value}; +use std::ptr; +use std::rc::Rc; + +#[dom_struct] +pub struct Promise { + reflector: Reflector, + /// Since Promise values are natively reference counted without the knowledge of + /// the SpiderMonkey GC, an explicit root for the reflector is stored while any + /// native instance exists. This ensures that the reflector will never be GCed + /// while native code could still interact with its native representation. + #[ignore_heap_size_of = "SM handles JS values"] + permanent_js_root: MutHeapJSVal, +} + +/// Private helper to enable adding new methods to Rc. +trait PromiseHelper { + #[allow(unsafe_code)] + unsafe fn initialize(&self, cx: *mut JSContext); +} + +impl PromiseHelper for Rc { + #[allow(unsafe_code)] + unsafe fn initialize(&self, cx: *mut JSContext) { + let obj = self.reflector().get_jsobject(); + self.permanent_js_root.set(ObjectValue(&**obj)); + assert!(AddRawValueRoot(cx, + self.permanent_js_root.get_unsafe(), + b"Promise::root\0" as *const _ as *const _)); + } +} + +impl Drop for Promise { + #[allow(unsafe_code)] + fn drop(&mut self) { + let cx = self.global().r().get_cx(); + unsafe { + RemoveRawValueRoot(cx, self.permanent_js_root.get_unsafe()); + } + } +} + +impl Promise { + #[allow(unsafe_code)] + pub fn new(global: GlobalRef) -> Rc { + let cx = global.get_cx(); + rooted!(in(cx) let mut obj = ptr::null_mut()); + unsafe { + Promise::create_js_promise(cx, HandleObject::null(), obj.handle_mut()); + Promise::new_with_js_promise(obj.handle(), cx) + } + } + + #[allow(unsafe_code, unrooted_must_root)] + pub fn duplicate(&self) -> Rc { + let cx = self.global().r().get_cx(); + unsafe { + Promise::new_with_js_promise(self.reflector().get_jsobject(), cx) + } + } + + #[allow(unsafe_code, unrooted_must_root)] + unsafe fn new_with_js_promise(obj: HandleObject, cx: *mut JSContext) -> Rc { + assert!(IsPromiseObject(obj)); + let mut promise = Promise { + reflector: Reflector::new(), + permanent_js_root: MutHeapJSVal::new(), + }; + promise.init_reflector(obj.get()); + let promise = Rc::new(promise); + promise.initialize(cx); + promise + } + + #[allow(unsafe_code)] + unsafe fn create_js_promise(cx: *mut JSContext, proto: HandleObject, obj: MutableHandleObject) { + let do_nothing_func = JS_NewFunction(cx, Some(do_nothing_promise_executor), /* nargs = */ 2, + /* flags = */ 0, ptr::null()); + assert!(!do_nothing_func.is_null()); + rooted!(in(cx) let do_nothing_obj = JS_GetFunctionObject(do_nothing_func)); + assert!(!do_nothing_obj.is_null()); + obj.set(NewPromiseObject(cx, do_nothing_obj.handle(), proto)); + assert!(!obj.is_null()); + } + + #[allow(unrooted_must_root, unsafe_code)] + pub fn Resolve(global: GlobalRef, + cx: *mut JSContext, + value: HandleValue) -> Fallible> { + let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get()); + rooted!(in(cx) let p = unsafe { CallOriginalPromiseResolve(cx, value) }); + assert!(!p.handle().is_null()); + unsafe { + Ok(Promise::new_with_js_promise(p.handle(), cx)) + } + } + + #[allow(unrooted_must_root, unsafe_code)] + pub fn Reject(global: GlobalRef, + cx: *mut JSContext, + value: HandleValue) -> Fallible> { + let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get()); + rooted!(in(cx) let p = unsafe { CallOriginalPromiseReject(cx, value) }); + assert!(!p.handle().is_null()); + unsafe { + Ok(Promise::new_with_js_promise(p.handle(), cx)) + } + } + + #[allow(unsafe_code)] + pub fn resolve_native(&self, cx: *mut JSContext, val: &T) where T: ToJSValConvertible { + rooted!(in(cx) let mut v = UndefinedValue()); + unsafe { + val.to_jsval(cx, v.handle_mut()); + } + self.resolve(cx, v.handle()); + } + + #[allow(unrooted_must_root, unsafe_code)] + pub fn resolve(&self, cx: *mut JSContext, value: HandleValue) { + unsafe { + if !ResolvePromise(cx, self.promise_obj(), value) { + JS_ClearPendingException(cx); + } + } + } + + #[allow(unsafe_code)] + pub fn reject_native(&self, cx: *mut JSContext, val: &T) where T: ToJSValConvertible { + rooted!(in(cx) let mut v = UndefinedValue()); + unsafe { + val.to_jsval(cx, v.handle_mut()); + } + self.reject(cx, v.handle()); + } + + #[allow(unsafe_code)] + pub fn reject_error(&self, cx: *mut JSContext, error: Error) { + rooted!(in(cx) let mut v = UndefinedValue()); + unsafe { + error.to_jsval(cx, self.global().r(), v.handle_mut()); + } + self.reject(cx, v.handle()); + } + + #[allow(unrooted_must_root, unsafe_code)] + pub fn reject(&self, + cx: *mut JSContext, + value: HandleValue) { + unsafe { + if !RejectPromise(cx, self.promise_obj(), value) { + JS_ClearPendingException(cx); + } + } + } + + #[allow(unrooted_must_root, unsafe_code)] + pub fn then(&self, + cx: *mut JSContext, + _callee: HandleObject, + cb_resolve: AnyCallback, + cb_reject: AnyCallback, + result: MutableHandleObject) { + let promise = self.promise_obj(); + rooted!(in(cx) let resolve = cb_resolve.callback()); + rooted!(in(cx) let reject = cb_reject.callback()); + unsafe { + rooted!(in(cx) let res = + CallOriginalPromiseThen(cx, promise, resolve.handle(), reject.handle())); + result.set(*res); + } + } + + #[allow(unsafe_code)] + fn promise_obj(&self) -> HandleObject { + let obj = self.reflector().get_jsobject(); + unsafe { + assert!(IsPromiseObject(obj)); + } + obj + } + + #[allow(unsafe_code)] + pub fn append_native_handler(&self, handler: &PromiseNativeHandler) { + let global = self.global(); + let cx = global.r().get_cx(); + rooted!(in(cx) let resolve_func = + create_native_handler_function(cx, + handler.reflector().get_jsobject(), + NativeHandlerTask::Resolve)); + + rooted!(in(cx) let reject_func = + create_native_handler_function(cx, + handler.reflector().get_jsobject(), + NativeHandlerTask::Reject)); + + unsafe { + let ok = AddPromiseReactions(cx, + self.promise_obj(), + resolve_func.handle(), + reject_func.handle()); + assert!(ok); + } + } +} + +#[allow(unsafe_code)] +unsafe extern fn do_nothing_promise_executor(_cx: *mut JSContext, argc: u32, vp: *mut JSVal) -> bool { + let args = CallArgs::from_vp(vp, argc); + *args.rval() = UndefinedValue(); + true +} + +const SLOT_NATIVEHANDLER: usize = 0; +const SLOT_NATIVEHANDLER_TASK: usize = 1; + +#[derive(PartialEq)] +enum NativeHandlerTask { + Resolve = 0, + Reject = 1, +} + +#[allow(unsafe_code)] +unsafe extern fn native_handler_callback(cx: *mut JSContext, argc: u32, vp: *mut JSVal) -> bool { + let args = CallArgs::from_vp(vp, argc); + rooted!(in(cx) let v = *GetFunctionNativeReserved(args.callee(), SLOT_NATIVEHANDLER)); + assert!(v.get().is_object()); + + let handler = root_from_object::(v.to_object()) + .ok().expect("unexpected value for native handler in promise native handler callback"); + + rooted!(in(cx) let v = *GetFunctionNativeReserved(args.callee(), SLOT_NATIVEHANDLER_TASK)); + match v.to_int32() { + v if v == NativeHandlerTask::Resolve as i32 => handler.resolved_callback(cx, args.get(0)), + v if v == NativeHandlerTask::Reject as i32 => handler.rejected_callback(cx, args.get(0)), + _ => panic!("unexpected native handler task value"), + }; + + true +} + +#[allow(unsafe_code)] +fn create_native_handler_function(cx: *mut JSContext, + holder: HandleObject, + task: NativeHandlerTask) -> *mut JSObject { + unsafe { + let func = NewFunctionWithReserved(cx, Some(native_handler_callback), 1, 0, ptr::null()); + assert!(!func.is_null()); + + rooted!(in(cx) let obj = JS_GetFunctionObject(func)); + assert!(!obj.is_null()); + SetFunctionNativeReserved(obj.get(), + SLOT_NATIVEHANDLER, + &ObjectValue(&**holder)); + SetFunctionNativeReserved(obj.get(), + SLOT_NATIVEHANDLER_TASK, + &Int32Value(task as i32)); + obj.get() + } +} diff --git a/components/script/dom/promisenativehandler.rs b/components/script/dom/promisenativehandler.rs new file mode 100644 index 00000000000..603122556ef --- /dev/null +++ b/components/script/dom/promisenativehandler.rs @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use dom::bindings::codegen::Bindings::PromiseNativeHandlerBinding; +use dom::bindings::global::GlobalRef; +use dom::bindings::js::Root; +use dom::bindings::reflector::{Reflector, reflect_dom_object}; +use dom::bindings::trace::JSTraceable; +use heapsize::HeapSizeOf; +use js::jsapi::{JSContext, HandleValue}; + +pub trait Callback: JSTraceable + HeapSizeOf { + fn callback(&self, cx: *mut JSContext, v: HandleValue); +} + +#[dom_struct] +pub struct PromiseNativeHandler { + reflector: Reflector, + resolve: Option>, + reject: Option>, +} + +impl PromiseNativeHandler { + pub fn new(global: GlobalRef, + resolve: Option>, + reject: Option>) + -> Root { + reflect_dom_object(box PromiseNativeHandler { + reflector: Reflector::new(), + resolve: resolve, + reject: reject, + }, global, PromiseNativeHandlerBinding::Wrap) + } + + fn callback(callback: &Option>, cx: *mut JSContext, v: HandleValue) { + if let Some(ref callback) = *callback { + callback.callback(cx, v) + } + } + + pub fn resolved_callback(&self, cx: *mut JSContext, v: HandleValue) { + PromiseNativeHandler::callback(&self.resolve, cx, v) + } + + pub fn rejected_callback(&self, cx: *mut JSContext, v: HandleValue) { + PromiseNativeHandler::callback(&self.reject, cx, v) + } +} diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 566ff2d9375..6f7d7baf770 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -5,9 +5,10 @@ // check-tidy: no specs after this line use core::nonzero::NonZero; +use dom::bindings::callback::ExceptionHandling; use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener; use dom::bindings::codegen::Bindings::FunctionBinding::Function; -use dom::bindings::codegen::Bindings::TestBindingBinding; +use dom::bindings::codegen::Bindings::TestBindingBinding::{self, SimpleCallback}; use dom::bindings::codegen::Bindings::TestBindingBinding::{TestBindingMethods, TestDictionary}; use dom::bindings::codegen::Bindings::TestBindingBinding::{TestDictionaryDefaults, TestEnum}; use dom::bindings::codegen::UnionTypes; @@ -19,22 +20,27 @@ use dom::bindings::codegen::UnionTypes::{EventOrUSVString, HTMLElementOrLong, Lo use dom::bindings::codegen::UnionTypes::{HTMLElementOrUnsignedLongOrStringOrBoolean, LongSequenceOrBoolean}; use dom::bindings::codegen::UnionTypes::{StringOrLongSequence, StringOrStringSequence, StringSequenceOrUnsignedLong}; use dom::bindings::codegen::UnionTypes::{StringOrUnsignedLong, StringOrBoolean, UnsignedLongOrBoolean}; -use dom::bindings::error::Fallible; -use dom::bindings::global::GlobalRef; +use dom::bindings::error::{Error, Fallible}; +use dom::bindings::global::{GlobalRef, global_root_from_context}; use dom::bindings::js::Root; use dom::bindings::mozmap::MozMap; use dom::bindings::num::Finite; +use dom::bindings::refcounted::TrustedPromise; use dom::bindings::reflector::{Reflectable, Reflector, reflect_dom_object}; use dom::bindings::str::{ByteString, DOMString, USVString}; use dom::bindings::weakref::MutableWeakRef; use dom::blob::{Blob, BlobImpl}; +use dom::promise::Promise; +use dom::promisenativehandler::{PromiseNativeHandler, Callback}; use dom::url::URL; -use js::jsapi::{HandleObject, HandleValue, JSContext, JSObject}; +use js::jsapi::{HandleObject, HandleValue, JSContext, JSObject, JSAutoCompartment}; use js::jsapi::{JS_NewPlainObject, JS_NewUint8ClampedArray}; use js::jsval::{JSVal, NullValue}; +use script_traits::MsDuration; use std::borrow::ToOwned; use std::ptr; use std::rc::Rc; +use timers::OneshotTimerCallback; use util::prefs::PREFS; #[dom_struct] @@ -647,6 +653,81 @@ impl TestBindingMethods for TestBinding { fn ReceiveMozMapOfMozMaps(&self) -> MozMap> { MozMap::new() } fn ReceiveAnyMozMap(&self) -> MozMap { MozMap::new() } + #[allow(unrooted_must_root)] + fn ReturnResolvedPromise(&self, cx: *mut JSContext, v: HandleValue) -> Fallible> { + Promise::Resolve(self.global().r(), cx, v) + } + + #[allow(unrooted_must_root)] + fn ReturnRejectedPromise(&self, cx: *mut JSContext, v: HandleValue) -> Fallible> { + Promise::Reject(self.global().r(), cx, v) + } + + fn PromiseResolveNative(&self, cx: *mut JSContext, p: &Promise, v: HandleValue) { + p.resolve(cx, v); + } + + fn PromiseRejectNative(&self, cx: *mut JSContext, p: &Promise, v: HandleValue) { + p.reject(cx, v); + } + + fn PromiseRejectWithTypeError(&self, p: &Promise, s: USVString) { + p.reject_error(self.global().r().get_cx(), Error::Type(s.0)); + } + + #[allow(unrooted_must_root)] + fn ResolvePromiseDelayed(&self, p: &Promise, value: DOMString, delay: u64) { + let promise = p.duplicate(); + let cb = TestBindingCallback { + promise: TrustedPromise::new(promise), + value: value, + }; + let _ = self.global().r().schedule_callback(OneshotTimerCallback::TestBindingCallback(cb), + MsDuration::new(delay)); + } + + #[allow(unrooted_must_root)] + fn PromiseNativeHandler(&self, + resolve: Option>, + reject: Option>) -> Rc { + let global = self.global(); + let handler = PromiseNativeHandler::new(global.r(), + resolve.map(SimpleHandler::new), + reject.map(SimpleHandler::new)); + let p = Promise::new(global.r()); + p.append_native_handler(&handler); + return p; + + #[derive(JSTraceable, HeapSizeOf)] + struct SimpleHandler { + #[ignore_heap_size_of = "Rc has unclear ownership semantics"] + handler: Rc, + } + impl SimpleHandler { + fn new(callback: Rc) -> Box { + box SimpleHandler { handler: callback } + } + } + impl Callback for SimpleHandler { + #[allow(unsafe_code)] + fn callback(&self, cx: *mut JSContext, v: HandleValue) { + let global = unsafe { global_root_from_context(cx) }; + let _ = self.handler.Call_(&global.r(), v, ExceptionHandling::Report); + } + } + } + + #[allow(unrooted_must_root)] + fn PromiseAttribute(&self) -> Rc { + Promise::new(self.global().r()) + } + + fn AcceptPromise(&self, _promise: &Promise) { + } + + fn AcceptNullablePromise(&self, _promise: Option<&Promise>) { + } + fn PassSequenceSequence(&self, _seq: Vec>) {} fn ReturnSequenceSequence(&self) -> Vec> { vec![] } fn PassUnionSequenceSequence(&self, seq: LongOrLongSequenceSequence) { @@ -693,3 +774,20 @@ impl TestBinding { pub unsafe fn condition_satisfied(_: *mut JSContext, _: HandleObject) -> bool { true } pub unsafe fn condition_unsatisfied(_: *mut JSContext, _: HandleObject) -> bool { false } } + +#[derive(JSTraceable, HeapSizeOf)] +pub struct TestBindingCallback { + #[ignore_heap_size_of = "unclear ownership semantics"] + promise: TrustedPromise, + value: DOMString, +} + +impl TestBindingCallback { + #[allow(unrooted_must_root)] + pub fn invoke(self) { + let p = self.promise.root(); + let cx = p.global().r().get_cx(); + let _ac = JSAutoCompartment::new(cx, p.reflector().get_jsobject().get()); + p.resolve_native(cx, &self.value); + } +} diff --git a/components/script/dom/webidls/Promise.webidl b/components/script/dom/webidls/Promise.webidl new file mode 100644 index 00000000000..5897ff422f9 --- /dev/null +++ b/components/script/dom/webidls/Promise.webidl @@ -0,0 +1,16 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// This interface is entirely internal to Servo, and should not be accessible to +// web pages. + +callback PromiseJobCallback = void(); + +[TreatNonCallableAsNull] +callback AnyCallback = any (any value); + +[NoInterfaceObject, Exposed=(Window,Worker)] +// Need to escape "Promise" so it's treated as an identifier. +interface _Promise { +}; diff --git a/components/script/dom/webidls/PromiseNativeHandler.webidl b/components/script/dom/webidls/PromiseNativeHandler.webidl new file mode 100644 index 00000000000..caa1692dfd3 --- /dev/null +++ b/components/script/dom/webidls/PromiseNativeHandler.webidl @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// This interface is entirely internal to Servo, and should not be accessible to +// web pages. + +// Hack to allow us to have JS owning and properly tracing/CCing/etc a +// PromiseNativeHandler. +[NoInterfaceObject, + Exposed=(Window,Worker)] +interface PromiseNativeHandler { +}; diff --git a/components/script/dom/webidls/TestBinding.webidl b/components/script/dom/webidls/TestBinding.webidl index e35b914d08e..c3274057a40 100644 --- a/components/script/dom/webidls/TestBinding.webidl +++ b/components/script/dom/webidls/TestBinding.webidl @@ -508,9 +508,24 @@ interface TestBinding { [Func="TestBinding::condition_satisfied"] const unsigned short funcControlledConstEnabled = 0; + [Throws] + Promise returnResolvedPromise(any value); + [Throws] + Promise returnRejectedPromise(any value); + readonly attribute Promise promiseAttribute; + void acceptPromise(Promise string); + void acceptNullablePromise(Promise? string); + Promise promiseNativeHandler(SimpleCallback? resolve, SimpleCallback? reject); + void promiseResolveNative(Promise p, any value); + void promiseRejectNative(Promise p, any value); + void promiseRejectWithTypeError(Promise p, USVString message); + void resolvePromiseDelayed(Promise p, DOMString value, unsigned long long ms); + void panic(); }; +callback SimpleCallback = void(any value); + partial interface TestBinding { [Pref="dom.testable_crash.enabled"] void crashHard(); diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index bb9a9c3f4ab..2520f57dbac 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -7,9 +7,10 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::OnErrorEventHandlerNo use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::codegen::Bindings::WorkerGlobalScopeBinding::WorkerGlobalScopeMethods; use dom::bindings::error::{Error, ErrorResult, Fallible, report_pending_exception, ErrorInfo}; -use dom::bindings::global::GlobalRef; +use dom::bindings::global::{GlobalRef, GlobalRoot}; use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, MutNullableHeap, Root}; +use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::Reflectable; use dom::bindings::str::DOMString; use dom::console::TimerSet; @@ -29,7 +30,8 @@ use net_traits::{IpcSend, LoadOrigin}; use net_traits::{LoadContext, ResourceThreads, load_whole_resource}; use profile_traits::{mem, time}; use script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort, maybe_take_panic_result}; -use script_thread::RunnableWrapper; +use script_runtime::{ScriptThreadEventCategory, PromiseJobQueue, EnqueuedPromiseCallback}; +use script_thread::{Runnable, RunnableWrapper}; use script_traits::{MsDuration, TimerEvent, TimerEventId, TimerEventRequest, TimerSource}; use script_traits::ScriptMsg as ConstellationMsg; use script_traits::WorkerGlobalScopeInit; @@ -112,6 +114,8 @@ pub struct WorkerGlobalScope { /// Timers used by the Console API. console_timers: TimerSet, + + promise_job_queue: PromiseJobQueue, } impl WorkerGlobalScope { @@ -143,6 +147,7 @@ impl WorkerGlobalScope { constellation_chan: init.constellation_chan, scheduler_chan: init.scheduler_chan, console_timers: TimerSet::new(), + promise_job_queue: PromiseJobQueue::new(), } } @@ -228,6 +233,25 @@ impl WorkerGlobalScope { cancelled: self.closing.clone().unwrap(), } } + + pub fn enqueue_promise_job(&self, job: EnqueuedPromiseCallback) { + self.promise_job_queue.enqueue(job, GlobalRef::Worker(self)); + } + + pub fn flush_promise_jobs(&self) { + self.script_chan().send(CommonScriptMsg::RunnableMsg( + ScriptThreadEventCategory::WorkerEvent, + box FlushPromiseJobs { + global: Trusted::new(self), + })).unwrap(); + } + + fn do_flush_promise_jobs(&self) { + self.promise_job_queue.flush_promise_jobs(|id| { + assert_eq!(self.pipeline_id(), id); + Some(GlobalRoot::Worker(Root::from_ref(self))) + }); + } } impl LoadOrigin for WorkerGlobalScope { @@ -466,3 +490,14 @@ impl WorkerGlobalScope { .report_an_error(error_info, value); } } + +struct FlushPromiseJobs { + global: Trusted, +} + +impl Runnable for FlushPromiseJobs { + fn handler(self: Box) { + let global = self.global.root(); + global.do_flush_promise_jobs(); + } +} diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 0287d0e9c10..658ace4c46a 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -5,18 +5,23 @@ //! The script runtime contains common traits and structs commonly used by the //! script thread, the dom, and the worker threads. +use dom::bindings::callback::ExceptionHandling; +use dom::bindings::cell::DOMRefCell; +use dom::bindings::codegen::Bindings::PromiseBinding::PromiseJobCallback; +use dom::bindings::global::{global_root_from_object, GlobalRoot, GlobalRef}; use dom::bindings::js::{RootCollection, RootCollectionPtr, trace_roots}; use dom::bindings::refcounted::{LiveDOMReferences, trace_refcounted_objects}; use dom::bindings::trace::trace_traceables; use dom::bindings::utils::DOM_CALLBACKS; use js::glue::CollectServoSizes; -use js::jsapi::{DisableIncrementalGC, GCDescription, GCProgress}; +use js::jsapi::{DisableIncrementalGC, GCDescription, GCProgress, HandleObject}; use js::jsapi::{JSContext, JS_GetRuntime, JSRuntime, JSTracer, SetDOMCallbacks, SetGCSliceCallback}; use js::jsapi::{JSGCInvocationKind, JSGCStatus, JS_AddExtraGCRootsTracer, JS_SetGCCallback}; use js::jsapi::{JSGCMode, JSGCParamKey, JS_SetGCParameter, JS_SetGlobalJitCompilerOption}; use js::jsapi::{JSJitCompilerOption, JS_SetOffthreadIonCompilationEnabled, JS_SetParallelParsingEnabled}; -use js::jsapi::{JSObject, RuntimeOptionsRef, SetPreserveWrapperCallback}; +use js::jsapi::{JSObject, RuntimeOptionsRef, SetPreserveWrapperCallback, SetEnqueuePromiseJobCallback}; use js::rust::Runtime; +use msg::constellation_msg::PipelineId; use profile_traits::mem::{Report, ReportKind, ReportsChan}; use script_thread::{Runnable, STACK_ROOTS, trace_thread}; use std::any::Any; @@ -24,7 +29,10 @@ use std::cell::{RefCell, Cell}; use std::io::{Write, stdout}; use std::marker::PhantomData; use std::os; +use std::os::raw::c_void; +use std::panic::{self, AssertUnwindSafe}; use std::ptr; +use std::rc::Rc; use style::thread_state; use time::{Tm, now}; use util::opts; @@ -95,6 +103,97 @@ impl<'a> Drop for StackRootTLS<'a> { } } +/// A promise callback scheduled to run during the next microtask checkpoint (#4283). +#[derive(JSTraceable, HeapSizeOf)] +pub struct EnqueuedPromiseCallback { + #[ignore_heap_size_of = "Rc has unclear ownership"] + callback: Rc, + pipeline: PipelineId, +} + +/// A collection of promise callbacks in FIFO order. +#[derive(JSTraceable, HeapSizeOf)] +pub struct PromiseJobQueue { + /// A snapshot of `promise_job_queue` that was taken at the start of the microtask checkpoint. + /// Used to work around mutability errors when appending new promise jobs while performing + /// a microtask checkpoint. + flushing_job_queue: DOMRefCell>, + /// The list of enqueued promise callbacks that will be invoked at the next microtask checkpoint. + promise_job_queue: DOMRefCell>, + /// True if there is an outstanding runnable responsible for evaluating the promise job queue. + /// This prevents runnables flooding the event queue needlessly, since the first one will + /// execute all pending runnables. + pending_promise_job_runnable: Cell, +} + +impl PromiseJobQueue { + /// Create a new PromiseJobQueue instance. + pub fn new() -> PromiseJobQueue { + PromiseJobQueue { + promise_job_queue: DOMRefCell::new(vec![]), + flushing_job_queue: DOMRefCell::new(vec![]), + pending_promise_job_runnable: Cell::new(false), + } + } + + /// Add a new promise job callback to this queue. It will be invoked as part of the next + /// microtask checkpoint. + pub fn enqueue(&self, job: EnqueuedPromiseCallback, global: GlobalRef) { + self.promise_job_queue.borrow_mut().push(job); + if !self.pending_promise_job_runnable.get() { + self.pending_promise_job_runnable.set(true); + global.flush_promise_jobs(); + } + } + + /// Perform a microtask checkpoint, by invoking all of the pending promise job callbacks in + /// FIFO order (#4283). + pub fn flush_promise_jobs(&self, target_provider: F) + where F: Fn(PipelineId) -> Option + { + self.pending_promise_job_runnable.set(false); + { + let mut pending_queue = self.promise_job_queue.borrow_mut(); + *self.flushing_job_queue.borrow_mut() = pending_queue.drain(..).collect(); + } + // N.B. borrowing this vector is safe w.r.t. mutability, since any promise job that + // is enqueued while invoking these callbacks will be placed in `pending_queue`; + // `flushing_queue` is a static snapshot during this checkpoint. + for job in &*self.flushing_job_queue.borrow() { + if let Some(target) = target_provider(job.pipeline) { + let _ = job.callback.Call_(&target.r(), ExceptionHandling::Report); + } + } + self.flushing_job_queue.borrow_mut().clear(); + } +} + +/// SM callback for promise job resolution. Adds a promise callback to the current global's +/// promise job queue, and enqueues a runnable to perform a microtask checkpoint if one +/// is not already pending. +#[allow(unsafe_code)] +unsafe extern "C" fn enqueue_job(_cx: *mut JSContext, + job: HandleObject, + _allocation_site: HandleObject, + _data: *mut c_void) -> bool { + let result = panic::catch_unwind(AssertUnwindSafe(|| { + let global = global_root_from_object(job.get()); + let pipeline = global.r().pipeline_id(); + global.r().enqueue_promise_job(EnqueuedPromiseCallback { + callback: PromiseJobCallback::new(job.get()), + pipeline: pipeline, + }); + true + })); + match result { + Ok(result) => result, + Err(error) => { + store_panic_result(error); + return false; + } + } +} + #[allow(unsafe_code)] pub unsafe fn new_rt_and_cx() -> Runtime { LiveDOMReferences::initialize(); @@ -118,6 +217,8 @@ pub unsafe fn new_rt_and_cx() -> Runtime { // Pre barriers aren't working correctly at the moment DisableIncrementalGC(runtime.rt()); + SetEnqueuePromiseJobCallback(runtime.rt(), Some(enqueue_job), ptr::null_mut()); + set_gc_zeal_options(runtime.rt()); // Enable or disable the JITs. diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 298323929c1..f1878501500 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -27,7 +27,7 @@ use dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, Documen use dom::bindings::codegen::Bindings::LocationBinding::LocationMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::conversions::{ConversionResult, FromJSValConvertible, StringificationBehavior}; -use dom::bindings::global::GlobalRef; +use dom::bindings::global::{GlobalRef, GlobalRoot}; use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, MutNullableHeap, Root, RootCollection}; use dom::bindings::js::{RootCollectionPtr, RootedReference}; @@ -77,8 +77,8 @@ use parse::xml::{self, parse_xml}; use profile_traits::mem::{self, OpaqueSender, Report, ReportKind, ReportsChan}; use profile_traits::time::{self, ProfilerCategory, profile}; use script_layout_interface::message::{self, NewLayoutThreadInfo, ReflowQueryType}; -use script_runtime::{CommonScriptMsg, ScriptChan, ScriptThreadEventCategory}; -use script_runtime::{ScriptPort, StackRootTLS, get_reports, new_rt_and_cx}; +use script_runtime::{CommonScriptMsg, ScriptChan, ScriptThreadEventCategory, EnqueuedPromiseCallback}; +use script_runtime::{ScriptPort, StackRootTLS, get_reports, new_rt_and_cx, PromiseJobQueue}; use script_traits::{CompositorEvent, ConstellationControlMsg, EventResult}; use script_traits::{InitialScriptState, MouseButton, MouseEventType, MozBrowserEvent}; use script_traits::{NewLayoutInfo, ScriptMsg as ConstellationMsg}; @@ -394,6 +394,8 @@ pub struct ScriptThread { timer_event_port: Receiver, content_process_shutdown_chan: IpcSender<()>, + + promise_job_queue: PromiseJobQueue, } /// In the event of thread panic, all data on the stack runs its destructor. However, there @@ -599,6 +601,8 @@ impl ScriptThread { timer_event_port: timer_event_port, content_process_shutdown_chan: state.content_process_shutdown_chan, + + promise_job_queue: PromiseJobQueue::new(), } } @@ -2174,6 +2178,33 @@ impl ScriptThread { location.Reload(); } } + + pub fn enqueue_promise_job(job: EnqueuedPromiseCallback, global: GlobalRef) { + SCRIPT_THREAD_ROOT.with(|root| { + let script_thread = unsafe { &*root.get().unwrap() }; + script_thread.promise_job_queue.enqueue(job, global); + }); + } + + pub fn flush_promise_jobs(global: GlobalRef) { + SCRIPT_THREAD_ROOT.with(|root| { + let script_thread = unsafe { &*root.get().unwrap() }; + let _ = script_thread.dom_manipulation_task_source.queue(box FlushPromiseJobs, global); + }) + } + + fn do_flush_promise_jobs(&self) { + self.promise_job_queue.flush_promise_jobs(|id| { + self.find_child_context(id).map(|context| GlobalRoot::Window(context.active_window())) + }); + } +} + +struct FlushPromiseJobs; +impl Runnable for FlushPromiseJobs { + fn main_thread_handler(self: Box, script_thread: &ScriptThread) { + script_thread.do_flush_promise_jobs(); + } } impl Drop for ScriptThread { diff --git a/components/script/timers.rs b/components/script/timers.rs index 8c2d2d9cac4..f75ebf907d5 100644 --- a/components/script/timers.rs +++ b/components/script/timers.rs @@ -8,6 +8,7 @@ use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::global::GlobalRef; use dom::bindings::reflector::Reflectable; use dom::bindings::str::DOMString; +use dom::testbinding::TestBindingCallback; use dom::window::ScriptHelpers; use dom::xmlhttprequest::XHRTimeoutCallback; use euclid::length::Length; @@ -68,6 +69,7 @@ struct OneshotTimer { pub enum OneshotTimerCallback { XhrTimeout(XHRTimeoutCallback), JsTimer(JsTimerTask), + TestBindingCallback(TestBindingCallback), } impl OneshotTimerCallback { @@ -75,6 +77,7 @@ impl OneshotTimerCallback { match self { OneshotTimerCallback::XhrTimeout(callback) => callback.invoke(), OneshotTimerCallback::JsTimer(task) => task.invoke(this, js_timers), + OneshotTimerCallback::TestBindingCallback(callback) => callback.invoke(), } } } diff --git a/tests/wpt/metadata/WebCryptoAPI/digest/digest.worker.js.ini b/tests/wpt/metadata/WebCryptoAPI/digest/digest.worker.js.ini index 896fdc48351..715e7fa9097 100644 --- a/tests/wpt/metadata/WebCryptoAPI/digest/digest.worker.js.ini +++ b/tests/wpt/metadata/WebCryptoAPI/digest/digest.worker.js.ini @@ -1,6 +1,242 @@ [digest.worker] type: testharness - expected: ERROR [SHA-1 with empty source data] - expected: NOTRUN + expected: FAIL + + [sha-1 with empty source data] + expected: FAIL + + [Sha-1 with empty source data] + expected: FAIL + + [SHA-1 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-256 with empty source data] + expected: FAIL + + [sha-256 with empty source data] + expected: FAIL + + [Sha-256 with empty source data] + expected: FAIL + + [SHA-256 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-384 with empty source data] + expected: FAIL + + [sha-384 with empty source data] + expected: FAIL + + [Sha-384 with empty source data] + expected: FAIL + + [SHA-384 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-512 with empty source data] + expected: FAIL + + [sha-512 with empty source data] + expected: FAIL + + [Sha-512 with empty source data] + expected: FAIL + + [SHA-512 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-1 with short source data] + expected: FAIL + + [sha-1 with short source data] + expected: FAIL + + [Sha-1 with short source data] + expected: FAIL + + [SHA-1 with short source data and altered buffer after call] + expected: FAIL + + [SHA-256 with short source data] + expected: FAIL + + [sha-256 with short source data] + expected: FAIL + + [Sha-256 with short source data] + expected: FAIL + + [SHA-256 with short source data and altered buffer after call] + expected: FAIL + + [SHA-384 with short source data] + expected: FAIL + + [sha-384 with short source data] + expected: FAIL + + [Sha-384 with short source data] + expected: FAIL + + [SHA-384 with short source data and altered buffer after call] + expected: FAIL + + [SHA-512 with short source data] + expected: FAIL + + [sha-512 with short source data] + expected: FAIL + + [Sha-512 with short source data] + expected: FAIL + + [SHA-512 with short source data and altered buffer after call] + expected: FAIL + + [SHA-1 with medium source data] + expected: FAIL + + [sha-1 with medium source data] + expected: FAIL + + [Sha-1 with medium source data] + expected: FAIL + + [SHA-1 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-256 with medium source data] + expected: FAIL + + [sha-256 with medium source data] + expected: FAIL + + [Sha-256 with medium source data] + expected: FAIL + + [SHA-256 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-384 with medium source data] + expected: FAIL + + [sha-384 with medium source data] + expected: FAIL + + [Sha-384 with medium source data] + expected: FAIL + + [SHA-384 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-512 with medium source data] + expected: FAIL + + [sha-512 with medium source data] + expected: FAIL + + [Sha-512 with medium source data] + expected: FAIL + + [SHA-512 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-1 with long source data] + expected: FAIL + + [sha-1 with long source data] + expected: FAIL + + [Sha-1 with long source data] + expected: FAIL + + [SHA-1 with long source data and altered buffer after call] + expected: FAIL + + [SHA-256 with long source data] + expected: FAIL + + [sha-256 with long source data] + expected: FAIL + + [Sha-256 with long source data] + expected: FAIL + + [SHA-256 with long source data and altered buffer after call] + expected: FAIL + + [SHA-384 with long source data] + expected: FAIL + + [sha-384 with long source data] + expected: FAIL + + [Sha-384 with long source data] + expected: FAIL + + [SHA-384 with long source data and altered buffer after call] + expected: FAIL + + [SHA-512 with long source data] + expected: FAIL + + [sha-512 with long source data] + expected: FAIL + + [Sha-512 with long source data] + expected: FAIL + + [SHA-512 with long source data and altered buffer after call] + expected: FAIL + + [AES-GCM with empty] + expected: FAIL + + [RSA-OAEP with empty] + expected: FAIL + + [PBKDF2 with empty] + expected: FAIL + + [AES-KW with empty] + expected: FAIL + + [AES-GCM with short] + expected: FAIL + + [RSA-OAEP with short] + expected: FAIL + + [PBKDF2 with short] + expected: FAIL + + [AES-KW with short] + expected: FAIL + + [AES-GCM with medium] + expected: FAIL + + [RSA-OAEP with medium] + expected: FAIL + + [PBKDF2 with medium] + expected: FAIL + + [AES-KW with medium] + expected: FAIL + + [AES-GCM with long] + expected: FAIL + + [RSA-OAEP with long] + expected: FAIL + + [PBKDF2 with long] + expected: FAIL + + [AES-KW with long] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/digest/test_digest.html.ini b/tests/wpt/metadata/WebCryptoAPI/digest/test_digest.html.ini index 5919ea90676..f62ab02d06e 100644 --- a/tests/wpt/metadata/WebCryptoAPI/digest/test_digest.html.ini +++ b/tests/wpt/metadata/WebCryptoAPI/digest/test_digest.html.ini @@ -1,6 +1,242 @@ [test_digest.html] type: testharness - expected: ERROR [SHA-1 with empty source data] - expected: NOTRUN + expected: FAIL + + [sha-1 with empty source data] + expected: FAIL + + [Sha-1 with empty source data] + expected: FAIL + + [SHA-1 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-256 with empty source data] + expected: FAIL + + [sha-256 with empty source data] + expected: FAIL + + [Sha-256 with empty source data] + expected: FAIL + + [SHA-256 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-384 with empty source data] + expected: FAIL + + [sha-384 with empty source data] + expected: FAIL + + [Sha-384 with empty source data] + expected: FAIL + + [SHA-384 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-512 with empty source data] + expected: FAIL + + [sha-512 with empty source data] + expected: FAIL + + [Sha-512 with empty source data] + expected: FAIL + + [SHA-512 with empty source data and altered buffer after call] + expected: FAIL + + [SHA-1 with short source data] + expected: FAIL + + [sha-1 with short source data] + expected: FAIL + + [Sha-1 with short source data] + expected: FAIL + + [SHA-1 with short source data and altered buffer after call] + expected: FAIL + + [SHA-256 with short source data] + expected: FAIL + + [sha-256 with short source data] + expected: FAIL + + [Sha-256 with short source data] + expected: FAIL + + [SHA-256 with short source data and altered buffer after call] + expected: FAIL + + [SHA-384 with short source data] + expected: FAIL + + [sha-384 with short source data] + expected: FAIL + + [Sha-384 with short source data] + expected: FAIL + + [SHA-384 with short source data and altered buffer after call] + expected: FAIL + + [SHA-512 with short source data] + expected: FAIL + + [sha-512 with short source data] + expected: FAIL + + [Sha-512 with short source data] + expected: FAIL + + [SHA-512 with short source data and altered buffer after call] + expected: FAIL + + [SHA-1 with medium source data] + expected: FAIL + + [sha-1 with medium source data] + expected: FAIL + + [Sha-1 with medium source data] + expected: FAIL + + [SHA-1 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-256 with medium source data] + expected: FAIL + + [sha-256 with medium source data] + expected: FAIL + + [Sha-256 with medium source data] + expected: FAIL + + [SHA-256 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-384 with medium source data] + expected: FAIL + + [sha-384 with medium source data] + expected: FAIL + + [Sha-384 with medium source data] + expected: FAIL + + [SHA-384 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-512 with medium source data] + expected: FAIL + + [sha-512 with medium source data] + expected: FAIL + + [Sha-512 with medium source data] + expected: FAIL + + [SHA-512 with medium source data and altered buffer after call] + expected: FAIL + + [SHA-1 with long source data] + expected: FAIL + + [sha-1 with long source data] + expected: FAIL + + [Sha-1 with long source data] + expected: FAIL + + [SHA-1 with long source data and altered buffer after call] + expected: FAIL + + [SHA-256 with long source data] + expected: FAIL + + [sha-256 with long source data] + expected: FAIL + + [Sha-256 with long source data] + expected: FAIL + + [SHA-256 with long source data and altered buffer after call] + expected: FAIL + + [SHA-384 with long source data] + expected: FAIL + + [sha-384 with long source data] + expected: FAIL + + [Sha-384 with long source data] + expected: FAIL + + [SHA-384 with long source data and altered buffer after call] + expected: FAIL + + [SHA-512 with long source data] + expected: FAIL + + [sha-512 with long source data] + expected: FAIL + + [Sha-512 with long source data] + expected: FAIL + + [SHA-512 with long source data and altered buffer after call] + expected: FAIL + + [AES-GCM with empty] + expected: FAIL + + [RSA-OAEP with empty] + expected: FAIL + + [PBKDF2 with empty] + expected: FAIL + + [AES-KW with empty] + expected: FAIL + + [AES-GCM with short] + expected: FAIL + + [RSA-OAEP with short] + expected: FAIL + + [PBKDF2 with short] + expected: FAIL + + [AES-KW with short] + expected: FAIL + + [AES-GCM with medium] + expected: FAIL + + [RSA-OAEP with medium] + expected: FAIL + + [PBKDF2 with medium] + expected: FAIL + + [AES-KW with medium] + expected: FAIL + + [AES-GCM with long] + expected: FAIL + + [RSA-OAEP with long] + expected: FAIL + + [PBKDF2 with long] + expected: FAIL + + [AES-KW with long] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/ec_importKey.worker.js.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/ec_importKey.worker.js.ini index d413cf5e6f6..b9c9b687623 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/ec_importKey.worker.js.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/ec_importKey.worker.js.ini @@ -1,6 +1,218 @@ [ec_importKey.worker] type: testharness - expected: ERROR [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits\])] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/rsa_importKey.worker.js.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/rsa_importKey.worker.js.ini index c0066600d39..f70f7bf85af 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/rsa_importKey.worker.js.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/rsa_importKey.worker.js.ini @@ -1,6 +1,1442 @@ [rsa_importKey.worker] type: testharness - expected: ERROR [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/symmetric_importKey.worker.js.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/symmetric_importKey.worker.js.ini index a543f0fa40a..5d98517ad63 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/symmetric_importKey.worker.js.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/symmetric_importKey.worker.js.ini @@ -1,6 +1,704 @@ [symmetric_importKey.worker] type: testharness - expected: ERROR [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/test_ec_importKey.html.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/test_ec_importKey.html.ini index 569b894dae4..67e0e667500 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/test_ec_importKey.html.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/test_ec_importKey.html.ini @@ -1,6 +1,218 @@ [test_ec_importKey.html] type: testharness - expected: ERROR [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, false, [\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, true, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, false, [\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits\])] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/test_rsa_importKey.html.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/test_rsa_importKey.html.ini index a36b2da56a8..ec9d5a3900f 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/test_rsa_importKey.html.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/test_rsa_importKey.html.ini @@ -1,6 +1,1442 @@ [test_rsa_importKey.html] type: testharness - expected: ERROR [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey, encrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey, decrypt\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign\])] + expected: FAIL diff --git a/tests/wpt/metadata/WebCryptoAPI/import_export/test_symmetric_importKey.html.ini b/tests/wpt/metadata/WebCryptoAPI/import_export/test_symmetric_importKey.html.ini index e1b1153922c..10a978f037a 100644 --- a/tests/wpt/metadata/WebCryptoAPI/import_export/test_symmetric_importKey.html.ini +++ b/tests/wpt/metadata/WebCryptoAPI/import_export/test_symmetric_importKey.html.ini @@ -1,6 +1,704 @@ [test_symmetric_importKey.html] type: testharness - expected: ERROR [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] - expected: NOTRUN + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt, encrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify, sign\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveKey\])] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/accept-header-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/accept-header-worker.html.ini index bfa3c2541ee..c6d97a04e4c 100644 --- a/tests/wpt/metadata/fetch/api/basic/accept-header-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/accept-header-worker.html.ini @@ -1,6 +1,5 @@ [accept-header-worker.html] type: testharness - expected: ERROR [Request through fetch should have 'accept' header with value '*/*'] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/accept-header.html.ini b/tests/wpt/metadata/fetch/api/basic/accept-header.html.ini index 37fcce999ae..b9c856168d5 100644 --- a/tests/wpt/metadata/fetch/api/basic/accept-header.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/accept-header.html.ini @@ -1,6 +1,5 @@ [accept-header.html] type: testharness - expected: ERROR [Request through fetch should have 'accept' header with value '*/*'] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/integrity-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/integrity-worker.html.ini index 87846c8b086..9191c848869 100644 --- a/tests/wpt/metadata/fetch/api/basic/integrity-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/integrity-worker.html.ini @@ -1,6 +1,41 @@ [integrity-worker.html] type: testharness - expected: ERROR [Empty string integrity] - expected: NOTRUN + expected: FAIL + + [SHA-256 integrity] + expected: FAIL + + [SHA-384 integrity] + expected: FAIL + + [SHA-512 integrity] + expected: FAIL + + [Invalid integrity] + expected: FAIL + + [Multiple integrities: valid stronger than invalid] + expected: FAIL + + [Multiple integrities: invalid stronger than valid] + expected: FAIL + + [Multiple integrities: invalid as strong as valid] + expected: FAIL + + [Multiple integrities: both are valid] + expected: FAIL + + [Multiple integrities: both are invalid] + expected: FAIL + + [CORS empty integrity] + expected: FAIL + + [CORS SHA-512 integrity] + expected: FAIL + + [CORS invalid integrity] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/integrity.html.ini b/tests/wpt/metadata/fetch/api/basic/integrity.html.ini index d03764e2d93..1fc0b80308f 100644 --- a/tests/wpt/metadata/fetch/api/basic/integrity.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/integrity.html.ini @@ -1,6 +1,41 @@ [integrity.html] type: testharness - expected: ERROR [Empty string integrity] - expected: NOTRUN + expected: FAIL + + [SHA-256 integrity] + expected: FAIL + + [SHA-384 integrity] + expected: FAIL + + [SHA-512 integrity] + expected: FAIL + + [Invalid integrity] + expected: FAIL + + [Multiple integrities: valid stronger than invalid] + expected: FAIL + + [Multiple integrities: invalid stronger than valid] + expected: FAIL + + [Multiple integrities: invalid as strong as valid] + expected: FAIL + + [Multiple integrities: both are valid] + expected: FAIL + + [Multiple integrities: both are invalid] + expected: FAIL + + [CORS empty integrity] + expected: FAIL + + [CORS SHA-512 integrity] + expected: FAIL + + [CORS invalid integrity] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/mode-no-cors-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/mode-no-cors-worker.html.ini index df894a38e3d..3a7912afdb2 100644 --- a/tests/wpt/metadata/fetch/api/basic/mode-no-cors-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/mode-no-cors-worker.html.ini @@ -1,6 +1,14 @@ [mode-no-cors-worker.html] type: testharness - expected: ERROR [Fetch ../resources/top.txt with no-cors mode] - expected: NOTRUN + expected: FAIL + + [Fetch http://web-platform.test:8000/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL + + [Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL + + [Fetch http://web-platform.test:8001/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/mode-no-cors.html.ini b/tests/wpt/metadata/fetch/api/basic/mode-no-cors.html.ini index 25c8023bca3..474196fd903 100644 --- a/tests/wpt/metadata/fetch/api/basic/mode-no-cors.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/mode-no-cors.html.ini @@ -1,6 +1,14 @@ [mode-no-cors.html] type: testharness - expected: ERROR [Fetch ../resources/top.txt with no-cors mode] - expected: NOTRUN + expected: FAIL + + [Fetch http://web-platform.test:8000/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL + + [Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL + + [Fetch http://web-platform.test:8001/fetch/api/resources/top.txt with no-cors mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/mode-same-origin-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/mode-same-origin-worker.html.ini index c144dce9ae8..216b03b6cec 100644 --- a/tests/wpt/metadata/fetch/api/basic/mode-same-origin-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/mode-same-origin-worker.html.ini @@ -1,6 +1,26 @@ [mode-same-origin-worker.html] type: testharness - expected: ERROR [Fetch ../resources/top.txt with same-origin mode] - expected: NOTRUN + expected: FAIL + + [Fetch http://web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=../resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=http://web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/mode-same-origin.html.ini b/tests/wpt/metadata/fetch/api/basic/mode-same-origin.html.ini index f686dd26239..ff6b07df137 100644 --- a/tests/wpt/metadata/fetch/api/basic/mode-same-origin.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/mode-same-origin.html.ini @@ -1,6 +1,26 @@ [mode-same-origin.html] type: testharness - expected: ERROR [Fetch ../resources/top.txt with same-origin mode] - expected: NOTRUN + expected: FAIL + + [Fetch http://web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=../resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=http://web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL + + [Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/referrer-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/referrer-worker.html.ini index 9a87b4afc06..821017f5a0e 100644 --- a/tests/wpt/metadata/fetch/api/basic/referrer-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/referrer-worker.html.ini @@ -1,6 +1,20 @@ [referrer-worker.html] type: testharness - expected: ERROR [origin-when-cross-origin policy on a same-origin URL] - expected: NOTRUN + expected: FAIL + + [origin-when-cross-origin policy on a cross-origin URL] + expected: FAIL + + [origin-when-cross-origin policy on a cross-origin URL after same-origin redirection] + expected: FAIL + + [origin-when-cross-origin policy on a same-origin URL after cross-origin redirection] + expected: FAIL + + [Referrer with credentials should be stripped] + expected: FAIL + + [Referrer with fragment ID should be stripped] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/referrer.html.ini b/tests/wpt/metadata/fetch/api/basic/referrer.html.ini index 537ded90ad0..df439e25d51 100644 --- a/tests/wpt/metadata/fetch/api/basic/referrer.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/referrer.html.ini @@ -1,6 +1,20 @@ [referrer.html] type: testharness - expected: ERROR [origin-when-cross-origin policy on a same-origin URL] - expected: NOTRUN + expected: FAIL + + [origin-when-cross-origin policy on a cross-origin URL] + expected: FAIL + + [origin-when-cross-origin policy on a cross-origin URL after same-origin redirection] + expected: FAIL + + [origin-when-cross-origin policy on a same-origin URL after cross-origin redirection] + expected: FAIL + + [Referrer with credentials should be stripped] + expected: FAIL + + [Referrer with fragment ID should be stripped] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers-worker.html.ini index ea73d296875..e0e4e7b9809 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers-worker.html.ini @@ -1,6 +1,74 @@ [request-forbidden-headers-worker.html] type: testharness - expected: ERROR [Accept-Charset is a forbidden request header] - expected: NOTRUN + expected: FAIL + + [Accept-Encoding is a forbidden request header] + expected: FAIL + + [Access-Control-Request-Headers is a forbidden request header] + expected: FAIL + + [Access-Control-Request-Method is a forbidden request header] + expected: FAIL + + [Connection is a forbidden request header] + expected: FAIL + + [Content-Length is a forbidden request header] + expected: FAIL + + [Cookie is a forbidden request header] + expected: FAIL + + [Cookie2 is a forbidden request header] + expected: FAIL + + [Date is a forbidden request header] + expected: FAIL + + [DNT is a forbidden request header] + expected: FAIL + + [Expect is a forbidden request header] + expected: FAIL + + [Host is a forbidden request header] + expected: FAIL + + [Keep-Alive is a forbidden request header] + expected: FAIL + + [Origin is a forbidden request header] + expected: FAIL + + [Referer is a forbidden request header] + expected: FAIL + + [TE is a forbidden request header] + expected: FAIL + + [Trailer is a forbidden request header] + expected: FAIL + + [Transfer-Encoding is a forbidden request header] + expected: FAIL + + [Upgrade is a forbidden request header] + expected: FAIL + + [Via is a forbidden request header] + expected: FAIL + + [Proxy- is a forbidden request header] + expected: FAIL + + [Proxy-Test is a forbidden request header] + expected: FAIL + + [Sec- is a forbidden request header] + expected: FAIL + + [Sec-Test is a forbidden request header] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers.html.ini b/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers.html.ini index 8aa5d585187..cc92ad7bc59 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-forbidden-headers.html.ini @@ -1,6 +1,74 @@ [request-forbidden-headers.html] type: testharness - expected: ERROR [Accept-Charset is a forbidden request header] - expected: NOTRUN + expected: FAIL + + [Accept-Encoding is a forbidden request header] + expected: FAIL + + [Access-Control-Request-Headers is a forbidden request header] + expected: FAIL + + [Access-Control-Request-Method is a forbidden request header] + expected: FAIL + + [Connection is a forbidden request header] + expected: FAIL + + [Content-Length is a forbidden request header] + expected: FAIL + + [Cookie is a forbidden request header] + expected: FAIL + + [Cookie2 is a forbidden request header] + expected: FAIL + + [Date is a forbidden request header] + expected: FAIL + + [DNT is a forbidden request header] + expected: FAIL + + [Expect is a forbidden request header] + expected: FAIL + + [Host is a forbidden request header] + expected: FAIL + + [Keep-Alive is a forbidden request header] + expected: FAIL + + [Origin is a forbidden request header] + expected: FAIL + + [Referer is a forbidden request header] + expected: FAIL + + [TE is a forbidden request header] + expected: FAIL + + [Trailer is a forbidden request header] + expected: FAIL + + [Transfer-Encoding is a forbidden request header] + expected: FAIL + + [Upgrade is a forbidden request header] + expected: FAIL + + [Via is a forbidden request header] + expected: FAIL + + [Proxy- is a forbidden request header] + expected: FAIL + + [Proxy-Test is a forbidden request header] + expected: FAIL + + [Sec- is a forbidden request header] + expected: FAIL + + [Sec-Test is a forbidden request header] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-head-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/request-head-worker.html.ini index 524c58ef658..3821a8e3ac2 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-head-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-head-worker.html.ini @@ -1,6 +1,5 @@ [request-head-worker.html] type: testharness - expected: ERROR [Fetch with HEAD with body] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-head.html.ini b/tests/wpt/metadata/fetch/api/basic/request-head.html.ini index 8b5cd98e400..373ae42b0a8 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-head.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-head.html.ini @@ -1,6 +1,5 @@ [request-head.html] type: testharness - expected: ERROR [Fetch with HEAD with body] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-headers-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/request-headers-worker.html.ini index be2dde863fe..d301daf8a17 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-headers-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-headers-worker.html.ini @@ -1,6 +1,53 @@ [request-headers-worker.html] type: testharness - expected: ERROR [Fetch with GET] - expected: NOTRUN + expected: FAIL + + [Fetch with HEAD] + expected: FAIL + + [Fetch with PUT without body] + expected: FAIL + + [Fetch with PUT with body] + expected: FAIL + + [Fetch with POST without body] + expected: FAIL + + [Fetch with POST with text body] + expected: FAIL + + [Fetch with POST with FormData body] + expected: FAIL + + [Fetch with POST with Blob body] + expected: FAIL + + [Fetch with POST with ArrayBuffer body] + expected: FAIL + + [Fetch with POST with Uint8Array body] + expected: FAIL + + [Fetch with POST with Int8Array body] + expected: FAIL + + [Fetch with POST with Float32Array body] + expected: FAIL + + [Fetch with POST with Float64Array body] + expected: FAIL + + [Fetch with POST with DataView body] + expected: FAIL + + [Fetch with POST with Blob body with mime type] + expected: FAIL + + [Fetch with Chicken] + expected: FAIL + + [Fetch with Chicken with body] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-headers.html.ini b/tests/wpt/metadata/fetch/api/basic/request-headers.html.ini index 2df66a2b526..62c74c222f0 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-headers.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-headers.html.ini @@ -1,6 +1,53 @@ [request-headers.html] type: testharness - expected: ERROR [Fetch with GET] - expected: NOTRUN + expected: FAIL + + [Fetch with HEAD] + expected: FAIL + + [Fetch with PUT without body] + expected: FAIL + + [Fetch with PUT with body] + expected: FAIL + + [Fetch with POST without body] + expected: FAIL + + [Fetch with POST with text body] + expected: FAIL + + [Fetch with POST with FormData body] + expected: FAIL + + [Fetch with POST with Blob body] + expected: FAIL + + [Fetch with POST with ArrayBuffer body] + expected: FAIL + + [Fetch with POST with Uint8Array body] + expected: FAIL + + [Fetch with POST with Int8Array body] + expected: FAIL + + [Fetch with POST with Float32Array body] + expected: FAIL + + [Fetch with POST with Float64Array body] + expected: FAIL + + [Fetch with POST with DataView body] + expected: FAIL + + [Fetch with POST with Blob body with mime type] + expected: FAIL + + [Fetch with Chicken] + expected: FAIL + + [Fetch with Chicken with body] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/request-referrer.html.ini b/tests/wpt/metadata/fetch/api/basic/request-referrer.html.ini index 067c8ca36cc..99a3dce06db 100644 --- a/tests/wpt/metadata/fetch/api/basic/request-referrer.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/request-referrer.html.ini @@ -1,6 +1,8 @@ [request-referrer.html] type: testharness - expected: ERROR [Fetch: fetch() respects Request referrer value] - expected: NOTRUN + expected: FAIL + + [Fetch: fetch() respects Request referrer value 1] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/response-url-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/response-url-worker.html.ini index 60a53e68a6f..cb90797038f 100644 --- a/tests/wpt/metadata/fetch/api/basic/response-url-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/response-url-worker.html.ini @@ -1,6 +1,14 @@ [response-url-worker.html] type: testharness - expected: ERROR [Testing response url getter with http://web-platform.test:8000/ada] - expected: NOTRUN + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000/#] + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000/#ada] + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000#ada] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/response-url.html.ini b/tests/wpt/metadata/fetch/api/basic/response-url.html.ini index 34cf700e548..4764b8e4d37 100644 --- a/tests/wpt/metadata/fetch/api/basic/response-url.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/response-url.html.ini @@ -1,6 +1,14 @@ [response-url.html] type: testharness - expected: ERROR [Testing response url getter with http://web-platform.test:8000/ada] - expected: NOTRUN + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000/#] + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000/#ada] + expected: FAIL + + [Testing response url getter with http://web-platform.test:8000#ada] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-about-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-about-worker.html.ini index 8f934c2c7c8..162cec8dd3e 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-about-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-about-worker.html.ini @@ -1,9 +1,23 @@ [scheme-about-worker.html] type: testharness - expected: ERROR [Fetching about:blank is OK] expected: FAIL [Fetching about:blank (GET) is OK] - expected: NOTRUN + expected: FAIL + + [Fetching about:blank (PUT) is OK] + expected: FAIL + + [Fetching about:blank (POST) is OK] + expected: FAIL + + [Fetching about:invalid.com is KO] + expected: FAIL + + [Fetching about:config is KO] + expected: FAIL + + [Fetching about:unicorn is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-about.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-about.html.ini index 16959b7faf8..2cb86644551 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-about.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-about.html.ini @@ -1,9 +1,23 @@ [scheme-about.html] type: testharness - expected: ERROR [Fetching about:blank is OK] expected: FAIL [Fetching about:blank (GET) is OK] - expected: NOTRUN + expected: FAIL + + [Fetching about:blank (PUT) is OK] + expected: FAIL + + [Fetching about:blank (POST) is OK] + expected: FAIL + + [Fetching about:invalid.com is KO] + expected: FAIL + + [Fetching about:config is KO] + expected: FAIL + + [Fetching about:unicorn is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-blob-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-blob-worker.html.ini index 61ab14604c2..9feeea38b56 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-blob-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-blob-worker.html.ini @@ -1,6 +1,26 @@ [scheme-blob-worker.html] type: testharness - expected: ERROR [Fetching [GET\] URL.createObjectURL(blob) is OK] - expected: NOTRUN + expected: FAIL + + [Fetching [GET\] blob:http://www.web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching [POST\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [OPTIONS\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [HEAD\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [PUT\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [DELETE\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [INVALID\] URL.createObjectURL(blob) is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-blob.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-blob.html.ini index ef6102c2839..6463fa3f870 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-blob.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-blob.html.ini @@ -1,6 +1,26 @@ [scheme-blob.html] type: testharness - expected: ERROR [Fetching [GET\] URL.createObjectURL(blob) is OK] - expected: NOTRUN + expected: FAIL + + [Fetching [GET\] blob:http://www.web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching [POST\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [OPTIONS\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [HEAD\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [PUT\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [DELETE\] URL.createObjectURL(blob) is KO] + expected: FAIL + + [Fetching [INVALID\] URL.createObjectURL(blob) is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-data-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-data-worker.html.ini index c23d4dea90d..48350b7912e 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-data-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-data-worker.html.ini @@ -1,6 +1,26 @@ [scheme-data-worker.html] type: testharness - expected: ERROR [Fetching data:,response%27s%20body is OK] - expected: NOTRUN + expected: FAIL + + [Fetching data:,response%27s%20body is OK (same-origin)] + expected: FAIL + + [Fetching data:,response%27s%20body is OK (cors)] + expected: FAIL + + [Fetching data:text/plain;base64,cmVzcG9uc2UncyBib[...\] is OK] + expected: FAIL + + [Fetching data:image/png;base64,cmVzcG9uc2UncyBib2[...\] is OK] + expected: FAIL + + [Fetching [GET\] data:notAdataUrl.com is KO] + expected: FAIL + + [Fetching [POST\] data:,response%27s%20body is KO] + expected: FAIL + + [Fetching [HEAD\] data:,response%27s%20body is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-data.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-data.html.ini index ac0ef42fd1a..3cde02a71c6 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-data.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-data.html.ini @@ -1,6 +1,26 @@ [scheme-data.html] type: testharness - expected: ERROR [Fetching data:,response%27s%20body is OK] - expected: NOTRUN + expected: FAIL + + [Fetching data:,response%27s%20body is OK (same-origin)] + expected: FAIL + + [Fetching data:,response%27s%20body is OK (cors)] + expected: FAIL + + [Fetching data:text/plain;base64,cmVzcG9uc2UncyBib[...\] is OK] + expected: FAIL + + [Fetching data:image/png;base64,cmVzcG9uc2UncyBib2[...\] is OK] + expected: FAIL + + [Fetching [GET\] data:notAdataUrl.com is KO] + expected: FAIL + + [Fetching [POST\] data:,response%27s%20body is KO] + expected: FAIL + + [Fetching [HEAD\] data:,response%27s%20body is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-others-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-others-worker.html.ini index eb9d2502860..6f6728ae993 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-others-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-others-worker.html.ini @@ -1,6 +1,50 @@ [scheme-others-worker.html] type: testharness - expected: ERROR [Fetching aaa://web-platform.test:8000/ is KO] - expected: NOTRUN + expected: FAIL + + [Fetching cap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching cid://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dav://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dict://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dns://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching geo://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching im://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching imap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching ipp://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching ldap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching mailto://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching nfs://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching pop://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching rtsp://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching snmp://web-platform.test:8000/ is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/scheme-others.html.ini b/tests/wpt/metadata/fetch/api/basic/scheme-others.html.ini index f9098eaaeea..f38e7a475a4 100644 --- a/tests/wpt/metadata/fetch/api/basic/scheme-others.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/scheme-others.html.ini @@ -1,6 +1,50 @@ [scheme-others.html] type: testharness - expected: ERROR [Fetching aaa://web-platform.test:8000/ is KO] - expected: NOTRUN + expected: FAIL + + [Fetching cap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching cid://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dav://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dict://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching dns://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching geo://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching im://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching imap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching ipp://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching ldap://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching mailto://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching nfs://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching pop://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching rtsp://web-platform.test:8000/ is KO] + expected: FAIL + + [Fetching snmp://web-platform.test:8000/ is KO] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/stream-response-worker.html.ini b/tests/wpt/metadata/fetch/api/basic/stream-response-worker.html.ini index 152791ed260..711b705fbaa 100644 --- a/tests/wpt/metadata/fetch/api/basic/stream-response-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/stream-response-worker.html.ini @@ -1,6 +1,5 @@ [stream-response-worker.html] type: testharness - expected: ERROR [Stream response's body] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/stream-response.html.ini b/tests/wpt/metadata/fetch/api/basic/stream-response.html.ini index 2ef568b5e32..db2c00a1701 100644 --- a/tests/wpt/metadata/fetch/api/basic/stream-response.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/stream-response.html.ini @@ -1,6 +1,5 @@ [stream-response.html] type: testharness - expected: ERROR [Stream response's body] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/text-utf8.html.ini b/tests/wpt/metadata/fetch/api/basic/text-utf8.html.ini index a6630d4ff11..5d9acb63606 100644 --- a/tests/wpt/metadata/fetch/api/basic/text-utf8.html.ini +++ b/tests/wpt/metadata/fetch/api/basic/text-utf8.html.ini @@ -1,6 +1,62 @@ [text-utf8.html] type: testharness - expected: ERROR [UTF-8 with BOM with Request.text()] - expected: NOTRUN + expected: FAIL + + [UTF-8 with BOM with Response.text()] + expected: FAIL + + [UTF-8 with BOM with fetched data (UTF-8 charset)] + expected: FAIL + + [UTF-8 with BOM with fetched data (UTF-16 charset)] + expected: FAIL + + [UTF-8 without BOM with Request.text()] + expected: FAIL + + [UTF-8 without BOM with Response.text()] + expected: FAIL + + [UTF-8 without BOM with fetched data (UTF-8 charset)] + expected: FAIL + + [UTF-8 without BOM with fetched data (UTF-16 charset)] + expected: FAIL + + [UTF-16BE with BOM decoded as UTF-8 with Request.text()] + expected: FAIL + + [UTF-16BE with BOM decoded as UTF-8 with Response.text()] + expected: FAIL + + [UTF-16BE with BOM decoded as UTF-8 with fetched data (UTF-8 charset)] + expected: FAIL + + [UTF-16BE with BOM decoded as UTF-8 with fetched data (UTF-16 charset)] + expected: FAIL + + [UTF-16LE with BOM decoded as UTF-8 with Request.text()] + expected: FAIL + + [UTF-16LE with BOM decoded as UTF-8 with Response.text()] + expected: FAIL + + [UTF-16LE with BOM decoded as UTF-8 with fetched data (UTF-8 charset)] + expected: FAIL + + [UTF-16LE with BOM decoded as UTF-8 with fetched data (UTF-16 charset)] + expected: FAIL + + [UTF-16 without BOM decoded as UTF-8 with Request.text()] + expected: FAIL + + [UTF-16 without BOM decoded as UTF-8 with Response.text()] + expected: FAIL + + [UTF-16 without BOM decoded as UTF-8 with fetched data (UTF-8 charset)] + expected: FAIL + + [UTF-16 without BOM decoded as UTF-8 with fetched data (UTF-16 charset)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-basic-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-basic-worker.html.ini index a5ca70e74ba..181b87530a3 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-basic-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-basic-worker.html.ini @@ -1,6 +1,47 @@ [cors-basic-worker.html] type: testharness - expected: ERROR [Same domain different port [no-cors mode\]] - expected: NOTRUN + expected: FAIL + + [Same domain different port [server forbid CORS\]] + expected: FAIL + + [Same domain different port [cors mode\]] + expected: FAIL + + [Same domain different protocol different port [no-cors mode\]] + expected: FAIL + + [Same domain different protocol different port [server forbid CORS\]] + expected: FAIL + + [Same domain different protocol different port [cors mode\]] + expected: FAIL + + [Cross domain basic usage [no-cors mode\]] + expected: FAIL + + [Cross domain basic usage [server forbid CORS\]] + expected: FAIL + + [Cross domain basic usage [cors mode\]] + expected: FAIL + + [Cross domain different port [no-cors mode\]] + expected: FAIL + + [Cross domain different port [server forbid CORS\]] + expected: FAIL + + [Cross domain different port [cors mode\]] + expected: FAIL + + [Cross domain different protocol [no-cors mode\]] + expected: FAIL + + [Cross domain different protocol [server forbid CORS\]] + expected: FAIL + + [Cross domain different protocol [cors mode\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-basic.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-basic.html.ini index aaffc3af099..3efe54ec934 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-basic.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-basic.html.ini @@ -1,6 +1,47 @@ [cors-basic.html] type: testharness - expected: ERROR [Same domain different port [no-cors mode\]] - expected: NOTRUN + expected: FAIL + + [Same domain different port [server forbid CORS\]] + expected: FAIL + + [Same domain different port [cors mode\]] + expected: FAIL + + [Same domain different protocol different port [no-cors mode\]] + expected: FAIL + + [Same domain different protocol different port [server forbid CORS\]] + expected: FAIL + + [Same domain different protocol different port [cors mode\]] + expected: FAIL + + [Cross domain basic usage [no-cors mode\]] + expected: FAIL + + [Cross domain basic usage [server forbid CORS\]] + expected: FAIL + + [Cross domain basic usage [cors mode\]] + expected: FAIL + + [Cross domain different port [no-cors mode\]] + expected: FAIL + + [Cross domain different port [server forbid CORS\]] + expected: FAIL + + [Cross domain different port [cors mode\]] + expected: FAIL + + [Cross domain different protocol [no-cors mode\]] + expected: FAIL + + [Cross domain different protocol [server forbid CORS\]] + expected: FAIL + + [Cross domain different protocol [cors mode\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-cookies-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-cookies-worker.html.ini index 155d6fbea0a..2dd966d0297 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-cookies-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-cookies-worker.html.ini @@ -1,6 +1,20 @@ [cors-cookies-worker.html] type: testharness - expected: ERROR [Omit mode: no cookie sent] - expected: NOTRUN + expected: FAIL + + [Include mode: 1 cookie] + expected: FAIL + + [Include mode: local cookies are not sent with remote request] + expected: FAIL + + [Include mode: remote cookies are not sent with local request] + expected: FAIL + + [Same-origin mode: cookies are discarded in cors request] + expected: FAIL + + [Include mode: remote cookies are not sent with other remote request] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-cookies.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-cookies.html.ini index 990fe5ed3ff..f75dcfcf7e8 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-cookies.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-cookies.html.ini @@ -1,6 +1,20 @@ [cors-cookies.html] type: testharness - expected: ERROR [Omit mode: no cookie sent] - expected: NOTRUN + expected: FAIL + + [Include mode: 1 cookie] + expected: FAIL + + [Include mode: local cookies are not sent with remote request] + expected: FAIL + + [Include mode: remote cookies are not sent with local request] + expected: FAIL + + [Same-origin mode: cookies are discarded in cors request] + expected: FAIL + + [Include mode: remote cookies are not sent with other remote request] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-filtering-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-filtering-worker.html.ini index 8ef5e2869b9..a4d7753047a 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-filtering-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-filtering-worker.html.ini @@ -1,6 +1,56 @@ [cors-filtering-worker.html] type: testharness - expected: ERROR [CORS filter on Cache-Control header] - expected: NOTRUN + expected: FAIL + + [CORS filter on Content-Language header] + expected: FAIL + + [CORS filter on Content-Type header] + expected: FAIL + + [CORS filter on Expires header] + expected: FAIL + + [CORS filter on Last-Modified header] + expected: FAIL + + [CORS filter on Pragma header] + expected: FAIL + + [CORS filter on Age header] + expected: FAIL + + [CORS filter on Server header] + expected: FAIL + + [CORS filter on Warning header] + expected: FAIL + + [CORS filter on Content-Length header] + expected: FAIL + + [CORS filter on Set-Cookie header] + expected: FAIL + + [CORS filter on Set-Cookie2 header] + expected: FAIL + + [CORS filter on Age header, header is exposed] + expected: FAIL + + [CORS filter on Server header, header is exposed] + expected: FAIL + + [CORS filter on Warning header, header is exposed] + expected: FAIL + + [CORS filter on Content-Length header, header is exposed] + expected: FAIL + + [CORS filter on Set-Cookie header, header is exposed] + expected: FAIL + + [CORS filter on Set-Cookie2 header, header is exposed] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-filtering.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-filtering.html.ini index 798398557a6..286f479dde8 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-filtering.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-filtering.html.ini @@ -1,6 +1,56 @@ [cors-filtering.html] type: testharness - expected: ERROR [CORS filter on Cache-Control header] - expected: NOTRUN + expected: FAIL + + [CORS filter on Content-Language header] + expected: FAIL + + [CORS filter on Content-Type header] + expected: FAIL + + [CORS filter on Expires header] + expected: FAIL + + [CORS filter on Last-Modified header] + expected: FAIL + + [CORS filter on Pragma header] + expected: FAIL + + [CORS filter on Age header] + expected: FAIL + + [CORS filter on Server header] + expected: FAIL + + [CORS filter on Warning header] + expected: FAIL + + [CORS filter on Content-Length header] + expected: FAIL + + [CORS filter on Set-Cookie header] + expected: FAIL + + [CORS filter on Set-Cookie2 header] + expected: FAIL + + [CORS filter on Age header, header is exposed] + expected: FAIL + + [CORS filter on Server header, header is exposed] + expected: FAIL + + [CORS filter on Warning header, header is exposed] + expected: FAIL + + [CORS filter on Content-Length header, header is exposed] + expected: FAIL + + [CORS filter on Set-Cookie header, header is exposed] + expected: FAIL + + [CORS filter on Set-Cookie2 header, header is exposed] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins-worker.html.ini index ac423bf8694..b7434968587 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins-worker.html.ini @@ -1,6 +1,20 @@ [cors-multiple-origins-worker.html] type: testharness - expected: ERROR [3 origins allowed, match the 3rd (http://web-platform.test:8000)] - expected: NOTRUN + expected: FAIL + + [3 origins allowed, match the 3rd ("*")] + expected: FAIL + + [3 origins allowed, match twice (http://web-platform.test:8000)] + expected: FAIL + + [3 origins allowed, match twice ("*")] + expected: FAIL + + [3 origins allowed, match twice ("*" and http://web-platform.test:8000)] + expected: FAIL + + [3 origins allowed, no match] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins.html.ini index 64ee7f7f07e..9e5ff2ffc20 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-multiple-origins.html.ini @@ -1,6 +1,20 @@ [cors-multiple-origins.html] type: testharness - expected: ERROR [3 origins allowed, match the 3rd (http://web-platform.test:8000)] - expected: NOTRUN + expected: FAIL + + [3 origins allowed, match the 3rd ("*")] + expected: FAIL + + [3 origins allowed, match twice (http://web-platform.test:8000)] + expected: FAIL + + [3 origins allowed, match twice ("*")] + expected: FAIL + + [3 origins allowed, match twice ("*" and http://web-platform.test:8000)] + expected: FAIL + + [3 origins allowed, no match] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-no-preflight-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-no-preflight-worker.html.ini index 3ff17e4bb97..c95749f5c24 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-no-preflight-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-no-preflight-worker.html.ini @@ -1,6 +1,47 @@ [cors-no-preflight-worker.html] type: testharness - expected: ERROR [Cross domain basic usage [GET\]] - expected: NOTRUN + expected: FAIL + + [Same domain different port [GET\]] + expected: FAIL + + [Cross domain different port [GET\]] + expected: FAIL + + [Cross domain different protocol [GET\]] + expected: FAIL + + [Same domain different protocol different port [GET\]] + expected: FAIL + + [Cross domain [POST\]] + expected: FAIL + + [Cross domain [HEAD\]] + expected: FAIL + + [Cross domain [GET\] [Accept: */*\]] + expected: FAIL + + [Cross domain [GET\] [Accept-Language: fr\]] + expected: FAIL + + [Cross domain [GET\] [Content-Language: fr\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: application/x-www-form-urlencoded\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: multipart/form-data\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: text/plain\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: text/plain;charset=utf-8\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: Text/Plain;charset=utf-8\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-no-preflight.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-no-preflight.html.ini index 569d12bed62..71a9d1c5f1d 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-no-preflight.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-no-preflight.html.ini @@ -1,6 +1,47 @@ [cors-no-preflight.html] type: testharness - expected: ERROR [Cross domain basic usage [GET\]] - expected: NOTRUN + expected: FAIL + + [Same domain different port [GET\]] + expected: FAIL + + [Cross domain different port [GET\]] + expected: FAIL + + [Cross domain different protocol [GET\]] + expected: FAIL + + [Same domain different protocol different port [GET\]] + expected: FAIL + + [Cross domain [POST\]] + expected: FAIL + + [Cross domain [HEAD\]] + expected: FAIL + + [Cross domain [GET\] [Accept: */*\]] + expected: FAIL + + [Cross domain [GET\] [Accept-Language: fr\]] + expected: FAIL + + [Cross domain [GET\] [Content-Language: fr\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: application/x-www-form-urlencoded\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: multipart/form-data\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: text/plain\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: text/plain;charset=utf-8\]] + expected: FAIL + + [Cross domain [GET\] [Content-Type: Text/Plain;charset=utf-8\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-origin-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-origin-worker.html.ini index 95a91dc7455..413b3f652bc 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-origin-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-origin-worker.html.ini @@ -1,6 +1,53 @@ [cors-origin-worker.html] type: testharness - expected: ERROR [Cross domain different subdomain [origin OK\]] - expected: NOTRUN + expected: FAIL + + [Cross domain different subdomain [origin KO\]] + expected: FAIL + + [Same domain different port [origin OK\]] + expected: FAIL + + [Same domain different port [origin KO\]] + expected: FAIL + + [Cross domain different port [origin OK\]] + expected: FAIL + + [Cross domain different port [origin KO\]] + expected: FAIL + + [Cross domain different protocol [origin OK\]] + expected: FAIL + + [Cross domain different protocol [origin KO\]] + expected: FAIL + + [Same domain different protocol different port [origin OK\]] + expected: FAIL + + [Same domain different protocol different port [origin KO\]] + expected: FAIL + + [Cross domain [POST\] [origin OK\]] + expected: FAIL + + [Cross domain [POST\] [origin KO\]] + expected: FAIL + + [Cross domain [HEAD\] [origin OK\]] + expected: FAIL + + [Cross domain [HEAD\] [origin KO\]] + expected: FAIL + + [CORS preflight [PUT\] [origin OK\]] + expected: FAIL + + [CORS preflight [PUT\] [origin KO\]] + expected: FAIL + + [Allowed origin: "" [origin KO\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-origin.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-origin.html.ini index 0d544aa6a2f..9738395f8ea 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-origin.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-origin.html.ini @@ -1,6 +1,53 @@ [cors-origin.html] type: testharness - expected: ERROR [Cross domain different subdomain [origin OK\]] - expected: NOTRUN + expected: FAIL + + [Cross domain different subdomain [origin KO\]] + expected: FAIL + + [Same domain different port [origin OK\]] + expected: FAIL + + [Same domain different port [origin KO\]] + expected: FAIL + + [Cross domain different port [origin OK\]] + expected: FAIL + + [Cross domain different port [origin KO\]] + expected: FAIL + + [Cross domain different protocol [origin OK\]] + expected: FAIL + + [Cross domain different protocol [origin KO\]] + expected: FAIL + + [Same domain different protocol different port [origin OK\]] + expected: FAIL + + [Same domain different protocol different port [origin KO\]] + expected: FAIL + + [Cross domain [POST\] [origin OK\]] + expected: FAIL + + [Cross domain [POST\] [origin KO\]] + expected: FAIL + + [Cross domain [HEAD\] [origin OK\]] + expected: FAIL + + [Cross domain [HEAD\] [origin KO\]] + expected: FAIL + + [CORS preflight [PUT\] [origin OK\]] + expected: FAIL + + [CORS preflight [PUT\] [origin KO\]] + expected: FAIL + + [Allowed origin: "" [origin KO\]] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect-worker.html.ini index 26eea757fad..a067c067a2a 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect-worker.html.ini @@ -1,6 +1,32 @@ [cors-preflight-redirect-worker.html] type: testharness - expected: ERROR [Redirection 301 on preflight failed] - expected: NOTRUN + expected: FAIL + + [Redirection 301 after preflight failed] + expected: FAIL + + [Redirection 302 on preflight failed] + expected: FAIL + + [Redirection 302 after preflight failed] + expected: FAIL + + [Redirection 303 on preflight failed] + expected: FAIL + + [Redirection 303 after preflight failed] + expected: FAIL + + [Redirection 307 on preflight failed] + expected: FAIL + + [Redirection 307 after preflight failed] + expected: FAIL + + [Redirection 308 on preflight failed] + expected: FAIL + + [Redirection 308 after preflight failed] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect.html.ini index 3c3cacce2da..e5b48918e8e 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-redirect.html.ini @@ -1,6 +1,32 @@ [cors-preflight-redirect.html] type: testharness - expected: ERROR [Redirection 301 on preflight failed] - expected: NOTRUN + expected: FAIL + + [Redirection 301 after preflight failed] + expected: FAIL + + [Redirection 302 on preflight failed] + expected: FAIL + + [Redirection 302 after preflight failed] + expected: FAIL + + [Redirection 303 on preflight failed] + expected: FAIL + + [Redirection 303 after preflight failed] + expected: FAIL + + [Redirection 307 on preflight failed] + expected: FAIL + + [Redirection 307 after preflight failed] + expected: FAIL + + [Redirection 308 on preflight failed] + expected: FAIL + + [Redirection 308 after preflight failed] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer-worker.html.ini index 53ae9e589c3..c7c7a2d2418 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer-worker.html.ini @@ -1,6 +1,17 @@ [cors-preflight-referrer-worker.html] type: testharness - expected: ERROR [Referrer policy: no-referrer] - expected: NOTRUN + expected: FAIL + + [Referrer policy: ""] + expected: FAIL + + [Referrer policy: origin] + expected: FAIL + + [Referrer policy: origin-when-cross-origin] + expected: FAIL + + [Referrer policy: unsafe-url] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer.html.ini index ed1ede0b61a..1fab8e3c939 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-referrer.html.ini @@ -1,6 +1,17 @@ [cors-preflight-referrer.html] type: testharness - expected: ERROR [Referrer policy: no-referrer] - expected: NOTRUN + expected: FAIL + + [Referrer policy: ""] + expected: FAIL + + [Referrer policy: origin] + expected: FAIL + + [Referrer policy: origin-when-cross-origin] + expected: FAIL + + [Referrer policy: unsafe-url] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-status-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-status-worker.html.ini index dc410f496bf..9f9d2eab795 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-status-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-status-worker.html.ini @@ -1,6 +1,83 @@ [cors-preflight-status-worker.html] type: testharness - expected: ERROR [Preflight answered with status 200] - expected: NOTRUN + expected: FAIL + + [Preflight answered with status 201] + expected: FAIL + + [Preflight answered with status 202] + expected: FAIL + + [Preflight answered with status 203] + expected: FAIL + + [Preflight answered with status 204] + expected: FAIL + + [Preflight answered with status 205] + expected: FAIL + + [Preflight answered with status 206] + expected: FAIL + + [Preflight answered with status 300] + expected: FAIL + + [Preflight answered with status 301] + expected: FAIL + + [Preflight answered with status 302] + expected: FAIL + + [Preflight answered with status 303] + expected: FAIL + + [Preflight answered with status 304] + expected: FAIL + + [Preflight answered with status 305] + expected: FAIL + + [Preflight answered with status 306] + expected: FAIL + + [Preflight answered with status 307] + expected: FAIL + + [Preflight answered with status 308] + expected: FAIL + + [Preflight answered with status 400] + expected: FAIL + + [Preflight answered with status 401] + expected: FAIL + + [Preflight answered with status 402] + expected: FAIL + + [Preflight answered with status 403] + expected: FAIL + + [Preflight answered with status 404] + expected: FAIL + + [Preflight answered with status 405] + expected: FAIL + + [Preflight answered with status 501] + expected: FAIL + + [Preflight answered with status 502] + expected: FAIL + + [Preflight answered with status 503] + expected: FAIL + + [Preflight answered with status 504] + expected: FAIL + + [Preflight answered with status 505] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-status.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-status.html.ini index 967da55cd91..12bb9ecf2e1 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-status.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-status.html.ini @@ -1,6 +1,83 @@ [cors-preflight-status.html] type: testharness - expected: ERROR [Preflight answered with status 200] - expected: NOTRUN + expected: FAIL + + [Preflight answered with status 201] + expected: FAIL + + [Preflight answered with status 202] + expected: FAIL + + [Preflight answered with status 203] + expected: FAIL + + [Preflight answered with status 204] + expected: FAIL + + [Preflight answered with status 205] + expected: FAIL + + [Preflight answered with status 206] + expected: FAIL + + [Preflight answered with status 300] + expected: FAIL + + [Preflight answered with status 301] + expected: FAIL + + [Preflight answered with status 302] + expected: FAIL + + [Preflight answered with status 303] + expected: FAIL + + [Preflight answered with status 304] + expected: FAIL + + [Preflight answered with status 305] + expected: FAIL + + [Preflight answered with status 306] + expected: FAIL + + [Preflight answered with status 307] + expected: FAIL + + [Preflight answered with status 308] + expected: FAIL + + [Preflight answered with status 400] + expected: FAIL + + [Preflight answered with status 401] + expected: FAIL + + [Preflight answered with status 402] + expected: FAIL + + [Preflight answered with status 403] + expected: FAIL + + [Preflight answered with status 404] + expected: FAIL + + [Preflight answered with status 405] + expected: FAIL + + [Preflight answered with status 501] + expected: FAIL + + [Preflight answered with status 502] + expected: FAIL + + [Preflight answered with status 503] + expected: FAIL + + [Preflight answered with status 504] + expected: FAIL + + [Preflight answered with status 505] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight-worker.html.ini index 0f5d647c528..1c4ec4cc7cc 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight-worker.html.ini @@ -1,6 +1,44 @@ [cors-preflight-worker.html] type: testharness - expected: ERROR [CORS [DELETE\], server allows] - expected: NOTRUN + expected: FAIL + + [CORS [DELETE\], server refuses] + expected: FAIL + + [CORS [PUT\], server allows] + expected: FAIL + + [CORS [PUT\], server refuses] + expected: FAIL + + [CORS [PATCH\], server allows] + expected: FAIL + + [CORS [PATCH\], server refuses] + expected: FAIL + + [CORS [NEW\], server allows] + expected: FAIL + + [CORS [NEW\], server refuses] + expected: FAIL + + [CORS [GET\] [x-test-header: allowed\], server allows] + expected: FAIL + + [CORS [GET\] [x-test-header: refused\], server refuses] + expected: FAIL + + [CORS [GET\] [several headers\], server allows] + expected: FAIL + + [CORS [GET\] [several headers\], server refuses] + expected: FAIL + + [CORS [PUT\] [several headers\], server allows] + expected: FAIL + + [CORS [PUT\] [several headers\], server refuses] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-preflight.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-preflight.html.ini index 5a05bb7571b..28789b10484 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-preflight.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-preflight.html.ini @@ -1,6 +1,44 @@ [cors-preflight.html] type: testharness - expected: ERROR [CORS [DELETE\], server allows] - expected: NOTRUN + expected: FAIL + + [CORS [DELETE\], server refuses] + expected: FAIL + + [CORS [PUT\], server allows] + expected: FAIL + + [CORS [PUT\], server refuses] + expected: FAIL + + [CORS [PATCH\], server allows] + expected: FAIL + + [CORS [PATCH\], server refuses] + expected: FAIL + + [CORS [NEW\], server allows] + expected: FAIL + + [CORS [NEW\], server refuses] + expected: FAIL + + [CORS [GET\] [x-test-header: allowed\], server allows] + expected: FAIL + + [CORS [GET\] [x-test-header: refused\], server refuses] + expected: FAIL + + [CORS [GET\] [several headers\], server allows] + expected: FAIL + + [CORS [GET\] [several headers\], server refuses] + expected: FAIL + + [CORS [PUT\] [several headers\], server allows] + expected: FAIL + + [CORS [PUT\] [several headers\], server refuses] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials-worker.html.ini index dac671529c5..66040a9d4ba 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials-worker.html.ini @@ -1,6 +1,182 @@ [cors-redirect-credentials-worker.html] type: testharness - expected: ERROR [Redirect 301 from same origin to remote with user and password] - expected: NOTRUN + expected: FAIL + + [Redirect 301 from same origin to remote with user] + expected: FAIL + + [Redirect 301 from same origin to remote with password] + expected: FAIL + + [Redirect 301 from remote to same origin with user and password] + expected: FAIL + + [Redirect 301 from remote to same origin with user] + expected: FAIL + + [Redirect 301 from remote to same origin with password] + expected: FAIL + + [Redirect 301 from remote to same remote with user and password] + expected: FAIL + + [Redirect 301 from remote to same remote with user] + expected: FAIL + + [Redirect 301 from remote to same remote with password] + expected: FAIL + + [Redirect 301 from remote to another remote with user and password] + expected: FAIL + + [Redirect 301 from remote to another remote with user] + expected: FAIL + + [Redirect 301 from remote to another remote with password] + expected: FAIL + + [Redirect 302 from same origin to remote with user and password] + expected: FAIL + + [Redirect 302 from same origin to remote with user] + expected: FAIL + + [Redirect 302 from same origin to remote with password] + expected: FAIL + + [Redirect 302 from remote to same origin with user and password] + expected: FAIL + + [Redirect 302 from remote to same origin with user] + expected: FAIL + + [Redirect 302 from remote to same origin with password] + expected: FAIL + + [Redirect 302 from remote to same remote with user and password] + expected: FAIL + + [Redirect 302 from remote to same remote with user] + expected: FAIL + + [Redirect 302 from remote to same remote with password] + expected: FAIL + + [Redirect 302 from remote to another remote with user and password] + expected: FAIL + + [Redirect 302 from remote to another remote with user] + expected: FAIL + + [Redirect 302 from remote to another remote with password] + expected: FAIL + + [Redirect 303 from same origin to remote with user and password] + expected: FAIL + + [Redirect 303 from same origin to remote with user] + expected: FAIL + + [Redirect 303 from same origin to remote with password] + expected: FAIL + + [Redirect 303 from remote to same origin with user and password] + expected: FAIL + + [Redirect 303 from remote to same origin with user] + expected: FAIL + + [Redirect 303 from remote to same origin with password] + expected: FAIL + + [Redirect 303 from remote to same remote with user and password] + expected: FAIL + + [Redirect 303 from remote to same remote with user] + expected: FAIL + + [Redirect 303 from remote to same remote with password] + expected: FAIL + + [Redirect 303 from remote to another remote with user and password] + expected: FAIL + + [Redirect 303 from remote to another remote with user] + expected: FAIL + + [Redirect 303 from remote to another remote with password] + expected: FAIL + + [Redirect 307 from same origin to remote with user and password] + expected: FAIL + + [Redirect 307 from same origin to remote with user] + expected: FAIL + + [Redirect 307 from same origin to remote with password] + expected: FAIL + + [Redirect 307 from remote to same origin with user and password] + expected: FAIL + + [Redirect 307 from remote to same origin with user] + expected: FAIL + + [Redirect 307 from remote to same origin with password] + expected: FAIL + + [Redirect 307 from remote to same remote with user and password] + expected: FAIL + + [Redirect 307 from remote to same remote with user] + expected: FAIL + + [Redirect 307 from remote to same remote with password] + expected: FAIL + + [Redirect 307 from remote to another remote with user and password] + expected: FAIL + + [Redirect 307 from remote to another remote with user] + expected: FAIL + + [Redirect 307 from remote to another remote with password] + expected: FAIL + + [Redirect 308 from same origin to remote with user and password] + expected: FAIL + + [Redirect 308 from same origin to remote with user] + expected: FAIL + + [Redirect 308 from same origin to remote with password] + expected: FAIL + + [Redirect 308 from remote to same origin with user and password] + expected: FAIL + + [Redirect 308 from remote to same origin with user] + expected: FAIL + + [Redirect 308 from remote to same origin with password] + expected: FAIL + + [Redirect 308 from remote to same remote with user and password] + expected: FAIL + + [Redirect 308 from remote to same remote with user] + expected: FAIL + + [Redirect 308 from remote to same remote with password] + expected: FAIL + + [Redirect 308 from remote to another remote with user and password] + expected: FAIL + + [Redirect 308 from remote to another remote with user] + expected: FAIL + + [Redirect 308 from remote to another remote with password] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials.html.ini index b34f27e846e..8055315bb9c 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect-credentials.html.ini @@ -1,6 +1,182 @@ [cors-redirect-credentials.html] type: testharness - expected: ERROR [Redirect 301 from same origin to remote with user and password] - expected: NOTRUN + expected: FAIL + + [Redirect 301 from same origin to remote with user] + expected: FAIL + + [Redirect 301 from same origin to remote with password] + expected: FAIL + + [Redirect 301 from remote to same origin with user and password] + expected: FAIL + + [Redirect 301 from remote to same origin with user] + expected: FAIL + + [Redirect 301 from remote to same origin with password] + expected: FAIL + + [Redirect 301 from remote to same remote with user and password] + expected: FAIL + + [Redirect 301 from remote to same remote with user] + expected: FAIL + + [Redirect 301 from remote to same remote with password] + expected: FAIL + + [Redirect 301 from remote to another remote with user and password] + expected: FAIL + + [Redirect 301 from remote to another remote with user] + expected: FAIL + + [Redirect 301 from remote to another remote with password] + expected: FAIL + + [Redirect 302 from same origin to remote with user and password] + expected: FAIL + + [Redirect 302 from same origin to remote with user] + expected: FAIL + + [Redirect 302 from same origin to remote with password] + expected: FAIL + + [Redirect 302 from remote to same origin with user and password] + expected: FAIL + + [Redirect 302 from remote to same origin with user] + expected: FAIL + + [Redirect 302 from remote to same origin with password] + expected: FAIL + + [Redirect 302 from remote to same remote with user and password] + expected: FAIL + + [Redirect 302 from remote to same remote with user] + expected: FAIL + + [Redirect 302 from remote to same remote with password] + expected: FAIL + + [Redirect 302 from remote to another remote with user and password] + expected: FAIL + + [Redirect 302 from remote to another remote with user] + expected: FAIL + + [Redirect 302 from remote to another remote with password] + expected: FAIL + + [Redirect 303 from same origin to remote with user and password] + expected: FAIL + + [Redirect 303 from same origin to remote with user] + expected: FAIL + + [Redirect 303 from same origin to remote with password] + expected: FAIL + + [Redirect 303 from remote to same origin with user and password] + expected: FAIL + + [Redirect 303 from remote to same origin with user] + expected: FAIL + + [Redirect 303 from remote to same origin with password] + expected: FAIL + + [Redirect 303 from remote to same remote with user and password] + expected: FAIL + + [Redirect 303 from remote to same remote with user] + expected: FAIL + + [Redirect 303 from remote to same remote with password] + expected: FAIL + + [Redirect 303 from remote to another remote with user and password] + expected: FAIL + + [Redirect 303 from remote to another remote with user] + expected: FAIL + + [Redirect 303 from remote to another remote with password] + expected: FAIL + + [Redirect 307 from same origin to remote with user and password] + expected: FAIL + + [Redirect 307 from same origin to remote with user] + expected: FAIL + + [Redirect 307 from same origin to remote with password] + expected: FAIL + + [Redirect 307 from remote to same origin with user and password] + expected: FAIL + + [Redirect 307 from remote to same origin with user] + expected: FAIL + + [Redirect 307 from remote to same origin with password] + expected: FAIL + + [Redirect 307 from remote to same remote with user and password] + expected: FAIL + + [Redirect 307 from remote to same remote with user] + expected: FAIL + + [Redirect 307 from remote to same remote with password] + expected: FAIL + + [Redirect 307 from remote to another remote with user and password] + expected: FAIL + + [Redirect 307 from remote to another remote with user] + expected: FAIL + + [Redirect 307 from remote to another remote with password] + expected: FAIL + + [Redirect 308 from same origin to remote with user and password] + expected: FAIL + + [Redirect 308 from same origin to remote with user] + expected: FAIL + + [Redirect 308 from same origin to remote with password] + expected: FAIL + + [Redirect 308 from remote to same origin with user and password] + expected: FAIL + + [Redirect 308 from remote to same origin with user] + expected: FAIL + + [Redirect 308 from remote to same origin with password] + expected: FAIL + + [Redirect 308 from remote to same remote with user and password] + expected: FAIL + + [Redirect 308 from remote to same remote with user] + expected: FAIL + + [Redirect 308 from remote to same remote with password] + expected: FAIL + + [Redirect 308 from remote to another remote with user and password] + expected: FAIL + + [Redirect 308 from remote to another remote with user] + expected: FAIL + + [Redirect 308 from remote to another remote with password] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight-worker.html.ini index 90452efd98d..17d4986700b 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight-worker.html.ini @@ -1,6 +1,92 @@ [cors-redirect-preflight-worker.html] type: testharness - expected: ERROR [Redirect 301: same origin to cors (preflight after redirection success case)] - expected: NOTRUN + expected: FAIL + + [Redirect 301: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 301: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 301: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 301: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 301: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: cors to another cors (preflight after redirection failure case)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight.html.ini index b3d6e7c2407..f2b6de6cf0b 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect-preflight.html.ini @@ -1,6 +1,92 @@ [cors-redirect-preflight.html] type: testharness - expected: ERROR [Redirect 301: same origin to cors (preflight after redirection success case)] - expected: NOTRUN + expected: FAIL + + [Redirect 301: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 301: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 301: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 301: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 301: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 302: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 302: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 303: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 303: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 307: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 307: cors to another cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: same origin to cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: same origin to cors (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: cors to same origin (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: cors to same origin (preflight after redirection failure case)] + expected: FAIL + + [Redirect 308: cors to another cors (preflight after redirection success case)] + expected: FAIL + + [Redirect 308: cors to another cors (preflight after redirection failure case)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect-worker.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect-worker.html.ini index 2729220e3f5..c999091d884 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect-worker.html.ini @@ -1,6 +1,62 @@ [cors-redirect-worker.html] type: testharness - expected: ERROR [Redirect 301: cors to same cors] - expected: NOTRUN + expected: FAIL + + [Redirect 301: cors to another cors] + expected: FAIL + + [Redirect 301: same origin to cors] + expected: FAIL + + [Redirect 301: cors to same origin] + expected: FAIL + + [Redirect 302: cors to same cors] + expected: FAIL + + [Redirect 302: cors to another cors] + expected: FAIL + + [Redirect 302: same origin to cors] + expected: FAIL + + [Redirect 302: cors to same origin] + expected: FAIL + + [Redirect 303: cors to same cors] + expected: FAIL + + [Redirect 303: cors to another cors] + expected: FAIL + + [Redirect 303: same origin to cors] + expected: FAIL + + [Redirect 303: cors to same origin] + expected: FAIL + + [Redirect 307: cors to same cors] + expected: FAIL + + [Redirect 307: cors to another cors] + expected: FAIL + + [Redirect 307: same origin to cors] + expected: FAIL + + [Redirect 307: cors to same origin] + expected: FAIL + + [Redirect 308: cors to same cors] + expected: FAIL + + [Redirect 308: cors to another cors] + expected: FAIL + + [Redirect 308: same origin to cors] + expected: FAIL + + [Redirect 308: cors to same origin] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/cors/cors-redirect.html.ini b/tests/wpt/metadata/fetch/api/cors/cors-redirect.html.ini index d2f89f813b2..8ce76e0ea45 100644 --- a/tests/wpt/metadata/fetch/api/cors/cors-redirect.html.ini +++ b/tests/wpt/metadata/fetch/api/cors/cors-redirect.html.ini @@ -1,6 +1,62 @@ [cors-redirect.html] type: testharness - expected: ERROR [Redirect 301: cors to same cors] - expected: NOTRUN + expected: FAIL + + [Redirect 301: cors to another cors] + expected: FAIL + + [Redirect 301: same origin to cors] + expected: FAIL + + [Redirect 301: cors to same origin] + expected: FAIL + + [Redirect 302: cors to same cors] + expected: FAIL + + [Redirect 302: cors to another cors] + expected: FAIL + + [Redirect 302: same origin to cors] + expected: FAIL + + [Redirect 302: cors to same origin] + expected: FAIL + + [Redirect 303: cors to same cors] + expected: FAIL + + [Redirect 303: cors to another cors] + expected: FAIL + + [Redirect 303: same origin to cors] + expected: FAIL + + [Redirect 303: cors to same origin] + expected: FAIL + + [Redirect 307: cors to same cors] + expected: FAIL + + [Redirect 307: cors to another cors] + expected: FAIL + + [Redirect 307: same origin to cors] + expected: FAIL + + [Redirect 307: cors to same origin] + expected: FAIL + + [Redirect 308: cors to same cors] + expected: FAIL + + [Redirect 308: cors to another cors] + expected: FAIL + + [Redirect 308: same origin to cors] + expected: FAIL + + [Redirect 308: cors to same origin] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/credentials/authentication-basic-worker.html.ini b/tests/wpt/metadata/fetch/api/credentials/authentication-basic-worker.html.ini index 4cd7132501d..363f35f2715 100644 --- a/tests/wpt/metadata/fetch/api/credentials/authentication-basic-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/credentials/authentication-basic-worker.html.ini @@ -1,6 +1,11 @@ [authentication-basic-worker.html] type: testharness - expected: ERROR [User-added Authorization header with include mode] - expected: NOTRUN + expected: FAIL + + [User-added Authorization header with same-origin mode] + expected: FAIL + + [User-added Authorization header with omit mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/credentials/authentication-basic.html.ini b/tests/wpt/metadata/fetch/api/credentials/authentication-basic.html.ini index 9e85b136c08..ac57e4b540d 100644 --- a/tests/wpt/metadata/fetch/api/credentials/authentication-basic.html.ini +++ b/tests/wpt/metadata/fetch/api/credentials/authentication-basic.html.ini @@ -1,6 +1,11 @@ [authentication-basic.html] type: testharness - expected: ERROR [User-added Authorization header with include mode] - expected: NOTRUN + expected: FAIL + + [User-added Authorization header with same-origin mode] + expected: FAIL + + [User-added Authorization header with omit mode] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/credentials/cookies-worker.html.ini b/tests/wpt/metadata/fetch/api/credentials/cookies-worker.html.ini index 0aaaa1af18c..403cede84de 100644 --- a/tests/wpt/metadata/fetch/api/credentials/cookies-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/credentials/cookies-worker.html.ini @@ -1,6 +1,23 @@ [cookies-worker.html] type: testharness - expected: ERROR [Include mode: 1 cookie] - expected: NOTRUN + expected: FAIL + + [Include mode: 2 cookies] + expected: FAIL + + [Omit mode: discard cookies] + expected: FAIL + + [Omit mode: no cookie is stored] + expected: FAIL + + [Omit mode: no cookie is sent] + expected: FAIL + + [Same-origin mode: 1 cookie] + expected: FAIL + + [Same-origin mode: 2 cookies] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/credentials/cookies.html.ini b/tests/wpt/metadata/fetch/api/credentials/cookies.html.ini index d93de729b7b..1c64dc9fb35 100644 --- a/tests/wpt/metadata/fetch/api/credentials/cookies.html.ini +++ b/tests/wpt/metadata/fetch/api/credentials/cookies.html.ini @@ -1,6 +1,23 @@ [cookies.html] type: testharness - expected: ERROR [Include mode: 1 cookie] - expected: NOTRUN + expected: FAIL + + [Include mode: 2 cookies] + expected: FAIL + + [Omit mode: discard cookies] + expected: FAIL + + [Omit mode: no cookie is stored] + expected: FAIL + + [Omit mode: no cookie is sent] + expected: FAIL + + [Same-origin mode: 1 cookie] + expected: FAIL + + [Same-origin mode: 2 cookies] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/csp-blocked-worker.html.ini b/tests/wpt/metadata/fetch/api/policies/csp-blocked-worker.html.ini index 44a5d81a5bc..36464f51328 100644 --- a/tests/wpt/metadata/fetch/api/policies/csp-blocked-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/csp-blocked-worker.html.ini @@ -1,6 +1,5 @@ [csp-blocked-worker.html] type: testharness - expected: ERROR [Fetch is blocked by CSP, got a TypeError] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/csp-blocked.html.ini b/tests/wpt/metadata/fetch/api/policies/csp-blocked.html.ini index e5d6934e19b..72555302f16 100644 --- a/tests/wpt/metadata/fetch/api/policies/csp-blocked.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/csp-blocked.html.ini @@ -1,6 +1,5 @@ [csp-blocked.html] type: testharness - expected: ERROR [Fetch is blocked by CSP, got a TypeError] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer-worker.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer-worker.html.ini index 116bdf51474..12672391661 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer-worker.html.ini @@ -1,6 +1,5 @@ [referrer-no-referrer-worker.html] type: testharness - expected: ERROR [Request's referrer is empty] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer.html.ini index 2d672e9e8ed..8461d3e1fdb 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-no-referrer.html.ini @@ -1,6 +1,5 @@ [referrer-no-referrer.html] type: testharness - expected: ERROR [Request's referrer is empty] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini index 48ca82dea3c..877c5d64acd 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini @@ -1,6 +1,5 @@ [referrer-origin-when-cross-origin-worker.html] type: testharness - expected: ERROR [Request's referrer is origin] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin.html.ini index 267fc068c4c..54f72fb2059 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-origin-when-cross-origin.html.ini @@ -1,6 +1,5 @@ [referrer-origin-when-cross-origin.html] type: testharness - expected: ERROR [Request's referrer is origin] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-origin-worker.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-origin-worker.html.ini index 2da4215afb4..c73b106ce69 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-origin-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-origin-worker.html.ini @@ -1,6 +1,8 @@ [referrer-origin-worker.html] type: testharness - expected: ERROR [Request's referrer is origin] - expected: NOTRUN + expected: FAIL + + [Throw a TypeError referrer is not same-origin with origin] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-origin.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-origin.html.ini index 3a7cdef8f00..60ced001107 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-origin.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-origin.html.ini @@ -1,6 +1,8 @@ [referrer-origin.html] type: testharness - expected: ERROR [Request's referrer is origin] - expected: NOTRUN + expected: FAIL + + [Throw a TypeError referrer is not same-origin with origin] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url-worker.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url-worker.html.ini index 980cbf19072..c51fe3787b3 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url-worker.html.ini @@ -1,6 +1,5 @@ [referrer-unsafe-url-worker.html] type: testharness - expected: ERROR [Request's referrer is the full url of current document/worker] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url.html.ini b/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url.html.ini index b340d2984e9..5792e4d649e 100644 --- a/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url.html.ini +++ b/tests/wpt/metadata/fetch/api/policies/referrer-unsafe-url.html.ini @@ -1,6 +1,5 @@ [referrer-unsafe-url.html] type: testharness - expected: ERROR [Request's referrer is the full url of current document/worker] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-count-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-count-worker.html.ini index 3e3db9225a7..1c7eef97d5d 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-count-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-count-worker.html.ini @@ -1,6 +1,32 @@ [redirect-count-worker.html] type: testharness - expected: ERROR [Redirect 301 20 times] - expected: NOTRUN + expected: FAIL + + [Redirect 301 21 times] + expected: FAIL + + [Redirect 302 20 times] + expected: FAIL + + [Redirect 302 21 times] + expected: FAIL + + [Redirect 303 20 times] + expected: FAIL + + [Redirect 303 21 times] + expected: FAIL + + [Redirect 307 20 times] + expected: FAIL + + [Redirect 307 21 times] + expected: FAIL + + [Redirect 308 20 times] + expected: FAIL + + [Redirect 308 21 times] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-count.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-count.html.ini index eb07b8134a8..104547d5eb7 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-count.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-count.html.ini @@ -1,6 +1,32 @@ [redirect-count.html] type: testharness - expected: ERROR [Redirect 301 20 times] - expected: NOTRUN + expected: FAIL + + [Redirect 301 21 times] + expected: FAIL + + [Redirect 302 20 times] + expected: FAIL + + [Redirect 302 21 times] + expected: FAIL + + [Redirect 303 20 times] + expected: FAIL + + [Redirect 303 21 times] + expected: FAIL + + [Redirect 307 20 times] + expected: FAIL + + [Redirect 307 21 times] + expected: FAIL + + [Redirect 308 20 times] + expected: FAIL + + [Redirect 308 21 times] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-location-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-location-worker.html.ini index 52f5bbdb3ee..d101a8e4958 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-location-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-location-worker.html.ini @@ -1,6 +1,92 @@ [redirect-location-worker.html] type: testharness - expected: ERROR [Redirect 301 in "follow" mode without location] - expected: NOTRUN + expected: FAIL + + [Redirect 301 in "manual" mode without location] + expected: FAIL + + [Redirect 301 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 301 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 301 in "follow" mode with data location] + expected: FAIL + + [Redirect 301 in "manual" mode with data location] + expected: FAIL + + [Redirect 302 in "follow" mode without location] + expected: FAIL + + [Redirect 302 in "manual" mode without location] + expected: FAIL + + [Redirect 302 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 302 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 302 in "follow" mode with data location] + expected: FAIL + + [Redirect 302 in "manual" mode with data location] + expected: FAIL + + [Redirect 303 in "follow" mode without location] + expected: FAIL + + [Redirect 303 in "manual" mode without location] + expected: FAIL + + [Redirect 303 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 303 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 303 in "follow" mode with data location] + expected: FAIL + + [Redirect 303 in "manual" mode with data location] + expected: FAIL + + [Redirect 307 in "follow" mode without location] + expected: FAIL + + [Redirect 307 in "manual" mode without location] + expected: FAIL + + [Redirect 307 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 307 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 307 in "follow" mode with data location] + expected: FAIL + + [Redirect 307 in "manual" mode with data location] + expected: FAIL + + [Redirect 308 in "follow" mode without location] + expected: FAIL + + [Redirect 308 in "manual" mode without location] + expected: FAIL + + [Redirect 308 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 308 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 308 in "follow" mode with data location] + expected: FAIL + + [Redirect 308 in "manual" mode with data location] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-location.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-location.html.ini index 892b154e98d..cf32d72ffe3 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-location.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-location.html.ini @@ -1,6 +1,92 @@ [redirect-location.html] type: testharness - expected: ERROR [Redirect 301 in "follow" mode without location] - expected: NOTRUN + expected: FAIL + + [Redirect 301 in "manual" mode without location] + expected: FAIL + + [Redirect 301 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 301 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 301 in "follow" mode with data location] + expected: FAIL + + [Redirect 301 in "manual" mode with data location] + expected: FAIL + + [Redirect 302 in "follow" mode without location] + expected: FAIL + + [Redirect 302 in "manual" mode without location] + expected: FAIL + + [Redirect 302 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 302 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 302 in "follow" mode with data location] + expected: FAIL + + [Redirect 302 in "manual" mode with data location] + expected: FAIL + + [Redirect 303 in "follow" mode without location] + expected: FAIL + + [Redirect 303 in "manual" mode without location] + expected: FAIL + + [Redirect 303 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 303 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 303 in "follow" mode with data location] + expected: FAIL + + [Redirect 303 in "manual" mode with data location] + expected: FAIL + + [Redirect 307 in "follow" mode without location] + expected: FAIL + + [Redirect 307 in "manual" mode without location] + expected: FAIL + + [Redirect 307 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 307 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 307 in "follow" mode with data location] + expected: FAIL + + [Redirect 307 in "manual" mode with data location] + expected: FAIL + + [Redirect 308 in "follow" mode without location] + expected: FAIL + + [Redirect 308 in "manual" mode without location] + expected: FAIL + + [Redirect 308 in "follow" mode with invalid location] + expected: FAIL + + [Redirect 308 in "manual" mode with invalid location] + expected: FAIL + + [Redirect 308 in "follow" mode with data location] + expected: FAIL + + [Redirect 308 in "manual" mode with data location] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-method-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-method-worker.html.ini index e199a37ffe2..9297aa46ce1 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-method-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-method-worker.html.ini @@ -1,6 +1,41 @@ [redirect-method-worker.html] type: testharness - expected: ERROR [Response.redirected should be false on not-redirected responses] - expected: NOTRUN + expected: FAIL + + [Redirect 301 with GET] + expected: FAIL + + [Redirect 301 with POST] + expected: FAIL + + [Redirect 301 with HEAD] + expected: FAIL + + [Redirect 302 with GET] + expected: FAIL + + [Redirect 302 with POST] + expected: FAIL + + [Redirect 302 with HEAD] + expected: FAIL + + [Redirect 303 with GET] + expected: FAIL + + [Redirect 303 with POST] + expected: FAIL + + [Redirect 303 with HEAD] + expected: FAIL + + [Redirect 307 with GET] + expected: FAIL + + [Redirect 307 with POST] + expected: FAIL + + [Redirect 307 with HEAD] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-method.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-method.html.ini index 62da2b5f620..8c65c9383e2 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-method.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-method.html.ini @@ -1,6 +1,41 @@ [redirect-method.html] type: testharness - expected: ERROR [Response.redirected should be false on not-redirected responses] - expected: NOTRUN + expected: FAIL + + [Redirect 301 with GET] + expected: FAIL + + [Redirect 301 with POST] + expected: FAIL + + [Redirect 301 with HEAD] + expected: FAIL + + [Redirect 302 with GET] + expected: FAIL + + [Redirect 302 with POST] + expected: FAIL + + [Redirect 302 with HEAD] + expected: FAIL + + [Redirect 303 with GET] + expected: FAIL + + [Redirect 303 with POST] + expected: FAIL + + [Redirect 303 with HEAD] + expected: FAIL + + [Redirect 307 with GET] + expected: FAIL + + [Redirect 307 with POST] + expected: FAIL + + [Redirect 307 with HEAD] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini index 0359908d8ab..3c11d6721ef 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini @@ -1,6 +1,47 @@ [redirect-mode-worker.html] type: testharness - expected: ERROR [Redirect 301 in "error" mode ] - expected: NOTRUN + expected: FAIL + + [Redirect 301 in "follow" mode ] + expected: FAIL + + [Redirect 301 in "manual" mode ] + expected: FAIL + + [Redirect 302 in "error" mode ] + expected: FAIL + + [Redirect 302 in "follow" mode ] + expected: FAIL + + [Redirect 302 in "manual" mode ] + expected: FAIL + + [Redirect 303 in "error" mode ] + expected: FAIL + + [Redirect 303 in "follow" mode ] + expected: FAIL + + [Redirect 303 in "manual" mode ] + expected: FAIL + + [Redirect 307 in "error" mode ] + expected: FAIL + + [Redirect 307 in "follow" mode ] + expected: FAIL + + [Redirect 307 in "manual" mode ] + expected: FAIL + + [Redirect 308 in "error" mode ] + expected: FAIL + + [Redirect 308 in "follow" mode ] + expected: FAIL + + [Redirect 308 in "manual" mode ] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini index aef52947ae5..6cd7f1d4bd4 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini @@ -1,6 +1,47 @@ [redirect-mode.html] type: testharness - expected: ERROR [Redirect 301 in "error" mode ] - expected: NOTRUN + expected: FAIL + + [Redirect 301 in "follow" mode ] + expected: FAIL + + [Redirect 301 in "manual" mode ] + expected: FAIL + + [Redirect 302 in "error" mode ] + expected: FAIL + + [Redirect 302 in "follow" mode ] + expected: FAIL + + [Redirect 302 in "manual" mode ] + expected: FAIL + + [Redirect 303 in "error" mode ] + expected: FAIL + + [Redirect 303 in "follow" mode ] + expected: FAIL + + [Redirect 303 in "manual" mode ] + expected: FAIL + + [Redirect 307 in "error" mode ] + expected: FAIL + + [Redirect 307 in "follow" mode ] + expected: FAIL + + [Redirect 307 in "manual" mode ] + expected: FAIL + + [Redirect 308 in "error" mode ] + expected: FAIL + + [Redirect 308 in "follow" mode ] + expected: FAIL + + [Redirect 308 in "manual" mode ] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-origin-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-origin-worker.html.ini index d4315e6c9dd..e844e2e51f7 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-origin-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-origin-worker.html.ini @@ -1,6 +1,62 @@ [redirect-origin-worker.html] type: testharness - expected: ERROR [Same origin to same origin redirection 301] - expected: NOTRUN + expected: FAIL + + [Same origin to other origin redirection 301] + expected: FAIL + + [Other origin to other origin redirection 301] + expected: FAIL + + [Other origin to same origin redirection 301] + expected: FAIL + + [Same origin to same origin redirection 302] + expected: FAIL + + [Same origin to other origin redirection 302] + expected: FAIL + + [Other origin to other origin redirection 302] + expected: FAIL + + [Other origin to same origin redirection 302] + expected: FAIL + + [Same origin to same origin redirection 303] + expected: FAIL + + [Same origin to other origin redirection 303] + expected: FAIL + + [Other origin to other origin redirection 303] + expected: FAIL + + [Other origin to same origin redirection 303] + expected: FAIL + + [Same origin to same origin redirection 307] + expected: FAIL + + [Same origin to other origin redirection 307] + expected: FAIL + + [Other origin to other origin redirection 307] + expected: FAIL + + [Other origin to same origin redirection 307] + expected: FAIL + + [Same origin to same origin redirection 308] + expected: FAIL + + [Same origin to other origin redirection 308] + expected: FAIL + + [Other origin to other origin redirection 308] + expected: FAIL + + [Other origin to same origin redirection 308] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-origin.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-origin.html.ini index bbc6a976e58..89f4d211ba9 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-origin.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-origin.html.ini @@ -1,6 +1,62 @@ [redirect-origin.html] type: testharness - expected: ERROR [Same origin to same origin redirection 301] - expected: NOTRUN + expected: FAIL + + [Same origin to other origin redirection 301] + expected: FAIL + + [Other origin to other origin redirection 301] + expected: FAIL + + [Other origin to same origin redirection 301] + expected: FAIL + + [Same origin to same origin redirection 302] + expected: FAIL + + [Same origin to other origin redirection 302] + expected: FAIL + + [Other origin to other origin redirection 302] + expected: FAIL + + [Other origin to same origin redirection 302] + expected: FAIL + + [Same origin to same origin redirection 303] + expected: FAIL + + [Same origin to other origin redirection 303] + expected: FAIL + + [Other origin to other origin redirection 303] + expected: FAIL + + [Other origin to same origin redirection 303] + expected: FAIL + + [Same origin to same origin redirection 307] + expected: FAIL + + [Same origin to other origin redirection 307] + expected: FAIL + + [Other origin to other origin redirection 307] + expected: FAIL + + [Other origin to same origin redirection 307] + expected: FAIL + + [Same origin to same origin redirection 308] + expected: FAIL + + [Same origin to other origin redirection 308] + expected: FAIL + + [Other origin to other origin redirection 308] + expected: FAIL + + [Other origin to same origin redirection 308] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-schemes.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-schemes.html.ini index 4e7cc9a2e1b..491b4d0cce8 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-schemes.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-schemes.html.ini @@ -1,6 +1,20 @@ [redirect-schemes.html] type: testharness - expected: ERROR [Fetch: handling different schemes in redirects] - expected: NOTRUN + expected: FAIL + + [Fetch: handling different schemes in redirects 1] + expected: FAIL + + [Fetch: handling different schemes in redirects 2] + expected: FAIL + + [Fetch: handling different schemes in redirects 3] + expected: FAIL + + [Fetch: handling different schemes in redirects 4] + expected: FAIL + + [Fetch: handling different schemes in redirects 5] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl-worker.html.ini index ab84a9a805b..a6c2bc1a560 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl-worker.html.ini @@ -1,6 +1,17 @@ [redirect-to-dataurl-worker.html] type: testharness - expected: ERROR [Testing data URL loading after same-origin redirection (cors mode)] - expected: NOTRUN + expected: FAIL + + [Testing data URL loading after same-origin redirection (no-cors mode)] + expected: FAIL + + [Testing data URL loading after same-origin redirection (same-origin mode)] + expected: FAIL + + [Testing data URL loading after cross-origin redirection (cors mode)] + expected: FAIL + + [Testing data URL loading after cross-origin redirection (no-cors mode)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl.html.ini index 3629a7ba3e1..430ee44275a 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-to-dataurl.html.ini @@ -1,6 +1,17 @@ [redirect-to-dataurl.html] type: testharness - expected: ERROR [Testing data URL loading after same-origin redirection (cors mode)] - expected: NOTRUN + expected: FAIL + + [Testing data URL loading after same-origin redirection (no-cors mode)] + expected: FAIL + + [Testing data URL loading after same-origin redirection (same-origin mode)] + expected: FAIL + + [Testing data URL loading after cross-origin redirection (cors mode)] + expected: FAIL + + [Testing data URL loading after cross-origin redirection (no-cors mode)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/request/request-cache.html.ini b/tests/wpt/metadata/fetch/api/request/request-cache.html.ini index 453cd49d255..d3f76be8abd 100644 --- a/tests/wpt/metadata/fetch/api/request/request-cache.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-cache.html.ini @@ -1,6 +1,248 @@ [request-cache.html] type: testharness - expected: ERROR [RequestCache "default" mode checks the cache for previously cached content and goes to the network for stale responses with Etag and stale response] - expected: NOTRUN + expected: FAIL + + [RequestCache "default" mode checks the cache for previously cached content and goes to the network for stale responses with date and stale response] + expected: FAIL + + [RequestCache "default" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with date and fresh response] + expected: FAIL + + [RequestCache "no-cache" mode revalidates stale responses found in the cache with Etag and stale response] + expected: FAIL + + [RequestCache "no-cache" mode revalidates stale responses found in the cache with date and stale response] + expected: FAIL + + [RequestCache "no-cache" mode revalidates fresh responses found in the cache with Etag and fresh response] + expected: FAIL + + [RequestCache "no-cache" mode revalidates fresh responses found in the cache with date and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for stale responses with date and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Etag and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for fresh responses with date and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found with Etag and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found with date and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found with Etag and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found with date and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary with Etag and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary with date and stale response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary with Etag and fresh response] + expected: FAIL + + [RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary with date and fresh response] + expected: FAIL + + [RequestCache "force-cache" stores the response in the cache if it goes to the network with Etag and stale response] + expected: FAIL + + [RequestCache "force-cache" stores the response in the cache if it goes to the network with date and stale response] + expected: FAIL + + [RequestCache "force-cache" stores the response in the cache if it goes to the network with Etag and fresh response] + expected: FAIL + + [RequestCache "force-cache" stores the response in the cache if it goes to the network with date and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with Etag and stale response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with date and stale response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with Etag and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with date and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with Etag and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with date and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with date and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and stale response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with date and stale response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with date and fresh response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and stale response] + expected: FAIL + + [RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with date and stale response] + expected: FAIL + + [RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Etag and stale response] + expected: FAIL + + [RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with date and stale response] + expected: FAIL + + [RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Etag and fresh response] + expected: FAIL + + [RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with date and fresh response] + expected: FAIL + + [RequestCache "no-store" mode does not store the response in the cache with Etag and stale response] + expected: FAIL + + [RequestCache "no-store" mode does not store the response in the cache with date and stale response] + expected: FAIL + + [RequestCache "no-store" mode does not store the response in the cache with Etag and fresh response] + expected: FAIL + + [RequestCache "no-store" mode does not store the response in the cache with date and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store" with Etag and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store" with date and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store" with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store" with date and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Etag and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with date and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with date and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Etag and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with date and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with date and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Etag and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with date and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with date and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with date and stale response] + expected: FAIL + + [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and fresh response] + expected: FAIL + + [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with date and fresh response] + expected: FAIL + + [Responses with the "Cache-Control: no-store" header are not stored in the cache with Etag and stale response] + expected: FAIL + + [Responses with the "Cache-Control: no-store" header are not stored in the cache with date and stale response] + expected: FAIL + + [Responses with the "Cache-Control: no-store" header are not stored in the cache with Etag and fresh response] + expected: FAIL + + [Responses with the "Cache-Control: no-store" header are not stored in the cache with date and fresh response] + expected: FAIL + + [RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless with Etag and stale response] + expected: FAIL + + [RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless with date and stale response] + expected: FAIL + + [RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless with Etag and fresh response] + expected: FAIL + + [RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless with date and fresh response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache with Etag and stale response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache with date and stale response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache with Etag and fresh response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache with date and fresh response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache even if a previous response is already stored with Etag and stale response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache even if a previous response is already stored with date and stale response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache even if a previous response is already stored with Etag and fresh response] + expected: FAIL + + [RequestCache "reload" mode does store the response in the cache even if a previous response is already stored with date and fresh response] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/request/request-consume-empty.html.ini b/tests/wpt/metadata/fetch/api/request/request-consume-empty.html.ini index 3984cbe0d77..adf5eaeb232 100644 --- a/tests/wpt/metadata/fetch/api/request/request-consume-empty.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-consume-empty.html.ini @@ -1,6 +1,29 @@ [request-consume-empty.html] type: testharness - expected: ERROR [Consume request's body as text] - expected: NOTRUN + expected: FAIL + + [Consume request's body as blob] + expected: FAIL + + [Consume request's body as arrayBuffer] + expected: FAIL + + [Consume request's body as json] + expected: FAIL + + [Consume request's body as formData] + expected: FAIL + + [Consume empty blob request body as arrayBuffer] + expected: FAIL + + [Consume empty text request body as arrayBuffer] + expected: FAIL + + [Consume empty blob request body as text] + expected: FAIL + + [Consume empty text request body as text] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/request/request-consume.html.ini b/tests/wpt/metadata/fetch/api/request/request-consume.html.ini index 0823dce5d84..9dae0fc7a1b 100644 --- a/tests/wpt/metadata/fetch/api/request/request-consume.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-consume.html.ini @@ -1,9 +1,122 @@ [request-consume.html] type: testharness - expected: ERROR - [Consume request's body as text] + [Consume String request's body as text] expected: FAIL - [Consume String request's body as text] - expected: NOTRUN + [Consume String request's body as blob] + expected: FAIL + + [Consume String request's body as arrayBuffer] + expected: FAIL + + [Consume String request's body as json] + expected: FAIL + + [Consume String request's body as formData] + expected: FAIL + + [Consume blob response's body as blob] + expected: FAIL + + [Consume blob response's body as text] + expected: FAIL + + [Consume blob response's body as json] + expected: FAIL + + [Consume blob response's body as arrayBuffer] + expected: FAIL + + [Consume JSON from text: '"null"'] + expected: FAIL + + [Consume JSON from text: '"1"'] + expected: FAIL + + [Consume JSON from text: '"true"'] + expected: FAIL + + [Consume JSON from text: '"\\"string\\""'] + expected: FAIL + + [Trying to consume bad JSON text as JSON: 'undefined'] + expected: FAIL + + [Trying to consume bad JSON text as JSON: '{'] + expected: FAIL + + [Trying to consume bad JSON text as JSON: 'a'] + expected: FAIL + + [Trying to consume bad JSON text as JSON: '['] + expected: FAIL + + [Consume String request's body as JSON] + expected: FAIL + + [Consume ArrayBuffer request's body as text] + expected: FAIL + + [Consume ArrayBuffer request's body as blob] + expected: FAIL + + [Consume ArrayBuffer request's body as arrayBuffer] + expected: FAIL + + [Consume ArrayBuffer request's body as JSON] + expected: FAIL + + [Consume Uint8Array request's body as text] + expected: FAIL + + [Consume Uint8Array request's body as blob] + expected: FAIL + + [Consume Uint8Array request's body as arrayBuffer] + expected: FAIL + + [Consume Uint8Array request's body as JSON] + expected: FAIL + + [Consume Int8Array request's body as text] + expected: FAIL + + [Consume Int8Array request's body as blob] + expected: FAIL + + [Consume Int8Array request's body as arrayBuffer] + expected: FAIL + + [Consume Int8Array request's body as JSON] + expected: FAIL + + [Consume Float32Array request's body as text] + expected: FAIL + + [Consume Float32Array request's body as blob] + expected: FAIL + + [Consume Float32Array request's body as arrayBuffer] + expected: FAIL + + [Consume Float32Array request's body as JSON] + expected: FAIL + + [Consume DataView request's body as text] + expected: FAIL + + [Consume DataView request's body as blob] + expected: FAIL + + [Consume DataView request's body as arrayBuffer] + expected: FAIL + + [Consume DataView request's body as JSON] + expected: FAIL + + [Consume FormData request's body as FormData] + expected: FAIL + + [Consume blob response's body as blob (empty blob as input)] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/request/request-headers.html.ini b/tests/wpt/metadata/fetch/api/request/request-headers.html.ini index c8bf2e7f491..abd624770bf 100644 --- a/tests/wpt/metadata/fetch/api/request/request-headers.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-headers.html.ini @@ -1,6 +1,5 @@ [request-headers.html] type: testharness - expected: ERROR [Request should get its content-type from the body if none is provided] expected: FAIL @@ -8,5 +7,5 @@ expected: FAIL [Testing empty Request Content-Type header] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/request/request-init-002.html.ini b/tests/wpt/metadata/fetch/api/request/request-init-002.html.ini index 094110f7feb..d07ae0c1f49 100644 --- a/tests/wpt/metadata/fetch/api/request/request-init-002.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-init-002.html.ini @@ -1,9 +1,23 @@ [request-init-002.html] type: testharness - expected: ERROR [Initialize Request with headers values] expected: FAIL [Initialize Request's body with undefined] - expected: NOTRUN + expected: FAIL + + [Initialize Request's body with null] + expected: FAIL + + [Initialize Request's body with application/octet-binary] + expected: FAIL + + [Initialize Request's body with multipart/form-data] + expected: FAIL + + [Initialize Request's body with text/plain;charset=UTF-8] + expected: FAIL + + [Initialize Request's body with application/x-www-form-urlencoded;charset=UTF-8] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-cancel-stream.html.ini b/tests/wpt/metadata/fetch/api/response/response-cancel-stream.html.ini index 6edab145393..772b1b6822a 100644 --- a/tests/wpt/metadata/fetch/api/response/response-cancel-stream.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-cancel-stream.html.ini @@ -1,6 +1,20 @@ [response-cancel-stream.html] type: testharness - expected: ERROR [Cancelling a starting blob Response stream] - expected: NOTRUN + expected: FAIL + + [Cancelling a loading blob Response stream] + expected: FAIL + + [Cancelling a closed blob Response stream] + expected: FAIL + + [Cancelling a starting Response stream] + expected: FAIL + + [Cancelling a loading Response stream] + expected: FAIL + + [Cancelling a closed Response stream] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-consume-empty.html.ini b/tests/wpt/metadata/fetch/api/response/response-consume-empty.html.ini index 7b3de44a527..ad63d701eec 100644 --- a/tests/wpt/metadata/fetch/api/response/response-consume-empty.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-consume-empty.html.ini @@ -1,6 +1,29 @@ [response-consume-empty.html] type: testharness - expected: ERROR [Consume response's body as text] - expected: NOTRUN + expected: FAIL + + [Consume response's body as blob] + expected: FAIL + + [Consume response's body as arrayBuffer] + expected: FAIL + + [Consume response's body as json] + expected: FAIL + + [Consume response's body as formData] + expected: FAIL + + [Consume empty blob response body as arrayBuffer] + expected: FAIL + + [Consume empty text response body as arrayBuffer] + expected: FAIL + + [Consume empty blob response body as text] + expected: FAIL + + [Consume empty text response body as text] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-consume-stream.html.ini b/tests/wpt/metadata/fetch/api/response/response-consume-stream.html.ini index 8c33fce2739..21ed2f7d8cc 100644 --- a/tests/wpt/metadata/fetch/api/response/response-consume-stream.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-consume-stream.html.ini @@ -1,6 +1,26 @@ [response-consume-stream.html] type: testharness - expected: ERROR [Read empty text response's body as readableStream] - expected: NOTRUN + expected: FAIL + + [Read empty blob response's body as readableStream] + expected: FAIL + + [Read blob response's body as readableStream] + expected: FAIL + + [Read text response's body as readableStream] + expected: FAIL + + [Read form data response's body as readableStream] + expected: FAIL + + [Getting an error Response stream] + expected: FAIL + + [Getting a redirect Response stream] + expected: FAIL + + [Read array buffer response's body as readableStream] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-consume.html.ini b/tests/wpt/metadata/fetch/api/response/response-consume.html.ini index 4c3ad7cc84c..be3d40e5dea 100644 --- a/tests/wpt/metadata/fetch/api/response/response-consume.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-consume.html.ini @@ -1,6 +1,50 @@ [response-consume.html] type: testharness - expected: ERROR [Consume response's body as text] - expected: NOTRUN + expected: FAIL + + [Consume response's body as blob] + expected: FAIL + + [Consume response's body as arrayBuffer] + expected: FAIL + + [Consume response's body as json] + expected: FAIL + + [Consume response's body as formData] + expected: FAIL + + [Consume blob response's body as blob] + expected: FAIL + + [Consume blob response's body as text] + expected: FAIL + + [Consume blob response's body as json] + expected: FAIL + + [Consume blob response's body as arrayBuffer] + expected: FAIL + + [Consume stream response's body as blob] + expected: FAIL + + [Consume stream response's body as text] + expected: FAIL + + [Consume stream response's body as json] + expected: FAIL + + [Consume stream response's body as arrayBuffer] + expected: FAIL + + [Consume fetched response's body as blob] + expected: FAIL + + [Consume fetched response's body as text] + expected: FAIL + + [Consume fetched response's body as arrayBuffer] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-init-002.html.ini b/tests/wpt/metadata/fetch/api/response/response-init-002.html.ini index 7a29195fff2..099bb515005 100644 --- a/tests/wpt/metadata/fetch/api/response/response-init-002.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-init-002.html.ini @@ -1,9 +1,23 @@ [response-init-002.html] type: testharness - expected: ERROR [Initialize Response with headers values] expected: FAIL [Initialize Response's body with application/octet-binary] - expected: NOTRUN + expected: FAIL + + [Initialize Response's body with multipart/form-data] + expected: FAIL + + [Initialize Response's body with application/x-www-form-urlencoded;charset=UTF-8] + expected: FAIL + + [Initialize Response's body with text/plain;charset=UTF-8] + expected: FAIL + + [Read Response's body as readableStream] + expected: FAIL + + [Testing empty Response Content-Type header] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-1.html.ini b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-1.html.ini index cf3bd11dfc1..c8f955c526f 100644 --- a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-1.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-1.html.ini @@ -1,6 +1,14 @@ [response-stream-disturbed-1.html] type: testharness - expected: ERROR [Getting blob after getting the Response body - not disturbed, not locked] - expected: NOTRUN + expected: FAIL + + [Getting text after getting the Response body - not disturbed, not locked] + expected: FAIL + + [Getting json after getting the Response body - not disturbed, not locked] + expected: FAIL + + [Getting arrayBuffer after getting the Response body - not disturbed, not locked] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-2.html.ini b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-2.html.ini index f06515815e0..b1431ca6e30 100644 --- a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-2.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-2.html.ini @@ -1,6 +1,14 @@ [response-stream-disturbed-2.html] type: testharness - expected: ERROR [Getting blob after getting a locked Response body] - expected: NOTRUN + expected: FAIL + + [Getting text after getting a locked Response body] + expected: FAIL + + [Getting json after getting a locked Response body] + expected: FAIL + + [Getting arrayBuffer after getting a locked Response body] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-3.html.ini b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-3.html.ini index 9fe666dc8bf..07c1348b8a2 100644 --- a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-3.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-3.html.ini @@ -1,6 +1,14 @@ [response-stream-disturbed-3.html] type: testharness - expected: ERROR [Getting blob after reading the Response body] - expected: NOTRUN + expected: FAIL + + [Getting text after reading the Response body] + expected: FAIL + + [Getting json after reading the Response body] + expected: FAIL + + [Getting arrayBuffer after reading the Response body] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-4.html.ini b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-4.html.ini index ceeea9d3650..d5092502494 100644 --- a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-4.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-4.html.ini @@ -1,6 +1,14 @@ [response-stream-disturbed-4.html] type: testharness - expected: ERROR [Getting blob after cancelling the Response body] - expected: NOTRUN + expected: FAIL + + [Getting text after cancelling the Response body] + expected: FAIL + + [Getting json after cancelling the Response body] + expected: FAIL + + [Getting arrayBuffer after cancelling the Response body] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-5.html.ini b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-5.html.ini index ae46c41f0b8..61a2d4a90de 100644 --- a/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-5.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-stream-disturbed-5.html.ini @@ -1,6 +1,14 @@ [response-stream-disturbed-5.html] type: testharness - expected: ERROR [Getting a body reader after consuming as blob] - expected: NOTRUN + expected: FAIL + + [Getting a body reader after consuming as text] + expected: FAIL + + [Getting a body reader after consuming as json] + expected: FAIL + + [Getting a body reader after consuming as arrayBuffer] + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html.ini index 79cd003bfbb..12c3c88a12b 100644 --- a/tests/wpt/metadata/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html.ini @@ -1,9 +1,14 @@ [allow_prototype_cycle_through_location.sub.html] type: testharness - expected: ERROR [same-origin, same-window location cycle] expected: FAIL [cross-origin location has null prototype] - expected: NOTRUN + expected: FAIL + + [same-origin, different-window location cycle] + expected: FAIL + + [cross-origin, but joined via document.domain, location cycle] + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_raf.html.ini b/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_raf.html.ini index 65b151e379d..a4a067521c4 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_raf.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_raf.html.ini @@ -1,6 +1,5 @@ [microtask_after_raf.html] type: testharness - expected: ERROR [Microtask execute immediately after script] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_script.html.ini b/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_script.html.ini index 58a9150837c..49871c85772 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_script.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/event-loops/microtask_after_script.html.ini @@ -1,6 +1,5 @@ [microtask_after_script.html] type: testharness - expected: ERROR [Microtask immediately after script] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index ede708b825b..2401b0543af 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -7176,6 +7176,12 @@ "url": "/_mozilla/mozilla/preserve_wrapper_callback.html" } ], + "mozilla/promise.html": [ + { + "path": "mozilla/promise.html", + "url": "/_mozilla/mozilla/promise.html" + } + ], "mozilla/prototypes.html": [ { "path": "mozilla/prototypes.html", diff --git a/tests/wpt/mozilla/meta/mozilla/promise.html.ini b/tests/wpt/mozilla/meta/mozilla/promise.html.ini new file mode 100644 index 00000000000..784c666e1b7 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/promise.html.ini @@ -0,0 +1,3 @@ +[promise.html] + type: testharness + prefs: [dom.testbinding.enabled:true] diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.js b/tests/wpt/mozilla/tests/mozilla/interfaces.js index 7501325dd94..c6eeab6bdbc 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.js +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.js @@ -27,6 +27,7 @@ function test_interfaces(interfaceNamesInGlobalScope) { "NaN", "Number", "Object", + "Promise", "Proxy", "RangeError", "ReferenceError", diff --git a/tests/wpt/mozilla/tests/mozilla/promise.html b/tests/wpt/mozilla/tests/mozilla/promise.html new file mode 100644 index 00000000000..1a68bdb9baa --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/promise.html @@ -0,0 +1,67 @@ + + + + + +