Skip to content
Permalink
Browse files

fix: warn when unregistering non existing module (#1786)

* fix: warn when unregistering non existing module

* refactor: store child as a variable and reuse it
  • Loading branch information
kiaking committed Jun 29, 2020
1 parent bab3155 commit 7cec79d339b874ec41f35891c891dfd27460c1d3
Showing with 23 additions and 1 deletion.
  1. +15 −1 src/module/module-collection.js
  2. +8 −0 test/unit/module/module-collection.spec.js
@@ -49,7 +49,21 @@ export default class ModuleCollection {
unregister (path) {
const parent = this.get(path.slice(0, -1))
const key = path[path.length - 1]
if (!parent.getChild(key).runtime) return
const child = parent.getChild(key)

if (!child) {
if (__DEV__) {
console.warn(
`[vuex] trying to unregister module '${key}', which is ` +
`not registered`
)
}
return
}

if (!child.runtime) {
return
}

parent.removeChild(key)
}
@@ -92,4 +92,12 @@ describe('ModuleCollection', () => {
collection.unregister(['a'])
expect(collection.get(['a']).state.value).toBe(true)
})

it('warns when unregistering non existing module', () => {
const spy = jest.spyOn(console, 'warn').mockImplementation()

const collection = new ModuleCollection({})
collection.unregister(['a'])
expect(spy).toHaveBeenCalled()
})
})

0 comments on commit 7cec79d

Please sign in to comment.