Add failing spec for unknown user defaults
authorKevin Sawicki <kevinsawicki@gmail.com>
Thu, 17 Nov 2016 00:28:57 +0000 (16:28 -0800)
committerKevin Sawicki <kevinsawicki@gmail.com>
Mon, 21 Nov 2016 17:22:30 +0000 (09:22 -0800)
spec/api-system-preferences-spec.js

index e61ae72..e893a7c 100644 (file)
@@ -37,14 +37,26 @@ describe('systemPreferences module', function () {
     }
 
     it('returns values for known user defaults', function () {
-      let locale = systemPreferences.getUserDefault('AppleLocale', 'string')
-      assert.notEqual(locale, null)
+      const locale = systemPreferences.getUserDefault('AppleLocale', 'string')
+      assert.equal(typeof locale, 'string')
       assert(locale.length > 0)
 
-      let languages = systemPreferences.getUserDefault('AppleLanguages', 'array')
-      assert.notEqual(languages, null)
+      const languages = systemPreferences.getUserDefault('AppleLanguages', 'array')
+      assert(Array.isArray(languages))
       assert(languages.length > 0)
     })
+
+    it('returns values for unknown user defaults', function () {
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'boolean'), false)
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'integer'), 0)
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'float'), 0)
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'double'), 0)
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'string'), '')
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'url'), '')
+      assert.equal(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'badtype'), undefined)
+      assert.deepEqual(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'array'), [])
+      assert.deepEqual(systemPreferences.getUserDefault('UserDefaultDoesNotExist', 'dictionary'), {})
+    })
   })
 
   describe('systemPreferences.isInvertedColorScheme()', function () {