})
it('events: onTrigger', () => {
- let events: any[] = []
+ let events: DebuggerEvent[] = []
let dummy
const onTrigger = jest.fn((e: DebuggerEvent) => {
events.push(e)
await nextTick()
expect(serialize(root)).toBe(`<div>2</div>`)
})
+
+ it('should warn unfound', () => {
+ const Provider = {
+ setup() {
+ return () => h(Middle)
+ }
+ }
+
+ const Middle = {
+ render: () => h(Consumer)
+ }
+
+ const Consumer = {
+ setup() {
+ const foo = inject('foo')
+ expect(foo).toBeUndefined()
+ return () => foo
+ }
+ }
+
+ const root = nodeOps.createElement('div')
+ render(h(Provider), root)
+ expect(serialize(root)).toBe(`<div><!----></div>`)
+ expect(`injection "foo" not found.`).toHaveBeenWarned()
+ })
})
nested: {
count: ref(0)
},
- array: [1, 2, 3]
+ array: [1, 2, 3],
+ map: new Map([['a', 1], ['b', 2]])
})
let dummy
- let arr
watch(
() => state,
state => {
- dummy = state.nested.count
- arr = state.array[2]
+ dummy = [state.nested.count, state.array[0], state.map.get('a')]
},
{ deep: true }
)
await nextTick()
- expect(dummy).toBe(0)
- expect(arr).toBe(3)
+ expect(dummy).toEqual([0, 1, 1])
state.nested.count++
await nextTick()
- expect(dummy).toBe(1)
- expect(arr).toBe(3)
+ expect(dummy).toEqual([1, 1, 1])
// nested array mutation
- state.array[2] = 4
+ state.array[0] = 2
await nextTick()
- expect(dummy).toBe(1)
- expect(arr).toBe(4)
+ expect(dummy).toEqual([1, 2, 1])
+
+ // nested map mutation
+ state.map.set('a', 2)
+ await nextTick()
+ expect(dummy).toEqual([1, 2, 2])
})
it('lazy', async () => {
} else if (defaultValue !== undefined) {
return defaultValue
} else if (__DEV__) {
- warn(`injection ${key} not found.`)
+ warn(`injection "${key}" not found.`)
}
}
}
export function warn(...args: any[]) {
// TODO
+ console.warn(...args)
}