diff --git a/packages/server-test-utils/dist/vue-server-test-utils.js b/packages/server-test-utils/dist/vue-server-test-utils.js
index 19b5777a3..f4fd23e77 100644
--- a/packages/server-test-utils/dist/vue-server-test-utils.js
+++ b/packages/server-test-utils/dist/vue-server-test-utils.js
@@ -1885,7 +1885,7 @@ function vmMatchesName(vm, name) {
// We want to mirror how Vue resolves component names in SFCs:
// For example, , and `
// all resolve to the same component
- var componentName = (vm.$options && vm.$options.name) || '';
+ var componentName = vm.name || (vm.$options && vm.$options.name) || '';
return (
!!name &&
(componentName === name ||
@@ -1931,13 +1931,7 @@ function matches(node, selector) {
return element && element.matches && element.matches(selector.value)
}
- var isFunctionalSelector = isConstructor(selector.value)
- ? selector.value.options.functional
- : selector.value.functional;
-
- var componentInstance = isFunctionalSelector
- ? node[FUNCTIONAL_OPTIONS]
- : node.child;
+ var componentInstance = node[FUNCTIONAL_OPTIONS] || node.child;
if (!componentInstance) {
return false
@@ -9358,11 +9352,43 @@ var modifiers = {
pagedown: 34
};
+// get from https://github.com/ashubham/w3c-keys/blob/master/index.ts
+var w3cKeys = {
+ enter: 'Enter',
+ tab: 'Tab',
+ delete: 'Delete',
+ esc: 'Esc',
+ escape: 'Escape',
+ space: ' ',
+ up: 'Up',
+ left: 'Left',
+ right: 'Right',
+ down: 'Down',
+ end: 'End',
+ home: 'Home',
+ backspace: 'Backspace',
+ insert: 'Insert',
+ pageup: 'PageUp',
+ pagedown: 'PageDown'
+};
+
+var codeToKeyNameMap = Object.entries(modifiers).reduce(
+ function (acc, ref) {
+ var obj;
+
+ var key = ref[0];
+ var value = ref[1];
+ return Object.assign(acc, ( obj = {}, obj[value] = w3cKeys[key], obj ));
+},
+ {}
+);
+
function getOptions(eventParams) {
var modifier = eventParams.modifier;
var meta = eventParams.meta;
var options = eventParams.options;
var keyCode = modifiers[modifier] || options.keyCode || options.code;
+ var key = codeToKeyNameMap[keyCode];
return Object.assign({}, options, // What the user passed in as the second argument to #trigger
@@ -9371,7 +9397,8 @@ function getOptions(eventParams) {
// Any derived options should go here
keyCode: keyCode,
- code: keyCode})
+ code: keyCode,
+ key: key})
}
function createEvent(eventParams) {
@@ -9613,7 +9640,7 @@ Wrapper.prototype.emittedByOrder = function emittedByOrder () {
};
/**
- * Utility to check wrapper exists. Returns true as Wrapper always exists
+ * Utility to check wrapper exists.
*/
Wrapper.prototype.exists = function exists () {
if (this.vm) {
@@ -10251,6 +10278,35 @@ Wrapper.prototype.text = function text () {
return this.element.textContent.trim()
};
+/**
+ * Simulates event triggering
+ */
+Wrapper.prototype.__simulateTrigger = function __simulateTrigger (type, options) {
+ var this$1 = this;
+
+ var regularEventTrigger = function (type, options) {
+ var event = createDOMEvent(type, options);
+ return this$1.element.dispatchEvent(event)
+ };
+
+ var focusEventTrigger = function (type, options) {
+ if (this$1.element instanceof HTMLElement) {
+ return this$1.element.focus()
+ }
+
+ regularEventTrigger(type, options);
+ };
+
+ var triggerProcedureMap = {
+ focus: focusEventTrigger,
+ __default: regularEventTrigger
+ };
+
+ var triggerFn = triggerProcedureMap[type] || triggerProcedureMap.__default;
+
+ return triggerFn(type, options)
+};
+
/**
* Dispatches a DOM event on wrapper
*/
@@ -10293,8 +10349,7 @@ Wrapper.prototype.trigger = function trigger (type, options) {
return nextTick()
}
- var event = createDOMEvent(type, options);
- this.element.dispatchEvent(event);
+ this.__simulateTrigger(type, options);
return nextTick()
};
@@ -12877,7 +12932,7 @@ function _createLocalVue(
instance.config = cloneDeep_1(Vue__default['default'].config);
// if a user defined errorHandler is defined by a localVue instance via createLocalVue, register it
- instance.config.errorHandler = config.errorHandler || Vue__default['default'].config.errorHandler;
+ instance.config.errorHandler = config.errorHandler;
// option merge strategies need to be exposed by reference
// so that merge strats registered by plugins can work properly
diff --git a/packages/test-utils/dist/vue-test-utils.iife.js b/packages/test-utils/dist/vue-test-utils.iife.js
index 67c2e9047..64456e3fc 100644
--- a/packages/test-utils/dist/vue-test-utils.iife.js
+++ b/packages/test-utils/dist/vue-test-utils.iife.js
@@ -2690,7 +2690,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
// We want to mirror how Vue resolves component names in SFCs:
// For example, , and `
// all resolve to the same component
- var componentName = (vm.$options && vm.$options.name) || '';
+ var componentName = vm.name || (vm.$options && vm.$options.name) || '';
return (
!!name &&
(componentName === name ||
@@ -2736,13 +2736,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
return element && element.matches && element.matches(selector.value)
}
- var isFunctionalSelector = isConstructor(selector.value)
- ? selector.value.options.functional
- : selector.value.functional;
-
- var componentInstance = isFunctionalSelector
- ? node[FUNCTIONAL_OPTIONS]
- : node.child;
+ var componentInstance = node[FUNCTIONAL_OPTIONS] || node.child;
if (!componentInstance) {
return false
@@ -10262,11 +10256,43 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
pagedown: 34
};
+ // get from https://github.com/ashubham/w3c-keys/blob/master/index.ts
+ var w3cKeys = {
+ enter: 'Enter',
+ tab: 'Tab',
+ delete: 'Delete',
+ esc: 'Esc',
+ escape: 'Escape',
+ space: ' ',
+ up: 'Up',
+ left: 'Left',
+ right: 'Right',
+ down: 'Down',
+ end: 'End',
+ home: 'Home',
+ backspace: 'Backspace',
+ insert: 'Insert',
+ pageup: 'PageUp',
+ pagedown: 'PageDown'
+ };
+
+ var codeToKeyNameMap = Object.entries(modifiers).reduce(
+ function (acc, ref) {
+ var obj;
+
+ var key = ref[0];
+ var value = ref[1];
+ return Object.assign(acc, ( obj = {}, obj[value] = w3cKeys[key], obj ));
+ },
+ {}
+ );
+
function getOptions(eventParams) {
var modifier = eventParams.modifier;
var meta = eventParams.meta;
var options = eventParams.options;
var keyCode = modifiers[modifier] || options.keyCode || options.code;
+ var key = codeToKeyNameMap[keyCode];
return Object.assign({}, options, // What the user passed in as the second argument to #trigger
@@ -10275,7 +10301,8 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
// Any derived options should go here
keyCode: keyCode,
- code: keyCode})
+ code: keyCode,
+ key: key})
}
function createEvent(eventParams) {
@@ -10517,7 +10544,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
};
/**
- * Utility to check wrapper exists. Returns true as Wrapper always exists
+ * Utility to check wrapper exists.
*/
Wrapper.prototype.exists = function exists () {
if (this.vm) {
@@ -11155,6 +11182,35 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
return this.element.textContent.trim()
};
+ /**
+ * Simulates event triggering
+ */
+ Wrapper.prototype.__simulateTrigger = function __simulateTrigger (type, options) {
+ var this$1 = this;
+
+ var regularEventTrigger = function (type, options) {
+ var event = createDOMEvent(type, options);
+ return this$1.element.dispatchEvent(event)
+ };
+
+ var focusEventTrigger = function (type, options) {
+ if (this$1.element instanceof HTMLElement) {
+ return this$1.element.focus()
+ }
+
+ regularEventTrigger(type, options);
+ };
+
+ var triggerProcedureMap = {
+ focus: focusEventTrigger,
+ __default: regularEventTrigger
+ };
+
+ var triggerFn = triggerProcedureMap[type] || triggerProcedureMap.__default;
+
+ return triggerFn(type, options)
+ };
+
/**
* Dispatches a DOM event on wrapper
*/
@@ -11197,8 +11253,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
return nextTick()
}
- var event = createDOMEvent(type, options);
- this.element.dispatchEvent(event);
+ this.__simulateTrigger(type, options);
return nextTick()
};
@@ -13818,7 +13873,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
instance.config = cloneDeep_1(Vue__default['default'].config);
// if a user defined errorHandler is defined by a localVue instance via createLocalVue, register it
- instance.config.errorHandler = config.errorHandler || Vue__default['default'].config.errorHandler;
+ instance.config.errorHandler = config.errorHandler;
// option merge strategies need to be exposed by reference
// so that merge strats registered by plugins can work properly
@@ -14051,6 +14106,7 @@ var VueTestUtils = (function (exports, Vue, vueTemplateCompiler) {
return shallowMount(component, options)
}
+ exports.ErrorWrapper = ErrorWrapper;
exports.RouterLinkStub = RouterLinkStub;
exports.Wrapper = Wrapper;
exports.WrapperArray = WrapperArray;
diff --git a/packages/test-utils/dist/vue-test-utils.js b/packages/test-utils/dist/vue-test-utils.js
index 68a02ffd1..c46b8a0d7 100644
--- a/packages/test-utils/dist/vue-test-utils.js
+++ b/packages/test-utils/dist/vue-test-utils.js
@@ -2694,7 +2694,7 @@ function vmMatchesName(vm, name) {
// We want to mirror how Vue resolves component names in SFCs:
// For example, , and `
// all resolve to the same component
- var componentName = (vm.$options && vm.$options.name) || '';
+ var componentName = vm.name || (vm.$options && vm.$options.name) || '';
return (
!!name &&
(componentName === name ||
@@ -2740,13 +2740,7 @@ function matches(node, selector) {
return element && element.matches && element.matches(selector.value)
}
- var isFunctionalSelector = isConstructor(selector.value)
- ? selector.value.options.functional
- : selector.value.functional;
-
- var componentInstance = isFunctionalSelector
- ? node[FUNCTIONAL_OPTIONS]
- : node.child;
+ var componentInstance = node[FUNCTIONAL_OPTIONS] || node.child;
if (!componentInstance) {
return false
@@ -10266,11 +10260,43 @@ var modifiers = {
pagedown: 34
};
+// get from https://github.com/ashubham/w3c-keys/blob/master/index.ts
+var w3cKeys = {
+ enter: 'Enter',
+ tab: 'Tab',
+ delete: 'Delete',
+ esc: 'Esc',
+ escape: 'Escape',
+ space: ' ',
+ up: 'Up',
+ left: 'Left',
+ right: 'Right',
+ down: 'Down',
+ end: 'End',
+ home: 'Home',
+ backspace: 'Backspace',
+ insert: 'Insert',
+ pageup: 'PageUp',
+ pagedown: 'PageDown'
+};
+
+var codeToKeyNameMap = Object.entries(modifiers).reduce(
+ function (acc, ref) {
+ var obj;
+
+ var key = ref[0];
+ var value = ref[1];
+ return Object.assign(acc, ( obj = {}, obj[value] = w3cKeys[key], obj ));
+},
+ {}
+);
+
function getOptions(eventParams) {
var modifier = eventParams.modifier;
var meta = eventParams.meta;
var options = eventParams.options;
var keyCode = modifiers[modifier] || options.keyCode || options.code;
+ var key = codeToKeyNameMap[keyCode];
return Object.assign({}, options, // What the user passed in as the second argument to #trigger
@@ -10279,7 +10305,8 @@ function getOptions(eventParams) {
// Any derived options should go here
keyCode: keyCode,
- code: keyCode})
+ code: keyCode,
+ key: key})
}
function createEvent(eventParams) {
@@ -10521,7 +10548,7 @@ Wrapper.prototype.emittedByOrder = function emittedByOrder () {
};
/**
- * Utility to check wrapper exists. Returns true as Wrapper always exists
+ * Utility to check wrapper exists.
*/
Wrapper.prototype.exists = function exists () {
if (this.vm) {
@@ -11159,6 +11186,35 @@ Wrapper.prototype.text = function text () {
return this.element.textContent.trim()
};
+/**
+ * Simulates event triggering
+ */
+Wrapper.prototype.__simulateTrigger = function __simulateTrigger (type, options) {
+ var this$1 = this;
+
+ var regularEventTrigger = function (type, options) {
+ var event = createDOMEvent(type, options);
+ return this$1.element.dispatchEvent(event)
+ };
+
+ var focusEventTrigger = function (type, options) {
+ if (this$1.element instanceof HTMLElement) {
+ return this$1.element.focus()
+ }
+
+ regularEventTrigger(type, options);
+ };
+
+ var triggerProcedureMap = {
+ focus: focusEventTrigger,
+ __default: regularEventTrigger
+ };
+
+ var triggerFn = triggerProcedureMap[type] || triggerProcedureMap.__default;
+
+ return triggerFn(type, options)
+};
+
/**
* Dispatches a DOM event on wrapper
*/
@@ -11201,8 +11257,7 @@ Wrapper.prototype.trigger = function trigger (type, options) {
return nextTick()
}
- var event = createDOMEvent(type, options);
- this.element.dispatchEvent(event);
+ this.__simulateTrigger(type, options);
return nextTick()
};
@@ -13822,7 +13877,7 @@ function _createLocalVue(
instance.config = cloneDeep_1(Vue__default['default'].config);
// if a user defined errorHandler is defined by a localVue instance via createLocalVue, register it
- instance.config.errorHandler = config.errorHandler || Vue__default['default'].config.errorHandler;
+ instance.config.errorHandler = config.errorHandler;
// option merge strategies need to be exposed by reference
// so that merge strats registered by plugins can work properly
@@ -14055,6 +14110,7 @@ function shallow(component, options) {
return shallowMount(component, options)
}
+exports.ErrorWrapper = ErrorWrapper;
exports.RouterLinkStub = RouterLinkStub;
exports.Wrapper = Wrapper;
exports.WrapperArray = WrapperArray;
diff --git a/packages/test-utils/dist/vue-test-utils.umd.js b/packages/test-utils/dist/vue-test-utils.umd.js
index d2e307fbd..86b90f1f7 100644
--- a/packages/test-utils/dist/vue-test-utils.umd.js
+++ b/packages/test-utils/dist/vue-test-utils.umd.js
@@ -2693,7 +2693,7 @@
// We want to mirror how Vue resolves component names in SFCs:
// For example, , and `
// all resolve to the same component
- var componentName = (vm.$options && vm.$options.name) || '';
+ var componentName = vm.name || (vm.$options && vm.$options.name) || '';
return (
!!name &&
(componentName === name ||
@@ -2739,13 +2739,7 @@
return element && element.matches && element.matches(selector.value)
}
- var isFunctionalSelector = isConstructor(selector.value)
- ? selector.value.options.functional
- : selector.value.functional;
-
- var componentInstance = isFunctionalSelector
- ? node[FUNCTIONAL_OPTIONS]
- : node.child;
+ var componentInstance = node[FUNCTIONAL_OPTIONS] || node.child;
if (!componentInstance) {
return false
@@ -10265,11 +10259,43 @@
pagedown: 34
};
+ // get from https://github.com/ashubham/w3c-keys/blob/master/index.ts
+ var w3cKeys = {
+ enter: 'Enter',
+ tab: 'Tab',
+ delete: 'Delete',
+ esc: 'Esc',
+ escape: 'Escape',
+ space: ' ',
+ up: 'Up',
+ left: 'Left',
+ right: 'Right',
+ down: 'Down',
+ end: 'End',
+ home: 'Home',
+ backspace: 'Backspace',
+ insert: 'Insert',
+ pageup: 'PageUp',
+ pagedown: 'PageDown'
+ };
+
+ var codeToKeyNameMap = Object.entries(modifiers).reduce(
+ function (acc, ref) {
+ var obj;
+
+ var key = ref[0];
+ var value = ref[1];
+ return Object.assign(acc, ( obj = {}, obj[value] = w3cKeys[key], obj ));
+ },
+ {}
+ );
+
function getOptions(eventParams) {
var modifier = eventParams.modifier;
var meta = eventParams.meta;
var options = eventParams.options;
var keyCode = modifiers[modifier] || options.keyCode || options.code;
+ var key = codeToKeyNameMap[keyCode];
return Object.assign({}, options, // What the user passed in as the second argument to #trigger
@@ -10278,7 +10304,8 @@
// Any derived options should go here
keyCode: keyCode,
- code: keyCode})
+ code: keyCode,
+ key: key})
}
function createEvent(eventParams) {
@@ -10520,7 +10547,7 @@
};
/**
- * Utility to check wrapper exists. Returns true as Wrapper always exists
+ * Utility to check wrapper exists.
*/
Wrapper.prototype.exists = function exists () {
if (this.vm) {
@@ -11158,6 +11185,35 @@
return this.element.textContent.trim()
};
+ /**
+ * Simulates event triggering
+ */
+ Wrapper.prototype.__simulateTrigger = function __simulateTrigger (type, options) {
+ var this$1 = this;
+
+ var regularEventTrigger = function (type, options) {
+ var event = createDOMEvent(type, options);
+ return this$1.element.dispatchEvent(event)
+ };
+
+ var focusEventTrigger = function (type, options) {
+ if (this$1.element instanceof HTMLElement) {
+ return this$1.element.focus()
+ }
+
+ regularEventTrigger(type, options);
+ };
+
+ var triggerProcedureMap = {
+ focus: focusEventTrigger,
+ __default: regularEventTrigger
+ };
+
+ var triggerFn = triggerProcedureMap[type] || triggerProcedureMap.__default;
+
+ return triggerFn(type, options)
+ };
+
/**
* Dispatches a DOM event on wrapper
*/
@@ -11200,8 +11256,7 @@
return nextTick()
}
- var event = createDOMEvent(type, options);
- this.element.dispatchEvent(event);
+ this.__simulateTrigger(type, options);
return nextTick()
};
@@ -13821,7 +13876,7 @@
instance.config = cloneDeep_1(Vue__default['default'].config);
// if a user defined errorHandler is defined by a localVue instance via createLocalVue, register it
- instance.config.errorHandler = config.errorHandler || Vue__default['default'].config.errorHandler;
+ instance.config.errorHandler = config.errorHandler;
// option merge strategies need to be exposed by reference
// so that merge strats registered by plugins can work properly
@@ -14054,6 +14109,7 @@
return shallowMount(component, options)
}
+ exports.ErrorWrapper = ErrorWrapper;
exports.RouterLinkStub = RouterLinkStub;
exports.Wrapper = Wrapper;
exports.WrapperArray = WrapperArray;