mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Set config defaults for a package from its module's configDefaults
This commit is contained in:
@@ -396,8 +396,9 @@ describe "RootView", ->
|
||||
|
||||
beforeEach ->
|
||||
packageModule =
|
||||
deactivate: ->
|
||||
configDefaults: foo: { bar: 2, baz: 3 }
|
||||
activate: jasmine.createSpy("activate")
|
||||
deactivate: ->
|
||||
serialize: -> "it worked"
|
||||
|
||||
describe ".activatePackage(name, packageModule)", ->
|
||||
@@ -414,6 +415,13 @@ describe "RootView", ->
|
||||
expect(packageModule.activate).toHaveBeenCalledWith(newRootView, "it worked")
|
||||
newRootView.remove()
|
||||
|
||||
it "loads config defaults based on the `configDefaults` key", ->
|
||||
expect(config.get('foo.bar')).toBeUndefined()
|
||||
rootView.activatePackage('package', packageModule)
|
||||
config.set("package.foo.bar", 1)
|
||||
expect(config.get('package.foo.bar')).toBe 1
|
||||
expect(config.get('package.foo.baz')).toBe 3
|
||||
|
||||
describe ".deactivatePackage(packageName)", ->
|
||||
it "deactivates and removes the package module from the package module map", ->
|
||||
rootView.activatePackage('package', packageModule)
|
||||
|
||||
@@ -113,6 +113,7 @@ class RootView extends View
|
||||
when 'Editor' then Editor.deserialize(viewState, this)
|
||||
|
||||
activatePackage: (name, packageModule) ->
|
||||
config.setDefaults(name, packageModule.configDefaults) if packageModule.configDefaults?
|
||||
@packageModules[name] = packageModule
|
||||
packageModule.activate(this, @packageStates[name])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user