diff options
| -rw-r--r-- | background_scripts/exclusions.coffee | 2 | ||||
| -rw-r--r-- | tests/unit_tests/exclusion_test.coffee | 50 |
2 files changed, 18 insertions, 34 deletions
diff --git a/background_scripts/exclusions.coffee b/background_scripts/exclusions.coffee index f2dd14c8..467e5e70 100644 --- a/background_scripts/exclusions.coffee +++ b/background_scripts/exclusions.coffee @@ -15,7 +15,7 @@ RegexpCache = # The Exclusions class manages the exclusion rule setting. # An exclusion is an object with two attributes: pattern and passKeys. -# The exclusions are an array of such objects (because the order matters). +# The exclusions are an array of such objects. root.Exclusions = Exclusions = # Make RegexpCache, which is required on the page popup, accessible via the Exclusions object. diff --git a/tests/unit_tests/exclusion_test.coffee b/tests/unit_tests/exclusion_test.coffee index 25bd8125..b3ed7194 100644 --- a/tests/unit_tests/exclusion_test.coffee +++ b/tests/unit_tests/exclusion_test.coffee @@ -25,49 +25,33 @@ extend(global, require "../../background_scripts/main.js") # context "Excluded URLs and pass keys", - # These tests have no setup, they use the default values from settings.coffee. + setup -> + Exclusions.postUpdateHook( + [ + { pattern: "http*://mail.google.com/*", passKeys: "" } + { pattern: "http*://www.facebook.com/*", passKeys: "abab" } + { pattern: "http*://www.facebook.com/*", passKeys: "cdcd" } + { pattern: "http*://www.bbc.com/*", passKeys: "" } + { pattern: "http*://www.bbc.com/*", passKeys: "ab" } + ]) should "be disabled for excluded sites", -> - rule = isEnabledForUrl({ url: 'http://www.google.com/calendar/page' }) - assert.isFalse rule.isEnableForUrl + rule = isEnabledForUrl({ url: 'http://mail.google.com/calendar/page' }) + assert.isFalse rule.isEnabledForUrl assert.isFalse rule.passKeys - should "be enabled, but with pass keys", -> - rule = isEnabledForUrl({ url: 'https://www.facebook.com/something' }) - assert.isTrue rule.isEnabledForUrl + should "be disabled for excluded sites, one exclusion", -> + rule = isEnabledForUrl({ url: 'http://www.bbc.com/calendar/page' }) + assert.isFalse rule.isEnabledForUrl assert.isFalse rule.passKeys - addExclusionRule("http*://www.facebook.com/*","oO") + + should "be enabled, but with pass keys", -> rule = isEnabledForUrl({ url: 'https://www.facebook.com/something' }) assert.isTrue rule.isEnabledForUrl - assert.equal rule.passKeys, 'oO' + assert.equal rule.passKeys, 'abcd' should "be enabled", -> rule = isEnabledForUrl({ url: 'http://www.twitter.com/pages' }) assert.isTrue rule.isEnabledForUrl assert.isFalse rule.passKeys - should "add a new excluded URL", -> - rule = isEnabledForUrl({ url: 'http://www.example.com/page' }) - assert.isTrue rule.isEnabledForUrl - addExclusionRule("http://www.example.com*") - rule = isEnabledForUrl({ url: 'http://www.example.com/page' }) - assert.isFalse rule.isEnabledForUrl - assert.isFalse rule.passKeys - - should "add a new excluded URL with passkeys", -> - rule = isEnabledForUrl({ url: 'http://www.anotherexample.com/page' }) - assert.isTrue rule.isEnabledForUrl - addExclusionRule("http://www.anotherexample.com/*","jk") - rule = isEnabledForUrl({ url: 'http://www.anotherexample.com/page' }) - assert.isTrue rule.isEnabledForUrl - assert.equal rule.passKeys, 'jk' - - should "update an existing excluded URL with passkeys", -> - rule = isEnabledForUrl({ url: 'http://mail.google.com/page' }) - assert.isFalse rule.isEnabledForUrl - assert.isFalse rule.passKeys - addExclusionRule("http*://mail.google.com/*","jknp") - rule = isEnabledForUrl({ url: 'http://mail.google.com/page' }) - assert.isTrue rule.isEnabledForUrl - assert.equal rule.passKeys, 'jknp' - |
