summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js')
-rw-r--r--toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js33
1 files changed, 31 insertions, 2 deletions
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js b/toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js
index 4ba120852f..ff87da1dde 100644
--- a/toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_dnr_dynamic_rules.js
@@ -414,10 +414,10 @@ add_task(async function test_save_and_load_dynamic_rules() {
browser.test.onMessage.addListener(async (msg, ...args) => {
switch (msg) {
case "assertGetDynamicRules": {
- const [{ expectedRules }] = args;
+ const [{ expectedRules, filter }] = args;
browser.test.assertDeepEq(
expectedRules,
- await dnr.getDynamicRules(),
+ await dnr.getDynamicRules(filter),
"getDynamicRules() resolves to the expected dynamic rules"
);
break;
@@ -503,6 +503,35 @@ add_task(async function test_save_and_load_dynamic_rules() {
expectedRules: getSchemaNormalizedRules(extension, rules),
});
+ info("Verify getDynamicRules with some filters");
+ // An empty list of rule IDs should return no rule.
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: [],
+ filter: { ruleIds: [] },
+ });
+ // Non-existent rule ID.
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: [],
+ filter: { ruleIds: [456] },
+ });
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: getSchemaNormalizedRules(extension, [rules[0]]),
+ filter: { ruleIds: [rules[0].id] },
+ });
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: getSchemaNormalizedRules(extension, [rules[1]]),
+ filter: { ruleIds: [rules[1].id] },
+ });
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: getSchemaNormalizedRules(extension, rules),
+ filter: { ruleIds: rules.map(rule => rule.id) },
+ });
+ // When `ruleIds` isn't defined, we return all the rules.
+ await callTestMessageHandler(extension, "assertGetDynamicRules", {
+ expectedRules: getSchemaNormalizedRules(extension, rules),
+ filter: {},
+ });
+
const extUUID = extension.uuid;
const dnrStore = ExtensionDNRStore._getStoreForTesting();
await dnrStore._savePromises.get(extUUID);