fix(spellcheck): add test for null navigator.language

This commit is contained in:
Evan Morikawa 2015-12-09 18:32:54 -05:00
parent a2c8145a75
commit 0187d92f25
2 changed files with 14 additions and 2 deletions

View file

@ -5,6 +5,14 @@ describe "NylasSpellchecker", ->
@spellchecker = NylasSpellchecker
@fullDictList = ["en_AU", "en_GB", "en_CA", "en_IN", "en", "da", "de", "es", "fr", "it", "Multilingual", "nl", "nb", "pt_BR", "pt_PT", "sv", "tr", "ru"]
it "can be passed a null language", ->
@spellchecker.setLanguage()
expect(@spellchecker.languageAvailable).toBe false
it "can be passed a null or empty language", ->
@spellchecker.setLanguage("")
expect(@spellchecker.languageAvailable).toBe false
it "accepts null languages", ->
expect(@spellchecker.isLanguageAvailable()).toBe false
@ -62,7 +70,7 @@ describe "NylasSpellchecker", ->
spyOn(@spellchecker, "_setWebframeSpellchecker")
@spellchecker.setLanguage("en-US")
it "sets `languageAvailable` to false", ->
it "sets `languageAvailable` to true", ->
expect(@spellchecker.languageAvailable).toBe true
it "it correctly says on the webframe when words are spelled correctly", ->

View file

@ -14,13 +14,17 @@ class NylasSpellchecker
isSpelledCorrectly: (args...) => not @isMisspelled(args...)
setLanguage: (lang) ->
setLanguage: (lang="") ->
@languageAvailable = @isLanguageAvailable(lang)
if @languageAvailable
spellCheck = @isSpelledCorrectly
else
spellCheck = -> true
# Need to default to a valid language so web-frame
# `setSpellCheckProvder` gets a non empty string
if lang.length is 0 then lang = "en-US"
@_setWebframeSpellchecker(lang, spellCheck)
spellchecker.setDictionary(lang)