From 765f223feff111fc67ea9774375e3e654ad7380d Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 11 Dec 2017 13:06:23 -0500 Subject: [PATCH] update docs and spec --- docs/api/system-preferences.md | 5 ++--- spec/api-system-preferences-spec.js | 28 ++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/docs/api/system-preferences.md b/docs/api/system-preferences.md index 8afee8ddb0..b6d6bc7ee4 100644 --- a/docs/api/system-preferences.md +++ b/docs/api/system-preferences.md @@ -110,10 +110,9 @@ Same as `unsubscribeNotification`, but removes the subscriber from `NSNotificati * `defaults` Object - a dictionary of (`key: value`) user defaults * `key` String - * `value` (String | Boolean | Number) - object of type `string`, `boolean`, `integer`, `float`, `double`, - `url`, `array`, or `dictionary`. + * `value` (String | Boolean | Int | Float | Double | Array | Dictionary) -Allows for registering of your application's preference defaults in `NSUserDefaults`. +Add the specified defaults to your application's `NSUserDefaults`. ### `systemPreferences.getUserDefault(key, type)` _macOS_ diff --git a/spec/api-system-preferences-spec.js b/spec/api-system-preferences-spec.js index be7820c916..8ac8deae61 100644 --- a/spec/api-system-preferences-spec.js +++ b/spec/api-system-preferences-spec.js @@ -35,32 +35,44 @@ describe('systemPreferences module', () => { }) }) - describe('systemPreferences.registerDefaults(defaults)', () => { + describe.only('systemPreferences.registerDefaults(defaults)', () => { before(function () { if (process.platform !== 'darwin') this.skip() }) it('registers defaults', () => { - const userDefaults = { + const defaultsDict = { 'one': 'ONE', - 'two': 'TWO', - 'three': 'THREE' + 'two': 2, + 'three': [1, 2, 3] } - systemPreferences.registerDefaults(userDefaults) + const defaultsMap = [ + { key: 'one', type: 'string', value: 'ONE' }, + { key: 'two', value: 2, type: 'integer' }, + { key: 'three', value: [1, 2, 3], type: 'array' } + ] - for (const [key, expectedValue] of Object.entries(userDefaults)) { - const actualValue = systemPreferences.getUserDefault(key, 'string') - assert.equal(actualValue, expectedValue) + systemPreferences.registerDefaults(defaultsDict) + + for (const def of defaultsMap) { + const [key, expectedValue, type] = [def.key, def.value, def.type] + const actualValue = systemPreferences.getUserDefault(key, type) + assert.deepEqual(actualValue, expectedValue) } }) it('throws when bad defaults are passed', () => { const badDefaults1 = { 'one': null } + //const badDefaults1 = { 'one': null } assert.throws(() => { systemPreferences.registerDefaults(badDefaults1) }, 'Invalid userDefault data provided') + // + // assert.throws(() => { + // systemPreferences.registerDefaults(badDefaults1) + // }, 'Invalid userDefault data provided') }) })