From 494cb7ea4b2f5e9e243971ef74c8521a689268fe Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Fri, 25 Aug 2017 20:32:17 -0700 Subject: [PATCH] WIP Add test for ensuring that set/unset operations take place after load --- spec/config-spec.coffee | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/spec/config-spec.coffee b/spec/config-spec.coffee index be8e8bdfd..495ce031e 100644 --- a/spec/config-spec.coffee +++ b/spec/config-spec.coffee @@ -1756,3 +1756,34 @@ describe "Config", -> expect(atom.config.set('foo.bar.str_options', 'One')).toBe false expect(atom.config.get('foo.bar.str_options')).toEqual 'two' + describe "when .set/.unset is called prior to .loadUserConfig", -> + console.log 'this test' + beforeEach -> + fs.writeFileSync config.configFilePath, """ + '*': + foo: + bar: 'baz' + do: + ray: 'me' + """ + + it "ensures that all settings are loaded correctly", -> + console.log 'test start' + config.unset('foo.bar') + expect(config.save).not.toHaveBeenCalled() + config.set('foo.qux', 'boo') + expect(config.save).not.toHaveBeenCalled() + expect(config.get('foo.qux')).toBeUndefined() + expect(config.get('do.ray')).toBeUndefined() + + console.log 'loadUserConfig' + config.loadUserConfig() + + waitsFor -> config.get('foo.bar') is undefined + runs -> + expect(config.save).toHaveBeenCalled() + expect(config.get('foo.bar')).toBeUndefined() + expect(config.get('foo.qux')).toBe('boo') + expect(config.get('do.ray')).toBe('me') + + console.log 'end test'