expect(fn2).toHaveBeenCalledTimes(1)
expect(fn2).toHaveBeenCalledWith(1)
})
+
+ test('only trim string parameter when work with v-model on component', () => {
+ const Foo = defineComponent({
+ render() {},
+ created() {
+ this.$emit('update:modelValue', ' foo ', { bar: ' bar ' })
+ }
+ })
+
+ const fn = jest.fn()
+ const Comp = () =>
+ h(Foo, {
+ modelValue: null,
+ modelModifiers: { trim: true },
+ 'onUpdate:modelValue': fn
+ })
+
+ render(h(Comp), nodeOps.createElement('div'))
+
+ expect(fn).toHaveBeenCalledTimes(1)
+ expect(fn).toHaveBeenCalledWith('foo', { bar: ' bar ' })
+ })
test('isEmitListener', () => {
const options = {
isArray,
isFunction,
isObject,
+ isString,
isOn,
toNumber,
UnionToIntersection
}Modifiers`
const { number, trim } = props[modifiersKey] || EMPTY_OBJ
if (trim) {
- args = rawArgs.map(a => a.trim())
+ args = rawArgs.map(a => isString(a) ? a.trim() : a)
}
if (number) {
args = rawArgs.map(toNumber)