diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:49:12 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:49:12 -0500 |
commit | 4fb11cd5966461bccc3ed1599b808237be6b0de9 (patch) | |
tree | d7f0ccd49cebb3544d52635ff1bd6ed4d763823f /toolkit/mozapps/webextensions/test/xpcshell/data | |
parent | f164d9124708b50789dbb6959e1de96cc5697c48 (diff) | |
download | UXP-4fb11cd5966461bccc3ed1599b808237be6b0de9.tar UXP-4fb11cd5966461bccc3ed1599b808237be6b0de9.tar.gz UXP-4fb11cd5966461bccc3ed1599b808237be6b0de9.tar.lz UXP-4fb11cd5966461bccc3ed1599b808237be6b0de9.tar.xz UXP-4fb11cd5966461bccc3ed1599b808237be6b0de9.zip |
Move WebExtensions enabled Add-ons Manager
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/data')
172 files changed, 7801 insertions, 0 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/BootstrapMonitor.jsm b/toolkit/mozapps/webextensions/test/xpcshell/data/BootstrapMonitor.jsm new file mode 100644 index 000000000..7c1e4aa9d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/BootstrapMonitor.jsm @@ -0,0 +1,30 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); + +this.EXPORTED_SYMBOLS = [ "monitor" ]; + +function notify(event, originalMethod, data, reason) { + let info = { + event, + data: Object.assign({}, data, { + installPath: data.installPath.path, + resourceURI: data.resourceURI.spec, + }), + reason + }; + + let subject = {wrappedJSObject: {data}}; + + Services.obs.notifyObservers(subject, "bootstrapmonitor-event", JSON.stringify(info)); + + // If the bootstrap scope already declares a method call it + if (originalMethod) + originalMethod(data, reason); +} + +// Allows a simple one-line bootstrap script: +// Components.utils.import("resource://xpcshelldata/bootstrapmonitor.jsm").monitor(this); +this.monitor = function(scope) { + for (let event of ["install", "startup", "shutdown", "uninstall"]) { + scope[event] = notify.bind(null, event, scope[event]); + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_change.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_change.xml new file mode 100644 index 000000000..a229a653a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_change.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="softblock1@tests.mozilla.org"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="softblock2@tests.mozilla.org"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="softblock3@tests.mozilla.org"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="softblock4@tests.mozilla.org"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="softblock5@tests.mozilla.org"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="hardblock@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="3"/> + </emItem> + <!-- Two RegExp matches, so test flags work - first shouldn't match. --> + <emItem id="/^RegExp/"> + <versionRange severity="1" minVersion="2" maxVersion="3"/> + </emItem> + <emItem id="/^RegExp/i"> + <versionRange severity="2" minVersion="2" maxVersion="3"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update1.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update1.rdf new file mode 100644 index 000000000..588290968 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update1.rdf @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <RDF:Description about="urn:mozilla:extension:softblock1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft1_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft2_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft3_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock4@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft4_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:theme:softblock5@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft5_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:hardblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_hard1_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:regexpblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_regexp1_2.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update2.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update2.rdf new file mode 100644 index 000000000..5c3747f5f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update2.rdf @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <RDF:Description about="urn:mozilla:extension:softblock1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft1_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft2_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft3_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock4@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft4_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:theme:softblock5@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft5_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:hardblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_hard1_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:regexpblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>3</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_regexp1_3.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update3.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update3.rdf new file mode 100644 index 000000000..d60708414 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/addon_update3.rdf @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <RDF:Description about="urn:mozilla:extension:softblock1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft1_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft2_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft3_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:softblock4@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft4_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:theme:softblock5@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_soft5_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:hardblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_hard1_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:regexpblock@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>4</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>*</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/blocklist_regexp1_1.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/app_update.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/app_update.xml new file mode 100644 index 000000000..85a66fe55 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/app_update.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="softblock1@tests.mozilla.org"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="softblock2@tests.mozilla.org"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="softblock3@tests.mozilla.org"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="softblock4@tests.mozilla.org"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="softblock5@tests.mozilla.org"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="hardblock@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="/^RegExp/"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="/^RegExp/i"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update1.xml new file mode 100644 index 000000000..87011cd39 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update1.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"/> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update2.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update2.xml new file mode 100644 index 000000000..867a34255 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/blocklist_update2.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="softblock1@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="softblock2@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="softblock3@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="softblock4@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="softblock5@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="hardblock@tests.mozilla.org"/> + <emItem id="/^RegExp/"> + <versionRange severity="1"/> + </emItem> + <emItem id="/^RegExp/i"/> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/manual_update.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/manual_update.xml new file mode 100644 index 000000000..df9276525 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/blocklistchange/manual_update.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="softblock1@tests.mozilla.org"> + <versionRange severity="1" minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="softblock2@tests.mozilla.org"> + <versionRange severity="1" minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="softblock3@tests.mozilla.org"> + <versionRange severity="1" minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="softblock4@tests.mozilla.org"> + <versionRange severity="1" minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="softblock5@tests.mozilla.org"> + <versionRange severity="1" minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="hardblock@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="2"/> + </emItem> + <emItem id="/^RegExp/i"> + <versionRange minVersion="1" maxVersion="2"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_block.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_block.xml new file mode 100644 index 000000000..1f673ef2f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_block.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="test_bug455906_1@tests.mozilla.org" blockID="test_bug455906_1@tests.mozilla.org"/> + <emItem id="test_bug455906_2@tests.mozilla.org" blockID="test_bug455906_2@tests.mozilla.org"/> + <emItem id="test_bug455906_3@tests.mozilla.org" blockID="test_bug455906_3@tests.mozilla.org"/> + <emItem id="test_bug455906_4@tests.mozilla.org" blockID="test_bug455906_4@tests.mozilla.org"/> + <emItem id="test_bug455906_5@tests.mozilla.org" blockID="test_bug455906_5@tests.mozilla.org"/> + <emItem id="test_bug455906_6@tests.mozilla.org" blockID="test_bug455906_6@tests.mozilla.org"/> + <emItem id="test_bug455906_7@tests.mozilla.org" blockID="test_bug455906_7@tests.mozilla.org"/> + </emItems> + <pluginItems> + <pluginItem blockID="test_bug455906_plugin"> + <match name="name" exp="^test_bug455906"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_empty.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_empty.xml new file mode 100644 index 000000000..88d22f281 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_empty.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="dummy_bug455906_2@tests.mozilla.org"/> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_start.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_start.xml new file mode 100644 index 000000000..daba6f4c1 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_start.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="test_bug455906_4@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_5@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + <emItem id="test_bug455906_6@tests.mozilla.org"> + <versionRange severity="2"/> + </emItem> + <emItem id="dummy_bug455906_1@tests.mozilla.org"/> + </emItems> + <pluginItems> + <pluginItem> + <match name="name" exp="^test_bug455906_4$"/> + <versionRange severity="0"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug455906_5$"/> + <versionRange severity="1"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug455906_6$"/> + <versionRange severity="2"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_warn.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_warn.xml new file mode 100644 index 000000000..232fd0d07 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/bug455906_warn.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="test_bug455906_1@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_2@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_3@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_4@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_5@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_6@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + <emItem id="test_bug455906_7@tests.mozilla.org"> + <versionRange severity="-1"/> + </emItem> + </emItems> + <pluginItems> + <pluginItem> + <match name="name" exp="^test_bug455906"/> + <versionRange severity="-1"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/corrupt.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/corrupt.xpi new file mode 100644 index 000000000..35d7bd5e5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/corrupt.xpi @@ -0,0 +1 @@ +This is a corrupt zip file diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/corruptfile.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/corruptfile.xpi Binary files differnew file mode 100644 index 000000000..0c30989aa --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/corruptfile.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/empty.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/empty.xpi Binary files differnew file mode 100644 index 000000000..74ed2b817 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/empty.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/bootstrap.js new file mode 100644 index 000000000..1666f2972 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/bootstrap.js @@ -0,0 +1 @@ +Components.utils.import("resource://xpcshell-data/BootstrapMonitor.jsm").monitor(this); diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/install.rdf new file mode 100644 index 000000000..f02a3869c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/from_sources/install.rdf @@ -0,0 +1,28 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>bootstrap1@tests.mozilla.org</em:id> + <em:version>1.0</em:version> + <em:bootstrap>true</em:bootstrap> + + <!-- Front End MetaData --> + <em:name>Test Bootstrap 1</em:name> + <em:description>Test Description</em:description> + + <em:iconURL>chrome://foo/skin/icon.png</em:iconURL> + <em:aboutURL>chrome://foo/content/about.xul</em:aboutURL> + <em:optionsURL>chrome://foo/content/options.xul</em:optionsURL> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/pluginInfoURL_block.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/pluginInfoURL_block.xml new file mode 100644 index 000000000..75e252a46 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/pluginInfoURL_block.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + </emItems> + <pluginItems> + <pluginItem blockID="test_plugin_wInfoURL"> + <match name="name" exp="^test_with_infoURL"/> + <match name="version" exp="^5"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="*"/> + </targetApplication> + </versionRange> + <infoURL>http://test.url.com/</infoURL> + </pluginItem> + <pluginItem blockID="test_plugin_wAltInfoURL"> + <match name="name" exp="^test_with_altInfoURL"/> + <match name="version" exp="^5"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="*"/> + </targetApplication> + </versionRange> + <infoURL>http://alt.test.url.com/</infoURL> + </pluginItem> + <pluginItem blockID="test_plugin_noInfoURL"> + <match name="name" exp="^test_no_infoURL"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="*"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem blockID="test_plugin_newVersion"> + <match name="name" exp="^test_newVersion"/> + <infoURL>http://test.url2.com/</infoURL> + <versionRange minVersion="1" maxVersion="2"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="*"/> + </targetApplication> + </versionRange> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.txt new file mode 100644 index 000000000..f17f98b15 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.txt @@ -0,0 +1 @@ +Not an xml file!
\ No newline at end of file diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.xml new file mode 100644 index 000000000..0e3d415c4 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<foobar></barfoo>
\ No newline at end of file diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad2.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad2.xml new file mode 100644 index 000000000..55ad1c7d5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/bad2.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<test></test> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/empty.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/empty.xml new file mode 100644 index 000000000..42cb20bd0 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/empty.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<updates> + <addons></addons> +</updates> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/good.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/good.xml new file mode 100644 index 000000000..e1da86fa5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/good.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<updates> + <addons> + <addon id="test1" URL="http://example.com/test1.xpi"/> + <addon id="test2" URL="http://example.com/test2.xpi" hashFunction="md5" hashValue="djhfgsjdhf"/> + <addon id="test3" URL="http://example.com/test3.xpi" version="1.0" size="45"/> + <addon id="test4"/> + <addon URL="http://example.com/test5.xpi"/> + </addons> +</updates> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/missing.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/missing.xml new file mode 100644 index 000000000..8c9501478 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/missing.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<updates></updates> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/unsigned.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/unsigned.xpi Binary files differnew file mode 100644 index 000000000..51b00475a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/productaddons/unsigned.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/bootstrap.js new file mode 100644 index 000000000..0cf01d319 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/bootstrap.js @@ -0,0 +1,29 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); + +const VERSION = 1; + +// Test steps chain from pref observers on *_reason, +// so always set that last +function install(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", VERSION); + Services.prefs.setIntPref("bootstraptest.install_oldversion", data.oldVersion); + Services.prefs.setIntPref("bootstraptest.install_reason", reason); +} + +function startup(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", VERSION); + Services.prefs.setIntPref("bootstraptest.startup_oldversion", data.oldVersion); + Services.prefs.setIntPref("bootstraptest.startup_reason", reason); +} + +function shutdown(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", 0); + Services.prefs.setIntPref("bootstraptest.shutdown_newversion", data.newVersion); + Services.prefs.setIntPref("bootstraptest.shutdown_reason", reason); +} + +function uninstall(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", 0); + Services.prefs.setIntPref("bootstraptest.uninstall_newversion", data.newVersion); + Services.prefs.setIntPref("bootstraptest.uninstall_reason", reason); +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/install.rdf new file mode 100644 index 000000000..9d08c357c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/install.rdf @@ -0,0 +1,24 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>test@tests.mozilla.org</em:id> + <em:version>1.0</em:version> + <em:bootstrap>true</em:bootstrap> + + <!-- Front End MetaData --> + <em:name>Test Add-on</em:name> + <em:updateURL>http://localhost:4444/update.rdf</em:updateURL> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>5</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/test.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/test.txt new file mode 100644 index 000000000..11686f61c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_1/test.txt @@ -0,0 +1 @@ +This test file can be altered to break signing checks. diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/bootstrap.js new file mode 100644 index 000000000..718c82be4 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/bootstrap.js @@ -0,0 +1,29 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); + +const VERSION = 2; + +// Test steps chain from pref observers on *_reason, +// so always set that last +function install(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", VERSION); + Services.prefs.setIntPref("bootstraptest.install_oldversion", data.oldVersion); + Services.prefs.setIntPref("bootstraptest.install_reason", reason); +} + +function startup(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", VERSION); + Services.prefs.setIntPref("bootstraptest.startup_oldversion", data.oldVersion); + Services.prefs.setIntPref("bootstraptest.startup_reason", reason); +} + +function shutdown(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", 0); + Services.prefs.setIntPref("bootstraptest.shutdown_newversion", data.newVersion); + Services.prefs.setIntPref("bootstraptest.shutdown_reason", reason); +} + +function uninstall(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", 0); + Services.prefs.setIntPref("bootstraptest.uninstall_newversion", data.newVersion); + Services.prefs.setIntPref("bootstraptest.uninstall_reason", reason); +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/install.rdf new file mode 100644 index 000000000..0a345dd92 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/install.rdf @@ -0,0 +1,24 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>test@tests.mozilla.org</em:id> + <em:version>2.0</em:version> + <em:bootstrap>true</em:bootstrap> + + <!-- Front End MetaData --> + <em:name>Test Add-on</em:name> + <em:updateURL>http://localhost:4444/update.rdf</em:updateURL> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>4</em:minVersion> + <em:maxVersion>6</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/test.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/test.txt new file mode 100644 index 000000000..11686f61c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/bootstrap_2/test.txt @@ -0,0 +1 @@ +This test file can be altered to break signing checks. diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_badid.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_badid.xpi Binary files differnew file mode 100644 index 000000000..9d6f0c708 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_badid.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_broken.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_broken.xpi Binary files differnew file mode 100644 index 000000000..4496a90cf --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_broken.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_good.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_good.xpi Binary files differnew file mode 100644 index 000000000..e61e3c721 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/hotfix_good.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_hash.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_hash.xpi Binary files differnew file mode 100644 index 000000000..1682a7506 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_hash.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_plain.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_plain.xpi Binary files differnew file mode 100644 index 000000000..cd67e25fc --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_63_plain.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_hash.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_hash.xpi Binary files differnew file mode 100644 index 000000000..e4040a274 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_hash.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_plain.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_plain.xpi Binary files differnew file mode 100644 index 000000000..ca453b9d5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_64_plain.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_65_hash.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_65_hash.xpi Binary files differnew file mode 100644 index 000000000..69579d2dc --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/long_65_hash.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_badid.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_badid.xpi Binary files differnew file mode 100644 index 000000000..6e23eb214 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_badid.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_broken.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_broken.xpi Binary files differnew file mode 100644 index 000000000..0ba0f30d1 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_broken.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_signed.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_signed.xpi Binary files differnew file mode 100644 index 000000000..33101f63c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_signed.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_unsigned.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_unsigned.xpi Binary files differnew file mode 100644 index 000000000..3146870d8 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/multi_unsigned.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/install.rdf new file mode 100644 index 000000000..97ae60988 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/install.rdf @@ -0,0 +1,23 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>test@tests.mozilla.org</em:id> + <em:version>1.0</em:version> + + <!-- Front End MetaData --> + <em:name>Test Add-on</em:name> + <em:updateURL>http://localhost:4444/update.rdf</em:updateURL> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>5</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/test.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/test.txt new file mode 100644 index 000000000..11686f61c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_1/test.txt @@ -0,0 +1 @@ +This test file can be altered to break signing checks. diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/install.rdf new file mode 100644 index 000000000..df2fd8081 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/install.rdf @@ -0,0 +1,23 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>test@tests.mozilla.org</em:id> + <em:version>2.0</em:version> + + <!-- Front End MetaData --> + <em:name>Test Add-on</em:name> + <em:updateURL>http://localhost:4444/update.rdf</em:updateURL> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>4</em:minVersion> + <em:maxVersion>6</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/test.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/test.txt new file mode 100644 index 000000000..11686f61c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/nonbootstrap_2/test.txt @@ -0,0 +1 @@ +This test file can be altered to break signing checks. diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/preliminary_bootstrap_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/preliminary_bootstrap_2.xpi Binary files differnew file mode 100644 index 000000000..ec38fcc65 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/preliminary_bootstrap_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_1.xpi Binary files differnew file mode 100644 index 000000000..fc2842399 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_2.xpi Binary files differnew file mode 100644 index 000000000..327c8a187 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_badid_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_badid_2.xpi Binary files differnew file mode 100644 index 000000000..efad21d1b --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_bootstrap_badid_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_2.xpi Binary files differnew file mode 100644 index 000000000..d6ddbcec3 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_badid_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_badid_2.xpi Binary files differnew file mode 100644 index 000000000..5898d83e4 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/signed_nonbootstrap_badid_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_bootstrap_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_bootstrap_2.xpi Binary files differnew file mode 100644 index 000000000..9d50f0825 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_bootstrap_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_nonbootstrap_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_nonbootstrap_2.xpi Binary files differnew file mode 100644 index 000000000..6ba1efd72 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/signing_checks/unsigned_nonbootstrap_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/bootstrap.js new file mode 100644 index 000000000..1666f2972 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/bootstrap.js @@ -0,0 +1 @@ +Components.utils.import("resource://xpcshell-data/BootstrapMonitor.jsm").monitor(this); diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1.xpi Binary files differnew file mode 100644 index 000000000..2fc2fd189 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi Binary files differnew file mode 100644 index 000000000..e7e50c8ea --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_2.xpi Binary files differnew file mode 100644 index 000000000..a858cf74a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system1_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_1.xpi Binary files differnew file mode 100644 index 000000000..911632e49 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_2.xpi Binary files differnew file mode 100644 index 000000000..102a053bb --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_3.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_3.xpi Binary files differnew file mode 100644 index 000000000..295e77611 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system2_3.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_1.xpi Binary files differnew file mode 100644 index 000000000..954995619 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_2.xpi Binary files differnew file mode 100644 index 000000000..dc8632aef --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_3.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_3.xpi Binary files differnew file mode 100644 index 000000000..3f818172a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system3_3.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system4_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system4_1.xpi Binary files differnew file mode 100644 index 000000000..1f70b1a75 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system4_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system5_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system5_1.xpi Binary files differnew file mode 100644 index 000000000..fc636e97f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system5_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_1_unpack.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_1_unpack.xpi Binary files differnew file mode 100644 index 000000000..ff620966d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_1_unpack.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_2_notBootstrap.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_2_notBootstrap.xpi Binary files differnew file mode 100644 index 000000000..e474dbd59 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_2_notBootstrap.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_3_notMultiprocess.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_3_notMultiprocess.xpi Binary files differnew file mode 100644 index 000000000..1ccde90c5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system6_3_notMultiprocess.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete.xpi Binary files differnew file mode 100644 index 000000000..94d9e47d2 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete_2.xpi Binary files differnew file mode 100644 index 000000000..28c8561c6 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_complete_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer.xpi Binary files differnew file mode 100644 index 000000000..daf55c0d4 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_2.xpi Binary files differnew file mode 100644 index 000000000..75cacbbc8 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also.xpi Binary files differnew file mode 100644 index 000000000..2eb6b7fc9 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also_2.xpi Binary files differnew file mode 100644 index 000000000..fb588b3e0 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_defer_also_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore.xpi Binary files differnew file mode 100644 index 000000000..7a5eb265d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore_2.xpi Binary files differnew file mode 100644 index 000000000..dc6749355 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_delay_ignore_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_failed_update.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_failed_update.xpi Binary files differnew file mode 100644 index 000000000..3c673ac2e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/system_addons/system_failed_update.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository.xml new file mode 100644 index 000000000..0bebca2c1 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository.xml @@ -0,0 +1,820 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="1111"> + <!-- Passes all requirements --> + <addon> + <name>PASS</name> + <type id="1">Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.1</version> + <authors> + <author> + <name>Test Creator 1</name> + <link>http://localhost:%PORT%/creator1.html</link> + </author> + </authors> + <status id="8">Preliminarily Reviewed</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <!-- Test that a negative rating is ignored --> + <rating>-2</rating> + <!-- Test that a <reviews> with a blank review URL is ignored --> + <reviews num=" 1111 "> </reviews> + <!-- Test that a negative total_downloads is ignored --> + <total_downloads>-2</total_downloads> + <install>http://localhost:%PORT%/test1.xpi</install> + </addon> + + <!-- Passes requirements. Tests optional attributes. Also tests that + integer properties that are NaN in the XML are ignored --> + <addon> + <name>PASS</name> + <!-- Test that extensions pass --> + <type id="1">Extension</type> + <guid>test2@tests.mozilla.org</guid> + <version>1.2</version> + <authors> + <!-- Test that the first author becomes the creator, + and the second one is a developer --> + <author> + <name>Test Creator 2</name> + <link>http://localhost:%PORT%/creator2.html</link> + </author> + <author> + <name>Test Developer 2</name> + <link>http://localhost:%PORT%/developer2.html</link> + </author> + </authors> + <summary><h1>Test Summary 2</h1><p>paragraph</p></summary> + <description>Test Description 2<br>newline</description> + <developer_comments>Test Developer + Comments 2</developer_comments> + <eula>Test EULA 2</eula> + <icon size="64">http://localhost:%PORT%/icon2-64.png</icon> + <icon size="48">http://localhost:%PORT%/icon2-48.png</icon> + <icon size="32">http://localhost:%PORT%/icon2-32.png</icon> + <status id="4">Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <!-- Test that multiple preview images are correctly parsed --> + <previews> + <preview primary="0"> + <full type="image/png">http://localhost:%PORT%/full1-2.png</full> + <thumbnail type="image/png">http://localhost:%PORT%/thumbnail1-2.png</thumbnail> + </preview> + <preview primary="0"> + <full type="image/png">http://localhost:%PORT%/full2-2.png</full> + <thumbnail type="image/png">http://localhost:%PORT%/thumbnail2-2.png</thumbnail> + <caption>Caption 2</caption> + </preview> + </previews> + <rating>NaN</rating> + <!-- Test that learnmore is used as the add-on's homepageURL + if there is no homepage defined --> + <learnmore>http://localhost:%PORT%/learnmore2.html</learnmore> + <homepage/> + <support>http://localhost:%PORT%/support2.html</support> + <contribution_data> + <link>http://localhost:%PORT%/contribution2.html</link> + <meet_developers>http://localhost:%PORT%/meetDevelopers2.html</meet_developers> + </contribution_data> + <reviews num="NaN">http://localhost:%PORT%/review2.html</reviews> + <total_downloads>NaN</total_downloads> + <weekly_downloads>NaN</weekly_downloads> + <daily_users>NaN</daily_users> + <last_updated epoch="NaN">Not an acual date</last_updated> + <install size="NaN" os="ALL">http://localhost:%PORT%/test2.xpi</install> + </addon> + + <!-- Passes requirements. Tests optional attributes with extra whitespace. --> + <addon> + <name> PASS </name> + <!-- Test that themes pass --> + <type id=" 2 ">Theme</type> + <guid> test3@tests.mozilla.org </guid> + <version> 1.3 </version> + <authors> + <!-- Test that authors with blank names are ignored --> + <author> + <name> </name> + <link> http://localhost:%PORT%/ignore3.html </link> + </author> + <!-- Test that authors with blank links are ignored --> + <author> + <name> Test Creator Ignore </name> + <link> </link> + </author> + <author> + <name> Test Creator 3 </name> + <link> http://localhost:%PORT%/creator3.html </link> + </author> + <author> + <name> First Test Developer 3 </name> + <link> http://localhost:%PORT%/developer1-3.html </link> + </author> + <author> + <name> </name> + <link> </link> + </author> + <author> + <name> Second Test Developer 3 </name> + <link> http://localhost:%PORT%/developer2-3.html </link> + </author> + </authors> + <summary> Test Summary 3 </summary> + <description> Test Description 3<br><ul><li>List item 1<li>List item 2</ul> </description> + <developer_comments> Test Developer Comments 3 </developer_comments> + <eula> Test EULA 3 </eula> + <icon size="32"> http://localhost:%PORT%/icon3.png </icon> + <status id=" 8 ">Preliminarily Reviewed</status> + <!-- Test that an incompatible + compatible application list passes --> + <compatible_applications> + <application> + <appID> unknown@tests.mozilla.org </appID> + <min_version> 1 </min_version> + <max_version> 1 </max_version> + </application> + <application> + <appID> xpcshell@tests.mozilla.org </appID> + <min_version> 1 </min_version> + <max_version> 1 </max_version> + </application> + </compatible_applications> + <!-- Test that primary images appear first in the add-on's screenshots array --> + <previews> + <preview primary=" 0 "> + <full type=" image/png "> http://localhost:%PORT%/full2-3.png </full> + <caption> Caption 2 - 3 </caption> + </preview> + <!-- Test that a preview without a <full> element is ignored --> + <preview primary=" 0 "> + <caption> Caption ignore - 3 </caption> + </preview> + <!-- Test that a preview with an empty <full> element is ignored --> + <preview primary=" 0 "> + <full type=" image/png "> </full> + <caption> Caption ignore - 3 </caption> + <preview primary=" 1 "> + <full type=" image/png "> http://localhost:%PORT%/full1-3.png </full> + <thumbnail type=" image/png "> http://localhost:%PORT%/thumbnail1-3.png </thumbnail> + <caption> Caption 1 - 3 </caption> + </preview> + <preview primary=" 0 "> + <full type=" image/png "> http://localhost:%PORT%/full3-3.png </full> + <thumbnail type=" image/png "> http://localhost:%PORT%/thumbnail3-3.png </thumbnail> + <caption> Caption 3 - 3 </caption> + </preview> + </preview> + </previews> + <!-- Test that a rating between 1 and 5 is correctly parsed --> + <rating> 2 </rating> + <!-- Test that hompage is used as the add-on's homepageURL + even if learnmore is defined --> + <learnmore> http://localhost:%PORT%/learnmore3.html </learnmore> + <homepage> http://localhost:%PORT%/homepage3.html </homepage> + <support> http://localhost:%PORT%/support3.html </support> + <contribution_data> + <link> http://localhost:%PORT%/contribution3.html </link> + <suggested_amount currency="USD"> $11.11 </suggested_amount> + <meet_developers> http://localhost:%PORT%/meetDevelopers3.html </meet_developers> + </contribution_data> + <reviews num=" 1111 "> http://localhost:%PORT%/review3.html </reviews> + <total_downloads> 2222 </total_downloads> + <weekly_downloads> 3333 </weekly_downloads> + <daily_users> 4444 </daily_users> + <last_updated epoch=" 1265033045 "> 2010-02-01T14:04:05Z </last_updated> + <!-- Test that an incompatible install is ignored --> + <install size=" 9999 " os=" UNKNOWN "> http://localhost:%PORT%/fail3.xpi </install> + <!-- Test that OS matching is case-insensitive --> + <install size=" 5555 " os=" xpCShell " hash=" sha1:c26f0b0d62e5dcddcda95074d3f3fedb9bbc26e3 "> http://localhost:%PORT%/test3.xpi </install> + </addon> + + <!-- Fails because name is undefined --> + <addon> + <type id="1">Extension</type> + <guid>test4@tests.mozilla.org</guid> + <version>1.4</version> + <authors><author><name>Test Creator 4</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined name should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test4.xpi</install> + </addon> + + <!-- Fails because name is empty--> + <addon> + <name> </name> + <type id="1">Extension</type> + <guid>test5@tests.mozilla.org</guid> + <version>1.5</version> + <authors><author><name>Test Creator 5</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with empty name should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test5.xpi</install> + </addon> + + <!-- Fails because type is undefined --> + <addon> + <name>FAIL</name> + <guid>test6@tests.mozilla.org</guid> + <version>1.6</version> + <authors><author><name>Test Creator 6</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined type should be ignored</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test6.xpi</install> + </addon> + + <!-- Fails because type is empty --> + <addon> + <name>FAIL</name> + <type id="">Empty id attribute</type> + <guid>test7@tests.mozilla.org</guid> + <version>1.7</version> + <authors><author><name>Test Creator 7</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with empty type should be ignored</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test7.xpi</install> + </addon> + + <!-- Fails because type is unknown --> + <addon> + <name>FAIL</name> + <type id="9999">Unknown</type> + <guid>test8@tests.mozilla.org</guid> + <version>1.8</version> + <authors><author><name>Test Creator 8</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with unknown type should be ignored</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test8.xpi</install> + </addon> + + <!-- Fails because guid is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <version>1.9</version> + <authors><author><name>Test Creator 9</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined guid should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test9.xpi</install> + </addon> + + <!-- Fails because guid is empty --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid> </guid> + <version>1.10</version> + <authors><author><name>Test Creator 10</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with empty guid should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test10.xpi</install> + </addon> + + <!-- Fails because guid matches previously successful result --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.11</version> + <authors><author><name>Test Creator 11</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with a guid that matches a previously successful result should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test11.xpi</install> + </addon> + + <!-- Fails because guid matches already installed add-on --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test_AddonRepository_1@tests.mozilla.org</guid> + <version>1.12</version> + <authors><author><name>Test Creator 12</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with a guid that matches an installed Addon should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test12.xpi</install> + </addon> + + <!-- Fails because version is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test13@tests.mozilla.org</guid> + <authors><author><name>Test Creator 13</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test13.xpi</install> + </addon> + + <!-- Fails because version is empty --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test14@tests.mozilla.org</guid> + <version> </version> + <authors><author><name>Test Creator 14</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with empty version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test14.xpi</install> + </addon> + + <!-- Fails because authors undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test15@tests.mozilla.org</guid> + <version>1.15</version> + <status id="4">Public</status> + <summary>Add-on with undefined authors should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test15.xpi</install> + </addon> + + <!-- Fails because it has no defined author elements --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test16@tests.mozilla.org</guid> + <version>1.16</version> + <authors></authors> + <status id="4">Public</status> + <summary>Add-on with no defined author elements should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test16.xpi</install> + </addon> + + <!-- Fails because no non-empty author elements --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test17@tests.mozilla.org</guid> + <version>1.17</version> + <authors> + <author><name></name></author> + <author><name></name> </author> + </authors> + <status id="4">Public</status> + <summary>Add-on with no non-empty author elements should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test17.xpi</install> + </addon> + + <!-- Fails because status is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test18@tests.mozilla.org</guid> + <version>1.18</version> + <authors><author><name>Test Creator 18</name></author></authors> + <summary>Add-on with undefined status should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test18.xpi</install> + </addon> + + <!-- Fails because status is not Public --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test19@tests.mozilla.org</guid> + <version>1.19</version> + <authors><author><name>Test Creator 19</name></author></authors> + <status id="9999">Unknown</status> + <summary>Add-on with non-Public status should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test19.xpi</install> + </addon> + + <!-- Fails because compatible_applications is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test20@tests.mozilla.org</guid> + <version>1.20</version> + <authors><author><name>Test Creator 20</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined compatible_applications should be ignored.</summary> + <install>http://localhost:%PORT%/test20.xpi</install> + </addon> + + <!-- Fails because no compatible applications matched --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test21@tests.mozilla.org</guid> + <version>1.21</version> + <authors><author><name>Test Creator 21</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with no compatible applications should be ignored.</summary> + <compatible_applications> + <application> + <appID>unknown@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test21.xpi</install> + </addon> + + <!-- Fails because compatible application's min version is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test22@tests.mozilla.org</guid> + <version>1.22</version> + <authors><author><name>Test Creator 22</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with too high of a compatible application min version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <max_version>2.0</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test22.xpi</install> + </addon> + + <!-- Fails because compatible application's min version too high --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test23@tests.mozilla.org</guid> + <version>1.23</version> + <authors><author><name>Test Creator 23</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with too high of a compatible application min version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1.1</min_version> + <max_version>2.0</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test23.xpi</install> + </addon> + + <!-- Fails because compatible application's max version is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test24@tests.mozilla.org</guid> + <version>1.24</version> + <authors><author><name>Test Creator 24</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with too low of a compatible application max version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.9</min_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test24.xpi</install> + </addon> + + <!-- Fails because compatible application's max version is too low --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test25@tests.mozilla.org</guid> + <version>1.25</version> + <authors><author><name>Test Creator 25</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with too low of a compatible application max version should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.9</min_version> + <max_version>0.9.9</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test25.xpi</install> + </addon> + + <!-- Fails because XPI URL is undefined --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test26@tests.mozilla.org</guid> + <version>1.26</version> + <authors><author><name>Test Creator 26</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with undefined XPI URL should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + </addon> + + <!-- Fails because XPI URL is empty --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test27@tests.mozilla.org</guid> + <version>1.27</version> + <authors><author><name>Test Creator 27</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with an empty XPI URL should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install> </install> + </addon> + + <!-- Fails because install not compatible with OS --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test28@tests.mozilla.org</guid> + <version>1.28</version> + <authors><author><name>Test Creator 28</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with no installs with compatible OS should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install os="UNKNOWN1">http://localhost:%PORT%/test28.xpi</install> + <install os="UNKNOWN2">http://localhost:%PORT%/test28.xpi</install> + </addon> + + <!-- Fails because XPI URL matches an installing AddonInstall --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test29@tests.mozilla.org</guid> + <version>1.29</version> + <authors><author><name>Test Creator 29</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with an XPI URL that matches an installing AddonInstall should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/addons/test_AddonRepository_2.xpi</install> + </addon> + + <!-- Passes because the add-on has the right payment info --> + <addon> + <name>PASS</name> + <type id="1">Extension</type> + <guid>purchase1@tests.mozilla.org</guid> + <version>2.0</version> + <authors> + <author> + <name>Test Creator - Last Passing</name> + <link>http://localhost:%PORT%/creatorLastPassing.html</link> + </author> + </authors> + <status id="4">Public</status> + <all_compatible_os> + <os>ALL</os> + </all_compatible_os> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <rating>5</rating> + <payment_data> + <link>http://localhost:%PORT%/purchaseURL1</link> + <amount amount="5">$5</amount> + </payment_data> + </addon> + + <!-- Passes because the add-on has the right payment info --> + <addon> + <name>PASS</name> + <type id="1">Extension</type> + <guid>purchase2@tests.mozilla.org</guid> + <version>2.0</version> + <authors> + <author> + <name>Test Creator - Last Passing</name> + <link>http://localhost:%PORT%/creatorLastPassing.html</link> + </author> + </authors> + <status id="4">Public</status> + <all_compatible_os> + <os>XPCShell</os> + </all_compatible_os> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <rating>5</rating> + <payment_data> + <link>http://localhost:%PORT%/purchaseURL2</link> + <amount amount="10.0">$10</amount> + </payment_data> + </addon> + + <!-- Fails because the add-on doesn't match the platform --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>purchase3@tests.mozilla.org</guid> + <version>2.0</version> + <authors> + <author> + <name>Test Creator - Last Passing</name> + <link>http://localhost:%PORT%/creatorLastPassing.html</link> + </author> + </authors> + <status id="4">Public</status> + <all_compatible_os> + <os>FOO</os> + </all_compatible_os> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <rating>5</rating> + <payment_data> + <link>http://localhost:%PORT%/purchaseURL3</link> + <amount amount="10">$10</amount> + </payment_data> + </addon> + + <!-- Passes because the Addon that has a matching XPI URL + has a state = STATE_AVAILABLE (non-active install). This is the + last passing add-on. --> + <addon> + <name>PASS</name> + <type id="1">Extension</type> + <guid>test-lastPassing@tests.mozilla.org</guid> + <version>2.0</version> + <authors> + <author> + <name>Test Creator - Last Passing</name> + <link>http://localhost:%PORT%/creatorLastPassing.html</link> + </author> + </authors> + <status id="4">Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <!-- Test that a rating > 5 becomes a rating = 5 --> + <rating>10</rating> + <install>http://localhost:%PORT%/addons/test_AddonRepository_3.xpi</install> + </addon> + + <!-- Fails because of MAX_RESULTS limit. The previous <addon> should + be the last passing add-on in order to correctly test the limit. --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test-surpassesLimit@tests.mozilla.org</guid> + <version>9.9</version> + <authors><author><name>Test Creator - Surpasses Limit</name></author></authors> + <status id="4">Public</status> + <summary>Add-on should not be added because doing so would surpass MAX_RESULTS limit</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test-surpassesLimit.xpi</install> + </addon> +</searchresults> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_cache.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_cache.xml new file mode 100644 index 000000000..f707f1217 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_cache.xml @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="1111"> + <addon> + <name>Repo Add-on 1</name> + <type id="1">Extension</type> + <guid>test_AddonRepository_1@tests.mozilla.org</guid> + <version>2.1</version> + <authors> + <author> + <name>Repo Add-on 1 - Creator</name> + <link>http://localhost:4444/repo/1/creator.html</link> + </author> + <author> + <name>Repo Add-on 1 - First Developer</name> + <link>http://localhost:4444/repo/1/firstDeveloper.html</link> + </author> + <author> + <name>Repo Add-on 1 - Second Developer</name> + <link>http://localhost:4444/repo/1/secondDeveloper.html</link> + </author> + </authors> + <summary>Repo Add-on 1 - Description<br>Second line</summary> + <description><p>Repo Add-on 1 - Full Description &amp; some extra</p></description> + <eula>Repo Add-on 1 - EULA</eula> + <developer_comments>Repo Add-on 1 + Developer Comments</developer_comments> + <icon size="32">http://localhost/repo/1/icon.png</icon> + <status id="4">Public</status> + <rating>1</rating> + <learnmore>http://localhost/repo/1/learnmore.html</learnmore> + <homepage>http://localhost/repo/1/homepage.html</homepage> + <support>http://localhost/repo/1/support.html</support> + <contribution_data> + <link>http://localhost/repo/1/contribution.html</link> + <suggested_amount currency="USD">$11.11</suggested_amount> + <meet_developers>http://localhost/repo/1/meetDevelopers.html</meet_developers> + </contribution_data> + <reviews num="1111">http://localhost/repo/1/review.html</reviews> + <total_downloads>2221</total_downloads> + <weekly_downloads>3331</weekly_downloads> + <daily_users>4441</daily_users> + <last_updated epoch="9">1970-01-01T00:00:09Z</last_updated> + <install size="9">http://localhost:4444/repo/1/install.xpi</install> + </addon> + + <addon> + <name>Repo Add-on 2</name> + <type id="2">Theme</type> + <guid>test_AddonRepository_2@tests.mozilla.org</guid> + <version>2.2</version> + <authors> + <author> + <name>Repo Add-on 2 - Creator</name> + <link>http://localhost:4444/repo/2/creator.html</link> + </author> + <author> + <name>Repo Add-on 2 - First Developer</name> + <link>http://localhost:4444/repo/2/firstDeveloper.html</link> + </author> + <author> + <name>Repo Add-on 2 - Second Developer</name> + <link>http://localhost:4444/repo/2/secondDeveloper.html</link> + </author> + </authors> + <summary>Repo Add-on 2 - Description</summary> + <description>Repo Add-on 2 - Full Description</description> + <eula>Repo Add-on 2 - EULA</eula> + <developer_comments>Repo Add-on 2 - Developer Comments</developer_comments> + <icon size="32">http://localhost/repo/2/icon.png</icon> + <status id="9">Unknown</status> + <previews> + <preview primary="1"> + <full type="image/png">http://localhost:4444/repo/2/firstFull.png</full> + <thumbnail type="image/png">http://localhost:4444/repo/2/firstThumbnail.png</thumbnail> + <caption>Repo Add-on 2 - First Caption</caption> + </preview> + <preview primary="0"> + <full type="image/png">http://localhost:4444/repo/2/secondFull.png</full> + <thumbnail type="image/png">http://localhost:4444/repo/2/secondThumbnail.png</thumbnail> + <caption>Repo Add-on 2 - Second Caption</caption> + </preview> + </previews> + <rating>2</rating> + <learnmore>http://localhost/repo/2/learnmore.html</learnmore> + <homepage>http://localhost/repo/2/homepage.html</homepage> + <support>http://localhost/repo/2/support.html</support> + <contribution_data> + <link>http://localhost/repo/2/contribution.html</link> + <meet_developers>http://localhost/repo/2/meetDevelopers.html</meet_developers> + </contribution_data> + <reviews num="1112">http://localhost/repo/2/review.html</reviews> + <total_downloads>2222</total_downloads> + <weekly_downloads>3332</weekly_downloads> + <daily_users>4442</daily_users> + <last_updated epoch="9">1970-01-01T00:00:09Z</last_updated> + <install size="9">http://localhost:4444/repo/2/install.xpi</install> + </addon> + + <addon> + <name>Repo Add-on 3</name> + <type id="2">Theme</type> + <guid>test_AddonRepository_3@tests.mozilla.org</guid> + <version>2.3</version> + <icon size="32">http://localhost/repo/3/icon.png</icon> + <previews> + <preview primary="1"> + <full type="image/png">http://localhost:4444/repo/3/firstFull.png</full> + <thumbnail type="image/png">http://localhost:4444/repo/3/firstThumbnail.png</thumbnail> + <caption>Repo Add-on 3 - First Caption</caption> + </preview> + <preview primary="0"> + <full type="image/png">http://localhost:4444/repo/3/secondFull.png</full> + <thumbnail type="image/png">http://localhost:4444/repo/3/secondThumbnail.png</thumbnail> + <caption>Repo Add-on 3 - Second Caption</caption> + </preview> + </previews> + </addon> + + <addon_compatibility hosted="true" id="123"> + <guid>test_AddonRepository_1@tests.mozilla.org</guid> + <name>PASS</name> + <version_ranges> + <!-- Will be included --> + <version_range type="incompatible"> + <min_version>0.1</min_version> + <max_version>0.2</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>3.0</min_version> + <max_version>4.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Will be included --> + <version_range type="incompatible"> + <min_version>0.2</min_version> + <max_version>0.3</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>5.0</min_version> + <max_version>6.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Won't be included - invalid type attribute --> + <version_range type="unknown"> + <min_version>9</min_version> + <max_version>10</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>10.0</min_version> + <max_version>11.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Won't be included - no matching appID --> + <version_range type="incompatible"> + <min_version>0.2</min_version> + <max_version>0.3</max_version> + <compatible_applications> + <application> + <name>Unknown App</name> + <application_id>123</application_id> + <min_version>1.0</min_version> + <max_version>999.0</max_version> + <appID>unknown-app@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> +</searchresults> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_ignore.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_ignore.xml new file mode 100644 index 000000000..003095727 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_ignore.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="123"> + <addon> + <name>Test Repo Add-on - ignore</name> + <type id="1">Extension</type> + <guid>compatmode-ignore@tests.mozilla.org</guid> + <version>1.1</version> + <authors> + <author> + <name>Test Creator 1</name> + <link>http://localhost:%PORT%/creator1.html</link> + </author> + </authors> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test1.xpi</install> + </addon> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_normal.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_normal.xml new file mode 100644 index 000000000..fec8b09ca --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_normal.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="123"> + <addon> + <name>Test Repo Add-on - normal</name> + <type id="1">Extension</type> + <guid>compatmode-normal@tests.mozilla.org</guid> + <version>1.1</version> + <authors> + <author> + <name>Test Creator 1</name> + <link>http://localhost:%PORT%/creator1.html</link> + </author> + </authors> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test1.xpi</install> + </addon> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_strict.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_strict.xml new file mode 100644 index 000000000..f99256b87 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_compatmode_strict.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="123"> + <addon> + <name>Test Repo Add-on - strict</name> + <type id="1">Extension</type> + <guid>compatmode-strict@tests.mozilla.org</guid> + <version>1.1</version> + <authors> + <author> + <name>Test Creator 1</name> + <link>http://localhost:%PORT%/creator1.html</link> + </author> + </authors> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test1.xpi</install> + </addon> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_empty.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_empty.xml new file mode 100644 index 000000000..4cd5c1443 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_empty.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="9999" /> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_failed.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_failed.xml new file mode 100644 index 000000000..d02fa0249 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_failed.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="9999"> +<!-- Cause XML parse error so that the search fails --> +<!-- <addon> --> + <name>PASS</name> + <type id="1">Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.1</version> + <authors><author><name>Test Creator 1</name></author></authors> + <status id="4">Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test1.xpi</install> + </addon> +</searchresults> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_getAddonsByIDs.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_getAddonsByIDs.xml new file mode 100644 index 000000000..8a6167969 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_AddonRepository_getAddonsByIDs.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="1111"> + <!-- Passes even though XPI URL matches an installing AddonInstall. + Tests optional attributes. --> + <addon> + <name>PASS</name> + <type id="1">Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.1</version> + <authors> + <author> + <name>Test Creator 1</name> + <link>http://localhost:%PORT%/creator1.html</link> + </author> + <author> + <name>Test Developer 1</name> + <link>http://localhost:%PORT%/developer1.html</link> + </author> + </authors> + <summary>Test Summary 1</summary> + <description>Test Description 1</description> + <eula>Test EULA 1</eula> + <developer_comments>Test Developer Comments 1</developer_comments> + <icon size="32">http://localhost:%PORT%/icon1.png</icon> + <status id="8">Preliminarily Reviewed</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <previews> + <preview primary="1"> + <full type="image/png" width="400" height="300"> + http://localhost:%PORT%/full1-1.png + </full> + <thumbnail type="image/png" width="200" height="150"> + http://localhost:%PORT%/thumbnail1-1.png + </thumbnail> + <caption>Caption 1 - 1</caption> + </preview> + <preview primary="0"> + <full type="image/png">http://localhost:%PORT%/full2-1.png</full> + <thumbnail type="image/png">http://localhost:%PORT%/thumbnail2-1.png</thumbnail> + <caption>Caption 2 - 1</caption> + </preview> + </previews> + <rating>4</rating> + <learnmore>http://localhost:%PORT%/learnmore1.html</learnmore> + <support>http://localhost:%PORT%/support1.html</support> + <contribution_data> + <link>http://localhost:%PORT%/contribution1.html</link> + <suggested_amount currency="USD">$11.11</suggested_amount> + <meet_developers>http://localhost:%PORT%/meetDevelopers1.html</meet_developers> + </contribution_data> + <reviews num="1111">http://localhost:%PORT%/review1.html</reviews> + <total_downloads>2222</total_downloads> + <weekly_downloads>3333</weekly_downloads> + <daily_users>4444</daily_users> + <last_updated epoch="1265033045">2010-02-01T14:04:05Z</last_updated> + <install size="5555">http://localhost:%PORT%/addons/test_AddonRepository_2.xpi</install> + </addon> + + <addon_compatibility hosted="true" id="123"> + <guid>test1@tests.mozilla.org</guid> + <name>PASS</name> + <version_ranges> + <!-- Will be included --> + <version_range type="incompatible"> + <min_version>0.1</min_version> + <max_version>0.2</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>3.0</min_version> + <max_version>4.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Will be included --> + <version_range type="incompatible"> + <min_version>0.2</min_version> + <max_version>0.3</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>5.0</min_version> + <max_version>6.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Won't be included - invalid type attribute --> + <version_range type="unknown"> + <min_version>9</min_version> + <max_version>10</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <application_id>666</application_id> + <min_version>10.0</min_version> + <max_version>11.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + <!-- Won't be included - no matching appID --> + <version_range type="incompatible"> + <min_version>0.2</min_version> + <max_version>0.3</max_version> + <compatible_applications> + <application> + <name>Unknown App</name> + <application_id>123</application_id> + <min_version>1.0</min_version> + <max_version>999.0</max_version> + <appID>unknown-app@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <!-- Fails because guid matches previously successful result --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.2</version> + <authors><author><name>Test Creator 2</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with a guid that matches a previously successful result should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test2.xpi</install> + </addon> + + <!-- Fails because guid was not requested --> + <addon> + <name>FAIL</name> + <type id="1">Extension</type> + <guid>notRequested@tests.mozilla.org</guid> + <version>1.3</version> + <authors><author><name>Test Creator 3</name></author></authors> + <status id="4">Public</status> + <summary>Add-on with a guid that wasn't requested should be ignored.</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test3.xpi</install> + </addon> + + <!-- Passes even though guid matches already installed add-on, + type is unknown, no defined author elements, status is not Public, + no compatible applications matched, no installs compatible with OS + --> + <addon> + <name>PASS</name> + <type id="2">Theme</type> + <guid>test_AddonRepository_1@tests.mozilla.org</guid> + <version>1.4</version> + <status id="9999">Unknown</status> + <compatible_applications> + <application> + <appID>unknown@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install os="UNKNOWN1">http://localhost:%PORT%/test4.xpi</install> + <install os="UNKNOWN2">http://localhost:%PORT%/test4.xpi</install> + </addon> +</searchresults> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_backgroundupdate.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_backgroundupdate.rdf new file mode 100644 index 000000000..ab7cdef34 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_backgroundupdate.rdf @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:addon1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- app id compatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:addon2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- app id compatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:addon3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- app id compatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_metadata_filters_1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_metadata_filters_1.xml new file mode 100644 index 000000000..368a6ed53 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_metadata_filters_1.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem name="/^Mozilla Corp\.$/"> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="/block2/" name="/^Moz/" creator="Dangerous" + homepageURL="/\.dangerous\.com/" updateURL="/\.dangerous\.com/"> + <versionRange severity="3"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_prefs_1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_prefs_1.xml new file mode 100644 index 000000000..41df457b0 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_prefs_1.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="block1@tests.mozilla.org"> + <prefs> + <pref>test.blocklist.pref1</pref> + <pref>test.blocklist.pref2</pref> + </prefs> + <versionRange severity="1"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="block2@tests.mozilla.org"> + <prefs> + <pref>test.blocklist.pref3</pref> + <pref>test.blocklist.pref4</pref> + </prefs> + <versionRange severity="3"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="2.*"/> + </targetApplication> + </versionRange> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_regexp_1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_regexp_1.xml new file mode 100644 index 000000000..20035c6a2 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_blocklist_regexp_1.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?>
+
+<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist">
+ <emItems>
+ <emItem id="/block1/">
+ <versionRange severity="1">
+ <targetApplication id="xpcshell@tests.mozilla.org">
+ <versionRange minVersion="1" maxVersion="2.*"/>
+ </targetApplication>
+ </versionRange>
+ </emItem>
+ <emItem id="/block1/">
+ <versionRange severity="2">
+ <targetApplication id="xpcshell@tests.mozilla.org">
+ <versionRange minVersion="1" maxVersion="2.*"/>
+ </targetApplication>
+ </versionRange>
+ </emItem>
+ </emItems>
+</blocklist>
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716.rdf new file mode 100644 index 000000000..d60d8ca3f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716.rdf @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE RDF:RDF [ + <!ENTITY bug299716 "urn:mozilla:extension:bug299716"> + <!ENTITY addons_prefix "http://localhost:4444/addons/test_bug299716"> + <!ENTITY v0.2 "<em:version>0.2</em:version>"> + + <!ENTITY xpcshell.app " + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>5</em:minVersion> + <em:maxVersion>5</em:maxVersion> + "> + + <!ENTITY toolkit.app " + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1.9</em:minVersion> + <em:maxVersion>1.9</em:maxVersion> + "> + + <!ENTITY invalidRange " + <em:minVersion>30</em:minVersion> + <em:maxVersion>30</em:maxVersion> + "> + + <!ENTITY xpcshell.invalid " + <em:id>xpcshell@tests.mozilla.org</em:id> + &invalidRange; + "> + + <!ENTITY toolkit.invalid " + <em:id>toolkit@mozilla.org</em:id> + &invalidRange; + "> +]> +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <!-- XPCShell --> + <RDF:Description about="&bug299716;-a@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-a@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-a@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_a_2.xpi"> + &xpcshell.app; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- Toolkit --> + <RDF:Description about="&bug299716;-b@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-b@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-b@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_b_2.xpi"> + &toolkit.app; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- XPCShell + Toolkit --> + <RDF:Description about="&bug299716;-c@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-c@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-c@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_c_2.xpi"> + &xpcshell.app; + </RDF:Description> + </em:targetApplication> + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_c_2.xpi"> + &toolkit.app; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- XPCShell (Toolkit invalid) --> + <RDF:Description about="&bug299716;-d@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-d@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-d@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_d_2.xpi"> + &xpcshell.app; + </RDF:Description> + </em:targetApplication> + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_d_2.xpi"> + &toolkit.invalid; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- Toolkit (XPCShell invalid), should not install --> + <RDF:Description about="&bug299716;-e@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-e@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-e@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_e_2.xpi"> + &xpcshell.invalid; + </RDF:Description> + </em:targetApplication> + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_e_2.xpi"> + &toolkit.app; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- None (XPCShell, Toolkit invalid), should not install --> + <RDF:Description about="&bug299716;-f@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-f@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-f@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_f_2.xpi"> + &xpcshell.invalid; + </RDF:Description> + </em:targetApplication> + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_f_2.xpi"> + &toolkit.invalid; + </RDF:Description> + </em:targetApplication> + </RDF:Description> + + <!-- Toolkit (invalid), should not install --> + <RDF:Description about="&bug299716;-g@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li RDF:resource="&bug299716;-g@tests.mozilla.org:0.2"/> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="&bug299716;-g@tests.mozilla.org:0.2"> + &v0.2; + <em:targetApplication> + <RDF:Description em:updateLink="&addons_prefix;_g_2.xpi"> + &toolkit.invalid; + </RDF:Description> + </em:targetApplication> + </RDF:Description> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716_2.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716_2.rdf new file mode 100644 index 000000000..94a4ea450 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug299716_2.rdf @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <RDF:Description about="urn:mozilla:extension:bug299716-2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>0.1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1.9</em:minVersion> + <em:maxVersion>2.0.*</em:maxVersion> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug324121.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug324121.rdf new file mode 100644 index 000000000..2c453f756 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug324121.rdf @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:bug324121_2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- app id compatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>3</em:minVersion> + <em:maxVersion>3</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:bug324121_3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- app id incompatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:bug324121_6@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- toolkit id compatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>3</em:minVersion> + <em:maxVersion>3</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:bug324121_7@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- toolkit id incompatible update available --> + <RDF:li> + <RDF:Description> + <em:version>2</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug393285.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug393285.xml new file mode 100644 index 000000000..1767b4332 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug393285.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="test_bug393285_2@tests.mozilla.org"/> + <emItem id="test_bug393285_3a@tests.mozilla.org"> + <versionRange minVersion="1.0" maxVersion="1.0"/> + </emItem> + <emItem id="test_bug393285_3b@tests.mozilla.org"> + <versionRange minVersion="1.0" maxVersion="1.0"/> + </emItem> + <emItem id="test_bug393285_4@tests.mozilla.org"> + <versionRange minVersion="1.0" maxVersion="1.0"> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1.0" maxVersion="1.0"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug393285_5@tests.mozilla.org" os="Darwin"/> + <emItem id="test_bug393285_6@tests.mozilla.org" os="XPCShell"/> + <emItem id="test_bug393285_7@tests.mozilla.org" os="Darwin,XPCShell,WINNT"/> + <emItem id="test_bug393285_8@tests.mozilla.org" xpcomabi="x86-msvc"/> + <emItem id="test_bug393285_9@tests.mozilla.org" xpcomabi="noarch-spidermonkey"/> + <emItem id="test_bug393285_10@tests.mozilla.org" xpcomabi="ppc-gcc3,noarch-spidermonkey,x86-msvc"/> + <emItem id="test_bug393285_11@tests.mozilla.org" os="Darwin" xpcomabi="ppc-gcc3,x86-msvc"/> + <emItem id="test_bug393285_12@tests.mozilla.org" os="Darwin" xpcomabi="ppc-gcc3,noarch-spidermonkey,x86-msvc"/> + <emItem id="test_bug393285_13@tests.mozilla.org" os="XPCShell" xpcomabi="ppc-gcc3,x86-msvc"/> + <emItem id="test_bug393285_14@tests.mozilla.org" os="XPCShell,WINNT" xpcomabi="ppc-gcc3,x86-msvc,noarch-spidermonkey"/> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug394300.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug394300.rdf new file mode 100644 index 000000000..94e12527f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug394300.rdf @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:bug394300_1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- Not a valid install - incompatible app versions --> + <RDF:li> + <RDF:Description> + <em:version>20</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Valid install should be the version detected --> + <RDF:li> + <RDF:Description> + <em:version>10</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Valid install. Detecting this would indicate that the order + of entries is playing a part in the update detection. --> + <RDF:li> + <RDF:Description> + <em:version>6</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Not a valid install - no minVersion or maxVersion specified --> + <RDF:li> + <RDF:Description> + <em:version>40</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Not a valid install - incompatible app versions --> + <RDF:li> + <RDF:Description> + <em:version>30</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <RDF:Description about="urn:mozilla:extension:bug394300_2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <!-- Not a valid install - incompatible app versions --> + <RDF:li> + <RDF:Description> + <em:version>20</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Valid install should be the version detected --> + <RDF:li> + <RDF:Description> + <em:version>10</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1.9</em:minVersion> + <em:maxVersion>1.9</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Valid install. Detecting this would indicate that the order + of entries is playing a part in the update detection. --> + <RDF:li> + <RDF:Description> + <em:version>6</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1.9</em:minVersion> + <em:maxVersion>1.9</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Not a valid install - no minVersion or maxVersion specified --> + <RDF:li> + <RDF:Description> + <em:version>40</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + <!-- Not a valid install - incompatible app versions --> + <RDF:li> + <RDF:Description> + <em:version>30</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug424262.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug424262.xml new file mode 100644 index 000000000..d797debbb --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug424262.xml @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="100"> + <addon> + <name>TEST</name> + <type id='1'>Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>-5</rating> + <type id='1'>Extension</type> + <guid>test2@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>0</rating> + <type id='1'>Extension</type> + <guid>test3@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>2</rating> + <type id='1'>Extension</type> + <guid>test4@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>4</rating> + <type id='1'>Extension</type> + <guid>test5@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>5</rating> + <type id='1'>Extension</type> + <guid>test6@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>10</rating> + <type id='1'>Extension</type> + <guid>test7@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>TEST</name> + <rating>100</rating> + <type id='1'>Extension</type> + <guid>test8@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_app.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_app.xml new file mode 100644 index 000000000..f12ca1fa6 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_app.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <!-- All extensions are version 5 and tests run against appVersion 3 --> + + <!-- Test 1 not listed, should never get blocked --> + <!-- Always blocked --> + <emItem id="test_bug449027_2@tests.mozilla.org"/> + <!-- Always blocked --> + <emItem id="test_bug449027_3@tests.mozilla.org"> + <versionRange/> + </emItem> + <!-- Not blocked since neither version range matches --> + <emItem id="test_bug449027_4@tests.mozilla.org"> + <versionRange minVersion="6"/> + <versionRange maxVersion="4"/> + </emItem> + <!-- Invalid version range, should not block --> + <emItem id="test_bug449027_5@tests.mozilla.org"> + <versionRange minVersion="6" maxVersion="4"/> + </emItem> + <!-- Should block all of these --> + <emItem id="test_bug449027_6@tests.mozilla.org"> + <versionRange minVersion="7" maxVersion="8"/> + <versionRange minVersion="5" maxVersion="6"/> + <versionRange maxVersion="4"/> + </emItem> + <emItem id="test_bug449027_7@tests.mozilla.org"> + <versionRange maxVersion="4"/> + <versionRange minVersion="4" maxVersion="5"/> + <versionRange minVersion="6" maxVersion="7"/> + </emItem> + <emItem id="test_bug449027_8@tests.mozilla.org"> + <versionRange minVersion="2" maxVersion="2"/> + <versionRange minVersion="4" maxVersion="6"/> + <versionRange minVersion="7" maxVersion="8"/> + </emItem> + <emItem id="test_bug449027_9@tests.mozilla.org"> + <versionRange minVersion="4"/> + </emItem> + <emItem id="test_bug449027_10@tests.mozilla.org"> + <versionRange minVersion="5"/> + </emItem> + <emItem id="test_bug449027_11@tests.mozilla.org"> + <versionRange maxVersion="6"/> + </emItem> + <emItem id="test_bug449027_12@tests.mozilla.org"> + <versionRange maxVersion="5"/> + </emItem> + + <!-- This should block all versions for any application --> + <emItem id="test_bug449027_13@tests.mozilla.org"> + <versionRange> + <targetApplication/> + </versionRange> + </emItem> + <!-- Shouldn't block --> + <emItem id="test_bug449027_14@tests.mozilla.org"> + <versionRange> + <targetApplication id="foo@bar.com"/> + </versionRange> + </emItem> + <!-- Should block for any version of the app --> + <emItem id="test_bug449027_15@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"/> + </versionRange> + </emItem> + <!-- Should still block --> + <emItem id="test_bug449027_16@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange/> + </targetApplication> + </versionRange> + </emItem> + <!-- Not blocked since neither version range matches --> + <emItem id="test_bug449027_17@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="4"/> + <versionRange maxVersion="2"/> + </targetApplication> + </versionRange> + </emItem> + <!-- Invalid version range, should not block --> + <emItem id="test_bug449027_18@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="6" maxVersion="4"/> + </targetApplication> + </versionRange> + </emItem> + <!-- Should block all of these --> + <emItem id="test_bug449027_19@tests.mozilla.org"> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="5" maxVersion="6"/> + <versionRange minVersion="3" maxVersion="4"/> + <versionRange maxVersion="2"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_20@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="2"/> + <versionRange minVersion="2" maxVersion="3"/> + <versionRange minVersion="4" maxVersion="5"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </emItem> + <emItem id="test_bug449027_21@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="1"/> + <versionRange minVersion="2" maxVersion="4"/> + <versionRange minVersion="5" maxVersion="6"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_22@tests.mozilla.org"> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="3"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_23@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </emItem> + <emItem id="test_bug449027_24@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="3"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_25@tests.mozilla.org"> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="4"/> + </targetApplication> + </versionRange> + </emItem> + </emItems> + <pluginItems> + <!-- All plugins are version 5 and tests run against appVersion 3 --> + + <!-- Test 1 not listed, should never get blocked --> + <!-- Always blocked --> + <pluginItem> + <match name="name" exp="^test_bug449027_2$"/> + </pluginItem> + <!-- Always blocked --> + <pluginItem> + <match name="name" exp="^test_bug449027_3$"/> + <versionRange/> + </pluginItem> + <!-- Not blocked since neither version range matches --> + <pluginItem> + <match name="name" exp="^test_bug449027_4$"/> + <versionRange minVersion="6"/> + <versionRange maxVersion="4"/> + </pluginItem> + <!-- Invalid version range, should not block --> + <pluginItem> + <match name="name" exp="^test_bug449027_5$"/> + <versionRange minVersion="6" maxVersion="4"/> + </pluginItem> + <!-- Should block all of these --> + <pluginItem> + <match name="name" exp="^test_bug449027_6$"/> + <versionRange minVersion="7" maxVersion="8"/> + <versionRange minVersion="5" maxVersion="6"/> + <versionRange maxVersion="4"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_7$"/> + <versionRange maxVersion="4"/> + <versionRange minVersion="4" maxVersion="5"/> + <versionRange minVersion="6" maxVersion="7"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_8$"/> + <versionRange minVersion="2" maxVersion="2"/> + <versionRange minVersion="4" maxVersion="6"/> + <versionRange minVersion="7" maxVersion="8"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_9$"/> + <versionRange minVersion="4"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_10$"/> + <versionRange minVersion="5"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_11$"/> + <versionRange maxVersion="6"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_12$"/> + <versionRange maxVersion="5"/> + </pluginItem> + + <!-- This should block all versions for any application --> + <pluginItem> + <match name="name" exp="^test_bug449027_13$"/> + <versionRange> + <targetApplication/> + </versionRange> + </pluginItem> + <!-- Shouldn't block --> + <pluginItem> + <match name="name" exp="^test_bug449027_14$"/> + <versionRange> + <targetApplication id="foo@bar.com"/> + </versionRange> + </pluginItem> + <!-- Should block for any version of the app --> + <pluginItem> + <match name="name" exp="^test_bug449027_15$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"/> + </versionRange> + </pluginItem> + <!-- Should still block --> + <pluginItem> + <match name="name" exp="^test_bug449027_16$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Not blocked since neither version range matches --> + <pluginItem> + <match name="name" exp="^test_bug449027_17$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="4"/> + <versionRange maxVersion="2"/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Invalid version range, should not block --> + <pluginItem> + <match name="name" exp="^test_bug449027_18$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="6" maxVersion="4"/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Should block all of these --> + <pluginItem> + <match name="name" exp="^test_bug449027_19$"/> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="5" maxVersion="6"/> + <versionRange minVersion="3" maxVersion="4"/> + <versionRange maxVersion="2"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_20$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="2"/> + <versionRange minVersion="2" maxVersion="3"/> + <versionRange minVersion="4" maxVersion="5"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_21$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="1" maxVersion="1"/> + <versionRange minVersion="2" maxVersion="4"/> + <versionRange minVersion="5" maxVersion="6"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_22$"/> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="3"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_23$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange minVersion="2"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_24$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="3"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_25$"/> + <versionRange> + <targetApplication id="xpcshell@tests.mozilla.org"> + <versionRange maxVersion="4"/> + </targetApplication> + </versionRange> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_toolkit.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_toolkit.xml new file mode 100644 index 000000000..ad8ec5ed9 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug449027_toolkit.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <!-- All extensions are version 5 and tests run against toolkitVersion 8 --> + + <!-- Test 1-14 not listed, should never get blocked --> + + <!-- Should block for any version of the app --> + <emItem id="test_bug449027_15@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"/> + </versionRange> + </emItem> + <!-- Should still block --> + <emItem id="test_bug449027_16@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange/> + </targetApplication> + </versionRange> + </emItem> + <!-- Not blocked since neither version range matches --> + <emItem id="test_bug449027_17@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="9"/> + <versionRange maxVersion="7"/> + </targetApplication> + </versionRange> + </emItem> + <!-- Invalid version range, should not block --> + <emItem id="test_bug449027_18@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="11" maxVersion="9"/> + </targetApplication> + </versionRange> + </emItem> + <!-- Should block all of these --> + <emItem id="test_bug449027_19@tests.mozilla.org"> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="10" maxVersion="11"/> + <versionRange minVersion="8" maxVersion="9"/> + <versionRange maxVersion="7"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_20@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="7"/> + <versionRange minVersion="7" maxVersion="8"/> + <versionRange minVersion="9" maxVersion="10"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </emItem> + <emItem id="test_bug449027_21@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="6" maxVersion="6"/> + <versionRange minVersion="7" maxVersion="9"/> + <versionRange minVersion="10" maxVersion="11"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_22@tests.mozilla.org"> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="8"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_23@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="7"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </emItem> + <emItem id="test_bug449027_24@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="8"/> + </targetApplication> + </versionRange> + </emItem> + <emItem id="test_bug449027_25@tests.mozilla.org"> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="9"/> + </targetApplication> + </versionRange> + </emItem> + </emItems> + <pluginItems> + <!-- All plugins are version 5 and tests run against appVersion 3 --> + + <!-- Test 1-14 not listed, should never get blocked --> + <!-- Should block for any version of the app --> + <pluginItem> + <match name="name" exp="^test_bug449027_15$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"/> + </versionRange> + </pluginItem> + <!-- Should still block --> + <pluginItem> + <match name="name" exp="^test_bug449027_16$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Not blocked since neither version range matches --> + <pluginItem> + <match name="name" exp="^test_bug449027_17$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="9"/> + <versionRange maxVersion="7"/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Invalid version range, should not block --> + <pluginItem> + <match name="name" exp="^test_bug449027_18$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="11" maxVersion="9"/> + </targetApplication> + </versionRange> + </pluginItem> + <!-- Should block all of these --> + <pluginItem> + <match name="name" exp="^test_bug449027_19$"/> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="10" maxVersion="11"/> + <versionRange minVersion="8" maxVersion="9"/> + <versionRange maxVersion="7"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_20$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="7"/> + <versionRange minVersion="7" maxVersion="8"/> + <versionRange minVersion="9" maxVersion="10"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_21$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="6" maxVersion="6"/> + <versionRange minVersion="7" maxVersion="9"/> + <versionRange minVersion="10" maxVersion="11"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_22$"/> + <versionRange> + <targetApplication id="foo@bar.com"/> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="8"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_23$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange minVersion="7"/> + </targetApplication> + <targetApplication id="foo@bar.com"/> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_24$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="8"/> + </targetApplication> + </versionRange> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug449027_25$"/> + <versionRange> + <targetApplication id="toolkit@mozilla.org"> + <versionRange maxVersion="9"/> + </targetApplication> + </versionRange> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug468528.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug468528.xml new file mode 100644 index 000000000..85f0da57c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug468528.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="^test_bug468528_1"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug468528_2["/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug468528_3"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_1.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_1.rdf new file mode 100644 index 000000000..5397e8a87 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_1.rdf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <Description about="urn:mozilla:install-manifest"> + <em:id>bug470377_1@tests.mozilla.org</em:id> + <em:version>1</em:version> + <em:targetApplication> + <Description> + <em:id>unknown@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + <em:name>Test for Bug 470377</em:name> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_2.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_2.rdf new file mode 100644 index 000000000..b1dde7f7a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_2.rdf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <Description about="urn:mozilla:install-manifest"> + <em:id>bug470377_2@tests.mozilla.org</em:id> + <em:version>1</em:version> + <em:targetApplication> + <Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + <em:name>Test for Bug 470377</em:name> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_3.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_3.rdf new file mode 100644 index 000000000..ae483434a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_3.rdf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <Description about="urn:mozilla:install-manifest"> + <em:id>bug470377_3@tests.mozilla.org</em:id> + <em:version>1</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + <em:name>Test for Bug 470377</em:name> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_4.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_4.rdf new file mode 100644 index 000000000..97abacc5e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_4.rdf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <Description about="urn:mozilla:install-manifest"> + <em:id>bug470377_4@tests.mozilla.org</em:id> + <em:version>1</em:version> + <em:targetApplication> + <Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </Description> + </em:targetApplication> + <em:name>Test for Bug 470377</em:name> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_5.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_5.rdf new file mode 100644 index 000000000..bff1104a7 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/install_5.rdf @@ -0,0 +1,17 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + <Description about="urn:mozilla:install-manifest"> + <em:id>bug470377_5@tests.mozilla.org</em:id> + <em:version>1</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>3</em:maxVersion> + </Description> + </em:targetApplication> + <em:name>Test for Bug 470377</em:name> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_1.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_1.rdf new file mode 100644 index 000000000..e4ad91ae9 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_1.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:test_bug470377_1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>unknown@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_2.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_2.rdf new file mode 100644 index 000000000..10fcafd39 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_2.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:test_bug470377_2@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_3.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_3.rdf new file mode 100644 index 000000000..684002462 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_3.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:test_bug470377_3@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_4.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_4.rdf new file mode 100644 index 000000000..6e7116239 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_4.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:test_bug470377_4@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>toolkit@mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_5.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_5.rdf new file mode 100644 index 000000000..c926af934 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug470377/update_5.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:test_bug470377_5@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>3</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_1.xml new file mode 100644 index 000000000..c4cc2fe37 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_1.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="^test_bug514327_1"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug514327_2"/> + <versionRange severity="0"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_bug514327_3"/> + <versionRange severity="0"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_2.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_2.xml new file mode 100644 index 000000000..cc0a0c69d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_2.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="Test Plug-in"/> + <versionRange severity="0"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_empty.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_empty.xml new file mode 100644 index 000000000..0261794f8 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_empty.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_1.xml new file mode 100644 index 000000000..d651f8799 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_1.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="test_bug514327_1"/> + </pluginItem> + <pluginItem> + <match name="name" exp="test_bug514327_outdated"/> + <versionRange severity="0"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_2.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_2.xml new file mode 100644 index 000000000..208444681 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug514327_3_outdated_2.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="test_bug514327_2"/> + </pluginItem> + <pluginItem> + <match name="name" exp="test_bug514327_outdated"/> + <versionRange severity="0"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_1.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_1.xpi Binary files differnew file mode 100644 index 000000000..2dbcc0b50 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_1.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_2.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_2.xpi Binary files differnew file mode 100644 index 000000000..86fc6baaa --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug526598_2.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug541420.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug541420.xpi Binary files differnew file mode 100644 index 000000000..adb7be9ad --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug541420.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug542391.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug542391.rdf new file mode 100644 index 000000000..db82cf675 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug542391.rdf @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:override1x2-1x3@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>3</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug554133.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug554133.xml new file mode 100644 index 000000000..736c10514 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug554133.xml @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="100"> + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test1@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>FAIL</name> + <type id='1'>Extension</type> + <guid>test2@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <summary>Should not return an incompatible add-on</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>2</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test3@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>FAIL</name> + <type id='1'>Extension</type> + <guid>test4@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <summary>Should not return an add-on for a different OS</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install os="UNKNOWN">http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test5@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>FAIL</name> + <type id='1'>Extension</type> + <guid>test5@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <summary>Should not include the same result twice</summary> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test6@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test7@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test8@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test9@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test10@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test11@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> + + <addon> + <name>PASS</name> + <type id='1'>Extension</type> + <guid>test12@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://localhost:%PORT%/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://localhost:%PORT%/test.xpi</install> + </addon> +</searchresults> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug619730.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug619730.xml new file mode 100644 index 000000000..f2511c0de --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug619730.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <gfxItems testattr="GFX"><gfxItem/><gfxItem/></gfxItems> + <testItems testattr="FOO"><testItem/><testItem/><testItem/></testItems> + <fooItems/> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug655254.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug655254.rdf new file mode 100644 index 000000000..9857dcb55 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_bug655254.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <RDF:Description about="urn:mozilla:extension:addon1@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>1</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + +</RDF:RDF> + diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_compatoverrides.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_compatoverrides.xml new file mode 100644 index 000000000..c0d67d033 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_compatoverrides.xml @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="9"> + <addon> + <name>Test addon 2</name> + <type id="1">Extension</type> + <guid>addon2@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + + <addon> + <name>Test addon 3</name> + <type id="1">Extension</type> + <guid>addon3@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 3</name> + <guid>addon3@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.9</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon> + <name>Test addon 4</name> + <type id="1">Extension</type> + <guid>addon4@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 4</name> + <guid>addon4@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.9</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon> + <name>Test addon 5</name> + <type id="1">Extension</type> + <guid>addon5@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 5</name> + <guid>addon5@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.9</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>Unknown App</name> + <appID>unknown-app@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon> + <name>Test addon 6</name> + <type id="1">Extension</type> + <guid>addon6@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 6</name> + <guid>addon6@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.5</min_version> + <max_version>0.9</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon> + <name>Test addon 7</name> + <type id="1">Extension</type> + <guid>addon7@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 7</name> + <guid>addon7@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.5</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.1</min_version> + <max_version>0.9</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon> + <name>Test addon 8</name> + <type id="1">Extension</type> + <guid>addon8@tests.mozilla.org</guid> + <version>1.0</version> + </addon> + <addon_compatibility hosted="true"> + <name>Test addon 8</name> + <guid>addon8@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>6</min_version> + <max_version>6.2</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.9</min_version> + <max_version>9</max_version> + </application> + </compatible_applications> + </version_range> + <version_range type="incompatible"> + <min_version>0.5</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.1</min_version> + <max_version>9</max_version> + </application> + <application> + <name>Unknown app</name> + <appID>unknown-app@tests.mozilla.org</appID> + <min_version>0.1</min_version> + <max_version>9</max_version> + </application> + </compatible_applications> + </version_range> + <version_range type="incompatible"> + <min_version>0.1</min_version> + <max_version>0.2</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>0.1</min_version> + <max_version>0.9</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon_compatibility hosted="false"> + <name>Test addon 9</name> + <guid>addon9@tests.mozilla.org</guid> + <version_ranges> + <version_range type="incompatible"> + <min_version>0.5</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + + <addon_compatibility hosted="false"> + <name>Test addon 10</name> + <guid>addon10@tests.mozilla.org</guid> + <version_ranges> + <version_range type="compatible"> + <min_version>0.5</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>2</max_version> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> + +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_corrupt.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_corrupt.rdf new file mode 100644 index 000000000..f3341bdcf --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_corrupt.rdf @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:addon3@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon4@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_complete/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_complete/bootstrap.js new file mode 100644 index 000000000..a81c90bf0 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_complete/bootstrap.js @@ -0,0 +1,24 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); +Components.utils.import("resource://gre/modules/AddonManager.jsm"); + +const ADDON_ID = "test_delay_update_complete@tests.mozilla.org"; +const INSTALL_COMPLETE_PREF = "bootstraptest.install_complete_done"; + +function install(data, reason) {} + +// normally we would use BootstrapMonitor here, but we need a reference to +// the symbol inside `XPIProvider.jsm`. +function startup(data, reason) { + // apply update immediately + if (data.hasOwnProperty("instanceID") && data.instanceID) { + AddonManager.addUpgradeListener(data.instanceID, (upgrade) => { + upgrade.install(); + }); + } else { + throw Error("no instanceID passed to bootstrap startup"); + } +} + +function shutdown(data, reason) {} + +function uninstall(data, reason) {} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_defer/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_defer/bootstrap.js new file mode 100644 index 000000000..25ffd8565 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_defer/bootstrap.js @@ -0,0 +1,34 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); +Components.utils.import("resource://gre/modules/AddonManager.jsm"); + +const ADDON_ID = "test_delay_update_complete@tests.mozilla.org"; +const INSTALL_COMPLETE_PREF = "bootstraptest.install_complete_done"; + +// global reference to hold upgrade object +let gUpgrade; + +function install(data, reason) {} + +// normally we would use BootstrapMonitor here, but we need a reference to +// the symbol inside `XPIProvider.jsm`. +function startup(data, reason) { + // do not apply update immediately, hold on to for later + if (data.hasOwnProperty("instanceID") && data.instanceID) { + AddonManager.addUpgradeListener(data.instanceID, (upgrade) => { + gUpgrade = upgrade; + }); + } else { + throw Error("no instanceID passed to bootstrap startup"); + } + + // add a listener so the test can pass control back + AddonManager.addAddonListener({ + onFakeEvent: () => { + gUpgrade.install(); + } + }) +} + +function shutdown(data, reason) {} + +function uninstall(data, reason) {} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_ignore/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_ignore/bootstrap.js new file mode 100644 index 000000000..7693c9c2d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_update_ignore/bootstrap.js @@ -0,0 +1,26 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); +Components.utils.import("resource://gre/modules/AddonManager.jsm"); + +const ADDON_ID = "test_delay_update_ignore@tests.mozilla.org"; +const TEST_IGNORE_PREF = "delaytest.ignore"; + +function install(data, reason) {} + +// normally we would use BootstrapMonitor here, but we need a reference to +// the symbol inside `XPIProvider.jsm`. +function startup(data, reason) { + Services.prefs.setBoolPref(TEST_IGNORE_PREF, false); + + // explicitly ignore update, will be queued for next restart + if (data.hasOwnProperty("instanceID") && data.instanceID) { + AddonManager.addUpgradeListener(data.instanceID, (upgrade) => { + Services.prefs.setBoolPref(TEST_IGNORE_PREF, true); + }); + } else { + throw Error("no instanceID passed to bootstrap startup"); + } +} + +function shutdown(data, reason) {} + +function uninstall(data, reason) {} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.json new file mode 100644 index 000000000..cf3defdc7 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.json @@ -0,0 +1,11 @@ +{ + "addons": { + "test_delay_update_complete_webext@tests.mozilla.org": { + "updates": [ + { "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_delay_update_complete_webextension_v2.xpi" + } + ] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.rdf new file mode 100644 index 000000000..8af39cb0e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_complete.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:test_delay_update_complete@tests.mozilla.org"> + <em:updates> + <Seq> + <!-- app id compatible update available --> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_delay_update_complete_v2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.json new file mode 100644 index 000000000..2fcab10b5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.json @@ -0,0 +1,11 @@ +{ + "addons": { + "test_delay_update_defer_webext@tests.mozilla.org": { + "updates": [ + { "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_delay_update_defer_webextension_v2.xpi" + } + ] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.rdf new file mode 100644 index 000000000..d44d4880f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_defer.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:test_delay_update_defer@tests.mozilla.org"> + <em:updates> + <Seq> + <!-- app id compatible update available --> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_delay_update_defer_v2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.json new file mode 100644 index 000000000..b7f48149d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.json @@ -0,0 +1,11 @@ +{ + "addons": { + "test_delay_update_ignore_webext@tests.mozilla.org": { + "updates": [ + { "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_delay_update_ignore_webextension_v2.xpi" + } + ] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.rdf new file mode 100644 index 000000000..866884f8d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_delay_updates_ignore.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:test_delay_update_ignore@tests.mozilla.org"> + <em:updates> + <Seq> + <!-- app id compatible update available --> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_delay_update_ignore_v2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_dictionary.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_dictionary.rdf new file mode 100644 index 000000000..364b3bba1 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_dictionary.rdf @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:ab-CD@dictionaries.addons.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_dictionary_3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:ef@dictionaries.addons.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_dictionary_4.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:gh@dictionaries.addons.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_dictionary_5.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/bootstrap.js new file mode 100644 index 000000000..01682d3b7 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/bootstrap.js @@ -0,0 +1,21 @@ +Components.utils.import("resource://gre/modules/Services.jsm"); + +function install(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", 2); + Services.prefs.setIntPref("bootstraptest.install_reason", reason); +} + +function startup(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", 2); + Services.prefs.setIntPref("bootstraptest.startup_reason", reason); +} + +function shutdown(data, reason) { + Services.prefs.setIntPref("bootstraptest.active_version", 0); + Services.prefs.setIntPref("bootstraptest.shutdown_reason", reason); +} + +function uninstall(data, reason) { + Services.prefs.setIntPref("bootstraptest.installed_version", 0); + Services.prefs.setIntPref("bootstraptest.uninstall_reason", reason); +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/install.rdf new file mode 100644 index 000000000..ebe547ccc --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/install.rdf @@ -0,0 +1,23 @@ +<?xml version="1.0"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:install-manifest"> + <em:id>addon2@tests.mozilla.org</em:id> + <em:version>2.0</em:version> + + <!-- Front End MetaData --> + <em:name>Distributed add-ons test</em:name> + <em:bootstrap>true</em:bootstrap> + + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>5</em:maxVersion> + </Description> + </em:targetApplication> + + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/dummy.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/dummy.txt new file mode 100644 index 000000000..051aef85a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/dummy.txt @@ -0,0 +1 @@ +Test of a file in a sub directory
\ No newline at end of file diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/subdir2/dummy2.txt b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/subdir2/dummy2.txt new file mode 100644 index 000000000..9eddc4493 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_distribution2_2/subdir/subdir2/dummy2.txt @@ -0,0 +1 @@ +Nested dummy file
\ No newline at end of file diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist.xml new file mode 100644 index 000000000..d535d2c3f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist.xml @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <gfxItems> + <gfxBlacklistEntry blockID="g35"> + <os>WINNT 6.1</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>WINNT 6.0</os> + <vendor>0xdcba</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry blockID="g36"> + <os>WINNT 6.1</os> + <vendor>0xabab</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> GREATER_THAN_OR_EQUAL </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>WINNT 6.1</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1111 </driverVersion> + <driverVersionComparator> EQUAL </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Android</os> + <vendor>abcd</vendor> + <devices> + <device>wxyz</device> + <device>asdf</device> + <device>erty</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 5 </driverVersion> + <driverVersionComparator> LESS_THAN_OR_EQUAL </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Android</os> + <vendor>dcdc</vendor> + <devices> + <device>uiop</device> + <device>vbnm</device> + <device>hjkl</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 5 </driverVersion> + <driverVersionComparator> EQUAL </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Android</os> + <vendor>abab</vendor> + <devices> + <device>ghjk</device> + <device>cvbn</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 7 </driverVersion> + <driverVersionComparator> GREATER_THAN_OR_EQUAL </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>WINNT 6.1</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x6666</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DEVICE </featureStatus> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x6666</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DEVICE </featureStatus> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x6666</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DEVICE </featureStatus> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x6666</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DEVICE </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1112 </driverVersion> + <driverVersionMax> 8.52.323.1000 </driverVersionMax> + <driverVersionComparator> BETWEEN_EXCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.50.322.1000 </driverVersion> + <driverVersionMax> 8.52.322.1112 </driverVersionMax> + <driverVersionComparator> BETWEEN_EXCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1000 </driverVersion> + <driverVersionMax> 9.52.322.1000 </driverVersionMax> + <driverVersionComparator> BETWEEN_EXCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> HARDWARE_VIDEO_DECODING </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 7.82.322.1000 </driverVersion> + <driverVersionMax> 9.25.322.1001 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1112 </driverVersion> + <driverVersionMax> 9.52.322.1300 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_DECODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1000 </driverVersion> + <driverVersionMax> 8.52.322.1112 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_ENCODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1112 </driverVersion> + <driverVersionMax> 8.52.322.1200 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_MSAA </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1000 </driverVersion> + <driverVersionMax> 8.52.322.1200 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1000 </driverVersion> + <driverVersionMax> 8.52.322.1112 </driverVersionMax> + <driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xdcdc</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> CANVAS2D_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.1000 </driverVersion> + <driverVersionMax> 9.52.322.1000 </driverVersionMax> + <driverVersionComparator> BETWEEN_EXCLUSIVE </driverVersionComparator> + </gfxBlacklistEntry> + + </gfxItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist2.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist2.xml new file mode 100644 index 000000000..0ad8f6819 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist2.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <gfxItems> + <gfxBlacklistEntry> + <os>WINNT 6.1</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>WINNT 6.0</os> + <vendor>0xdcba</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + </gfxItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_AllOS.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_AllOS.xml new file mode 100644 index 000000000..f64676355 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_AllOS.xml @@ -0,0 +1,783 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <gfxItems> + + <gfxBlacklistEntry blockID="g1"> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g2"> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="22.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_LAYERS</feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1" maxVersion="22.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_1_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g11"> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="14.0b2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_OPENGL </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_MSAA </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> STAGEFRIGHT </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_ENCODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_DECODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="17.2a2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="13.2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> HARDWARE_VIDEO_DECODING </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>All</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="10.5" maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g1"> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g2"> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="22.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_LAYERS</feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1" maxVersion="22.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_1_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g11"> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="14.0b2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_OPENGL </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_MSAA </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> STAGEFRIGHT </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_ENCODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_DECODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="17.2a2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="13.2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> HARDWARE_VIDEO_DECODING </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="10.5" maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g1"> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g2"> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="22.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_LAYERS</feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1" maxVersion="22.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_1_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g11"> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="14.0b2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_OPENGL </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_MSAA </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> STAGEFRIGHT </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_ENCODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_DECODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="17.2a2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="13.2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> HARDWARE_VIDEO_DECODING </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Linux</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="10.5" maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g1"> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g2"> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="22.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_9_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_LAYERS</feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="16.0a1" maxVersion="22.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_10_1_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry blockID="g11"> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="14.0b2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_OPENGL </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="12.0" maxVersion="16.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBGL_MSAA </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> STAGEFRIGHT </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_ENCODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="42.0" maxVersion="13.0b2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> WEBRTC_HW_ACCELERATION_DECODE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="17.2a2" maxVersion="15.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="15.0" maxVersion="13.2"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> HARDWARE_VIDEO_DECODING </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + <gfxBlacklistEntry> + <os>Android</os> + <vendor>0xabcd</vendor> + <versionRange minVersion="10.5" maxVersion="13.0"/> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT3D_11_ANGLE </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + </gfxBlacklistEntry> + + </gfxItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_OSVersion.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_OSVersion.xml new file mode 100644 index 000000000..248868a2e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_gfxBlacklist_OSVersion.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <gfxItems> + <gfxBlacklistEntry> + <os>WINNT 6.2</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> DIRECT2D </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + <gfxBlacklistEntry> + <os>Darwin 13</os> + <vendor>0xabcd</vendor> + <devices> + <device>0x2783</device> + <device>0x1234</device> + <device>0x2782</device> + </devices> + <feature> OPENGL_LAYERS </feature> + <featureStatus> BLOCKED_DRIVER_VERSION </featureStatus> + <driverVersion> 8.52.322.2202 </driverVersion> + <driverVersionComparator> LESS_THAN </driverVersionComparator> + </gfxBlacklistEntry> + </gfxItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_1.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_1.rdf new file mode 100644 index 000000000..016726021 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_1.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:hotfix@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_hotfix_1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_2.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_2.rdf new file mode 100644 index 000000000..35a2befee --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_2.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:hotfix@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_hotfix_2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_3.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_3.rdf new file mode 100644 index 000000000..7180da143 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_hotfix_3.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:hotfix@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>3.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_hotfix_3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.rdf new file mode 100644 index 000000000..fe82334fa --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.rdf @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:addon3@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon4@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon7@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>5.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.xml new file mode 100644 index 000000000..33f14a2fd --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_install.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="1"> + <addon> + <name>Real Test 2</name> + <type id='1'>Extension</type> + <guid>addon2@tests.mozilla.org</guid> + <version>1.0</version> + <authors> + <author> + <name>Test Creator</name> + <link>http://example.com/creator.html</link> + </author> + </authors> + <status id='4'>Public</status> + <summary>Repository summary</summary> + <description>Repository description</description> + <compatible_applications> + <application> + <name>Firefox</name> + <appID>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</appID> + <min_version>0</min_version> + <max_version>*</max_version> + </application> + <application> + <name>SeaMonkey</name> + <appID>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</appID> + <min_version>0</min_version> + <max_version>*</max_version> + </application> + </compatible_applications> + <compatible_os>ALL</compatible_os> + <install size="2">http://example.com/browser/toolkit/mozapps/extensions/test/browser/addons/browser_install1_2.xpi</install> + </addon> + + <addon_compatibility hosted="false"> + <guid>addon6@tests.mozilla.org</guid> + <name>Addon Test 6</name> + <version_ranges> + <version_range type="incompatible"> + <min_version>1.0</min_version> + <max_version>1.0</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <min_version>1.0</min_version> + <max_version>1.0</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate.rdf new file mode 100644 index 000000000..d1dc992d5 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate.rdf @@ -0,0 +1,125 @@ +<?xml version="1.0"?> + +<!-- This is a copy of extensions.rdf from Firefox 3.5 including four + test extensions. Addon1 was user enabled, addon2 was user disabled, addon3 + was pending user disable at the next restart and addon4 was pending user + enable at the next restart. Additionally addon1 and 2 have had + compatibility updates applies to make them compatible with the app and + toolkit respectively, addon3 and 4 have not. addon5 is disabled however + at the same time as the migration a new version should be detected. addon6 + is pending install and needs a compatibility update to be compatible. + It also contains two themes in the profile --> + +<RDF:RDF xmlns:NS1="http://www.mozilla.org/2004/em-rdf#" + xmlns:NC="http://home.netscape.com/NC-rdf#" + xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <RDF:Description RDF:about="rdf:#$w8dNC3" + NS1:id="xpcshell@tests.mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="1" /> + <RDF:Description RDF:about="rdf:#$w8dNC4" + NS1:id="xpcshell@tests.mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$w8dNC5" + NS1:id="xpcshell@tests.mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$w8dNC6" + NS1:id="xpcshell@tests.mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$w8dNC2" + NS1:id="toolkit@mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="1" /> + <RDF:Description RDF:about="rdf:#$w8dNC1" + NS1:id="toolkit@mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$w8dNC7" + NS1:id="toolkit@mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$oadNC1" + NS1:id="xpcshell@tests.mozilla.org" + NS1:minVersion="1" + NS1:maxVersion="2" /> + <RDF:Description RDF:about="rdf:#$TpnM4" + NS1:id="xpcshell@tests.mozilla.org" + NS1:updatedMinVersion="1" + NS1:updatedMaxVersion="2" /> + <RDF:Description RDF:about="urn:mozilla:item:addon1@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="1.0" + NS1:name="Test 1"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$oadNC1"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:addon2@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="2.0" + NS1:name="Test 2" + NS1:userDisabled="true"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC1"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:addon3@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="2.0" + NS1:name="Test 3" + NS1:userDisabled="needs-disable"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC3"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:addon4@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="2.0" + NS1:name="Test 4" + NS1:userDisabled="needs-enable"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC2"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:addon5@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="1.0" + NS1:name="Test 5" + NS1:userDisabled="true"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC7"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:addon6@tests.mozilla.org" + NS1:name="Test 6" + NS1:version="1.0" + NS1:newVersion="1.0" + NS1:installLocation="app-profile"> + <NS1:type NC:parseType="Integer">2</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$TpnM4"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:theme1@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="1.0" + NS1:name="Theme 2" + NS1:internalName="theme1/1.0"> + <NS1:type NC:parseType="Integer">4</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC5"/> + </RDF:Description> + <RDF:Description RDF:about="urn:mozilla:item:theme2@tests.mozilla.org" + NS1:installLocation="app-profile" + NS1:version="2.0" + NS1:name="Theme 2" + NS1:internalName="theme2/1.0"> + <NS1:type NC:parseType="Integer">4</NS1:type> + <NS1:targetApplication RDF:resource="rdf:#$w8dNC6"/> + </RDF:Description> + <RDF:Seq RDF:about="urn:mozilla:item:root"> + <RDF:li RDF:resource="urn:mozilla:item:addon1@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:addon2@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:addon3@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:addon4@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:addon5@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:addon6@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:theme1@tests.mozilla.org"/> + <RDF:li RDF:resource="urn:mozilla:item:theme2@tests.mozilla.org"/> + </RDF:Seq> +</RDF:RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate4.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate4.rdf new file mode 100644 index 000000000..a3bf4f8ae --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_migrate4.rdf @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:addon5@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon6@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_migrate4_6.xpi</em:updateLink> + <em:updateInfoURL>http://example.com/updateInfo.xhtml</em:updateInfoURL> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_no_update.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_no_update.json new file mode 100644 index 000000000..2773c7f98 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_no_update.json @@ -0,0 +1,7 @@ +{ + "addons": { + "test_no_update_webext@tests.mozilla.org": { + "updates": [] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/ancient.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/ancient.xml new file mode 100644 index 000000000..699257f87 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/ancient.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem blockID="i454" id="ancient@tests.mozilla.org"> + <versionRange minVersion="0" maxVersion="*" severity="3"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/new.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/new.xml new file mode 100644 index 000000000..8cbfb5d6a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/new.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1396046918000"> + <emItems> + <emItem blockID="i454" id="new@tests.mozilla.org"> + <versionRange minVersion="0" maxVersion="*" severity="3"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/old.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/old.xml new file mode 100644 index 000000000..75bd6e934 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_overrideblocklist/old.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1296046918000"> + <emItems> + <emItem blockID="i454" id="old@tests.mozilla.org"> + <versionRange minVersion="0" maxVersion="*" severity="3"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtp.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtp.xml new file mode 100644 index 000000000..d3564aebd --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtp.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="^test_plugin_0"/> + <versionRange minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="0"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_plugin_1"/> + <versionRange minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="1"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_plugin_2"/> + <versionRange minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="2"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_plugin_3"/> + <versionRange minVersion="0" maxVersion="*" vulnerabilitystatus="2"/> + </pluginItem> + <pluginItem> + <match name="name" exp="^test_plugin_4"/> + <versionRange minVersion="0" maxVersion="*" severity="1" vulnerabilitystatus="2"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtpUndo.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtpUndo.xml new file mode 100644 index 000000000..7cd8496b3 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_pluginBlocklistCtpUndo.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <pluginItems> + <pluginItem> + <match name="name" exp="^Test Plug-in"/> + <versionRange minVersion="0" maxVersion="*" severity="0" vulnerabilitystatus="2"/> + </pluginItem> + </pluginItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_proxy/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_proxy/bootstrap.js new file mode 100644 index 000000000..1666f2972 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_proxy/bootstrap.js @@ -0,0 +1 @@ +Components.utils.import("resource://xpcshell-data/BootstrapMonitor.jsm").monitor(this); diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_softblocked1.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_softblocked1.xml new file mode 100644 index 000000000..a1d18470c --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_softblocked1.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> + <emItems> + <emItem id="softblock1@tests.mozilla.org"> + <versionRange severity="1"/> + </emItem> + </emItems> +</blocklist> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_sourceURI.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_sourceURI.xml new file mode 100644 index 000000000..949288e3f --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_sourceURI.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="1"> + <!-- Passes all requirements --> + <addon> + <name>Test</name> + <type id="1">Extension</type> + <guid>addon@tests.mozilla.org</guid> + <version>1</version> + <compatible_applications> + <application> + <appID>xpcshell@tests.mozilla.org</appID> + <min_version>1</min_version> + <max_version>1</max_version> + </application> + </compatible_applications> + <install>http://www.example.com/testaddon.xpi</install> + </addon> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_temporary/bootstrap.js b/toolkit/mozapps/webextensions/test/xpcshell/data/test_temporary/bootstrap.js new file mode 100644 index 000000000..1666f2972 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_temporary/bootstrap.js @@ -0,0 +1 @@ +Components.utils.import("resource://xpcshell-data/BootstrapMonitor.jsm").monitor(this); diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.json new file mode 100644 index 000000000..027a9b233 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.json @@ -0,0 +1,215 @@ +{ + "addons": { + "addon1@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_min_version": "1" + } + } + }, + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "2", + "strict_min_version": "2" + } + } + }, + { + "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_update.xpi", + "update_info_url": "http://example.com/updateInfo.xhtml", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_min_version": "1" + } + } + } + ] + }, + + "addon2@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "0", + "advisory_max_version": "1" + } + } + } + ] + }, + + "addon2@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "0", + "advisory_max_version": "1" + } + } + } + ] + }, + + "addon3@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "3", + "advisory_max_version": "3" + } + } + } + ] + }, + + "addon4@tests.mozilla.org": { + "updates": [ + { + "version": "5.0", + "applications": { + "gecko": { + "strict_min_version": "0", + "advisory_max_version": "0" + } + } + } + ] + }, + + "addon7@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "applications": { + "gecko": { + "strict_min_version": "0", + "advisory_max_version": "1" + } + } + } + ] + }, + + "addon8@tests.mozilla.org": { + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_update8.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "advisory_max_version": "1" + } + } + } + ] + }, + + "addon9@tests.mozilla.org": { + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_update9_2.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "advisory_max_version": "1" + } + } + }, + { + "_comment_": "Incompatible when strict compatibility is enabled", + "version": "3.0", + "update_link": "http://localhost:%PORT%/addons/test_update9_3.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.9", + "advisory_max_version": "0.9" + } + } + }, + { + "_comment_": "Incompatible due to compatibility override", + "version": "4.0", + "update_link": "http://localhost:%PORT%/addons/test_update9_4.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.9", + "advisory_max_version": "0.9" + } + } + }, + { + "_comment_": "Addon for future version of app", + "version": "4.0", + "update_link": "http://localhost:%PORT%/addons/test_update9_5.xpi", + "applications": { + "gecko": { + "strict_min_version": "5", + "advisory_max_version": "6" + } + } + } + ] + }, + + "addon10@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "update_link": "http://localhost:%PORT%/addons/test_update10.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.1", + "advisory_max_version": "0.4" + } + } + } + ] + }, + + "addon11@tests.mozilla.org": { + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_update11.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.1", + "strict_max_version": "0.2" + } + } + } + ] + }, + + "addon12@tests.mozilla.org": { + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:%PORT%/addons/test_update12.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "advisory_max_version": "1" + } + } + } + ] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.rdf new file mode 100644 index 000000000..4d4640f60 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.rdf @@ -0,0 +1,270 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:addon1@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <!-- Shouldn't fire onCompatibilityUpdateAvailable since this + information is already in the install.rdf --> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + + <!-- Should be ignored as it is not for the present version of the + application --> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update.xpi</em:updateLink> + <em:updateInfoURL>http://example.com/updateInfo.xhtml</em:updateInfoURL> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon2@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon3@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>3</em:minVersion> + <em:maxVersion>3</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon4@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>5.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>0</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon7@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0</em:minVersion> + <em:maxVersion>1</em:maxVersion> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon8@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update8.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon9@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update9_2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Incompatible when strict compatibility is enabled --> + <li> + <Description> + <em:version>3.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.9</em:minVersion> + <em:maxVersion>0.9</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update9_3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Incompatible due to compatibility override --> + <li> + <Description> + <em:version>4.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.9</em:minVersion> + <em:maxVersion>0.9</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update9_4.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Addon for future version of app --> + <li> + <Description> + <em:version>5.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>5</em:minVersion> + <em:maxVersion>6</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update9_5.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon10@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.1</em:minVersion> + <em:maxVersion>0.4</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update10.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:extension:addon11@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.1</em:minVersion> + <em:maxVersion>0.2</em:maxVersion> + <em:strictCompatibility>true</em:strictCompatibility> + <em:updateLink>http://localhost:%PORT%/addons/test_update11.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <Description about="urn:mozilla:item:addon12@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:%PORT%/addons/test_update12.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.xml b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.xml new file mode 100644 index 000000000..62928815b --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" ?> +<searchresults total_results="11"> + <addon> + <name>Test Addon 9</name> + <type id="1">Extension</type> + <guid>addon9@tests.mozilla.org</guid> + </addon> + <addon_compatibility hosted="true"> + <guid>addon9@tests.mozilla.org</guid> + <name>Test Addon 9</name> + <version_ranges> + <version_range type="incompatible"> + <min_version>4</min_version> + <max_version>4</max_version> + <compatible_applications> + <application> + <name>XPCShell</name> + <min_version>1</min_version> + <max_version>1</max_version> + <appID>xpcshell@tests.mozilla.org</appID> + </application> + </compatible_applications> + </version_range> + </version_ranges> + </addon_compatibility> +</searchresults> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_update_multi.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update_multi.rdf new file mode 100644 index 000000000..f28a3f26d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_update_multi.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:updatemulti@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/addons/test_update_multi2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.json b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.json new file mode 100644 index 000000000..811e50158 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.json @@ -0,0 +1,327 @@ +{ + "addons": { + "updatecheck1@tests.mozilla.org": { + "updates": [ + { + "version": "1.0", + "update_link": "https://localhost:4444/addons/test1.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + }, + { + "_comment_": "This update is incompatible and so should not be considered a valid update", + "version": "2.0", + "update_link": "https://localhost:4444/addons/test2.xpi", + "applications": { + "gecko": { + "strict_min_version": "2", + "strict_max_version": "2" + } + } + }, + { + "version": "3.0", + "update_link": "https://localhost:4444/addons/test3.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + }, + { + "version": "2.0", + "update_link": "https://localhost:4444/addons/test2.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "2" + } + } + }, + { + "_comment_": "This update is incompatible and so should not be considered a valid update", + "version": "4.0", + "update_link": "https://localhost:4444/addons/test4.xpi", + "applications": { + "gecko": { + "strict_min_version": "2", + "strict_max_version": "2" + } + } + } + ] + }, + + "test_bug378216_5@tests.mozilla.org": { + "_comment_": "An update which expects a signature. It will fail since signatures are ", + "_comment_": "supported in this format.", + "_comment_": "The updateLink will also be ignored since it is not secure and there ", + "_comment_": "is no updateHash.", + + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_5@tests.mozilla.org": { + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_7@tests.mozilla.org": { + "_comment_": "An update which expects a signature. It will fail since signatures are ", + "_comment_": "supported in this format.", + "_comment_": "The updateLink will also be ignored since it is not secure ", + "_comment_": "and there is no updateHash.", + + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "2" + } + } + } + ] + }, + + "test_bug378216_8@tests.mozilla.org": { + "_comment_": "The updateLink will be ignored since it is not secure and ", + "_comment_": "there is no updateHash.", + + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_9@tests.mozilla.org": { + "_comment_": "The updateLink will used since there is an updateHash to verify it.", + + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "update_hash": "sha256:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_10@tests.mozilla.org": { + "_comment_": "The updateLink will used since it is a secure URL.", + + "updates": [ + { + "version": "2.0", + "update_link": "https://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_11@tests.mozilla.org": { + "_comment_": "The updateLink will used since it is a secure URL.", + + "updates": [ + { + "version": "2.0", + "update_link": "https://localhost:4444/broken.xpi", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_12@tests.mozilla.org": { + "_comment_": "The updateLink will not be used since the updateHash ", + "_comment_": "verifying it is not strong enough.", + + "updates": [ + { + "version": "2.0", + "update_link": "http://localhost:4444/broken.xpi", + "update_hash": "sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "test_bug378216_13@tests.mozilla.org": { + "_comment_": "An update with a weak hash. The updateLink will used since it is ", + "_comment_": "a secure URL.", + + "updates": [ + { + "version": "2.0", + "update_link": "https://localhost:4444/broken.xpi", + "update_hash": "sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6", + "applications": { + "gecko": { + "strict_min_version": "1", + "strict_max_version": "1" + } + } + } + ] + }, + + "_comment_": "There should be no information present for test_bug378216_14", + + "test_bug378216_15@tests.mozilla.org": { + "_comment_": "Invalid update JSON", + + "updates": "foo" + }, + + "ignore-compat@tests.mozilla.org": { + "_comment_": "Various updates available - one is not compatible, but compatibility checking is disabled", + + "updates": [ + { + "version": "1.0", + "update_link": "https://localhost:4444/addons/test1.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.1", + "advisory_max_version": "0.2" + } + } + }, + { + "version": "2.0", + "update_link": "https://localhost:4444/addons/test2.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.5", + "advisory_max_version": "0.6" + } + } + }, + { + "_comment_": "Update for future app versions - should never be compatible", + "version": "3.0", + "update_link": "https://localhost:4444/addons/test3.xpi", + "applications": { + "gecko": { + "strict_min_version": "2", + "advisory_max_version": "3" + } + } + } + ] + }, + + "compat-override@tests.mozilla.org": { + "_comment_": "Various updates available - one is not compatible, but compatibility checking is disabled", + + "updates": [ + { + "_comment_": "Has compatibility override, but it doesn't match this app version", + "version": "1.0", + "update_link": "https://localhost:4444/addons/test1.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.1", + "advisory_max_version": "0.2" + } + } + }, + { + "_comment_": "Has compatibility override, so is incompaible", + "version": "2.0", + "update_link": "https://localhost:4444/addons/test2.xpi", + "applications": { + "gecko": { + "strict_min_version": "0.5", + "advisory_max_version": "0.6" + } + } + }, + { + "_comment_": "Update for future app versions - should never be compatible", + "version": "3.0", + "update_link": "https://localhost:4444/addons/test3.xpi", + "applications": { + "gecko": { + "strict_min_version": "2", + "advisory_max_version": "3" + } + } + } + ] + }, + + "compat-strict-optin@tests.mozilla.org": { + "_comment_": "Opt-in to strict compatibility checking", + + "updates": [ + { + "version": "1.0", + "update_link": "https://localhost:4444/addons/test1.xpi", + "_comment_": "strictCompatibility: true", + "applications": { + "gecko": { + "strict_min_version": "0.1", + "strict_max_version": "0.2" + } + } + } + ] + } + } +} diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.rdf new file mode 100644 index 000000000..c5d97ada0 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecheck.rdf @@ -0,0 +1,419 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:updatecheck1@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- This update is incompatible and so should not be considered a valid + update --> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <li> + <Description> + <em:version>3.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- This update is incompatible and so should not be considered a valid + update --> + <li> + <Description> + <em:version>4.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test4.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <!-- An update with no signature which will fail if retrieved with an update + key. The updateLink will also be ignored since it is not secure and there + is no updateHash. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_5@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + </RDF:Description> + + <!-- An update with a broken signature which will fail if retrieved with an + update key. The updateLink will also be ignored since it is not secure + and there is no updateHash. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_7@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt + ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk + jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L + BcVq13ad</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will be ignored since it + is not secure and there is no updateHash. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_8@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMH/33P/bn148mVkAB8i5X8c4LhY52E+MPUT + yKHGpowZnRLgL2O0dfpm+rljOBfKi51322PFrsc6VIFml6x4Lrb5foxSyB0Vs9pb + SEDFWUKquOQvceQ9iEx5Pe0VzrmUZgcQxd8ksSunWL4wJaBZ/evE5amFC6sw3pv/ + fjt8p3GN</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will used since there is + an updateHash to verify it. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_9@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + <em:updateHash>sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAJ5Dv3Zd7/j5dLchCw9iO/cxPq8oOhOYD2M+ + jUKvmHCyTBRIEaJrE4N7yVbRYk++ERIfyVepLivsVi4pBmF7JTdw0NaKUA0LiOoT + mRL8I7s5NPjCiiNcdqbncWyiZwIj1w1nkbWGTlH/gEjRW/LbvT4JAuec8yNFDa4S + X8mOMf7k</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will used since it is + a secure URL. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_10@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>https://localhost:4444/broken.xpi</em:updateLink> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAGvf7XqqoTl5WofrNq55E7W+UttOEDXLB3Oi + XDiXe0i6njlozilseaUo1hgfQhhzN9gkyetP5tGBVcLRrVyliKpJmD6ABCVGW1lS + qS+SEw7gDHyHkvwKMyWKedpRGChqLYnnf+Y+CX3MWLZLkwPXMKdTYgN3Rx0lEnJk + 37LSEMKE</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will used since it is + a secure URL. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_11@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>https://localhost:4444/broken.xpi</em:updateLink> + <em:updateHash>sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBACMX/KReOGSJ8CMGRroH1v3Gjv/Qs/pqH+Ow + o+hCKWLUKx7hpJgVJkXXdAHW0U88NXlp1S2H0WqA7I/CdmNXJSPzzV/J4z1dZgXh + JbW6mqNb0pj6nIe7g8OLzSxDgBmO4DUP5DAmnmqciJLWQzN7OdbcwrWz6xPN5kZF + A90eF5zy</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will not be used since the + updateHash verifying it is not strong enough. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_12@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/broken.xpi</em:updateLink> + <em:updateHash>md2:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAJRfcFvHIWxVyycCw8IjNmEhabc2uqA1zQwp + 5oKh3Y23hwIsQ6xy68Wtjte1NEYFRt5fWkbMXj9YQj6LpVbzBKiGATcrq6MycZKK + o5N22cWbrKKRweJezTyN4eLfQg21pG7r8mdfS0bIA28ZVFtQOmORejoUesEouCGy + eKYk9nS2</em:signature> + </RDF:Description> + + <!-- An update with a valid signature. The updateLink will used since it is + a secure URL. --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_13@tests.mozilla.org"> + <em:updates> + <RDF:Seq> + <RDF:li> + <RDF:Description> + <em:version>2.0</em:version> + <em:targetApplication> + <RDF:Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>https://localhost:4444/broken.xpi</em:updateLink> + <em:updateHash>md2:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> + </RDF:Description> + </em:targetApplication> + </RDF:Description> + </RDF:li> + </RDF:Seq> + </em:updates> + <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBALQKwzLFr/VOw3gJvv/LCh3/PWDd9FqmFnX+ + hJjBmCaUDtG7CXn1i0h8ed8IeRHpLLT7FCzVwU3bH9BUjdm8wc3ObtlNbd8go01a + CoXz50r3rYPcYz4WS+7/+lvrUqsuWd9Wj+q0NeCPiNaaro6/AolE2Qf5JFRL3lxY + lsKWAnVO</em:signature> + </RDF:Description> + + <!-- There should be no information present for test_bug378216_14 --> + + <!-- Invalid update RDF --> + <RDF:Description about="urn:mozilla:extension:test_bug378216_15@tests.mozilla.org"> + <em:updates>Foo</em:updates> + </RDF:Description> + + <!-- Various updates available - one is not compatible, but compatibility checking is disabled --> + <Description about="urn:mozilla:extension:ignore-compat@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.1</em:minVersion> + <em:maxVersion>0.2</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.5</em:minVersion> + <em:maxVersion>0.6</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Update for future app versions - should never be compatible --> + <li> + <Description> + <em:version>3.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>3</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <!-- Various updates available - one is not compatible, but compatibility checking is disabled --> + <Description about="urn:mozilla:extension:compat-override@tests.mozilla.org"> + <em:updates> + <Seq> + <!-- Has compatibility override, but it doesn't match this app version --> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.1</em:minVersion> + <em:maxVersion>0.2</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Has compatibility override, so is incompaible --> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.5</em:minVersion> + <em:maxVersion>0.6</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + <!-- Update for future app versions - should never be compatible --> + <li> + <Description> + <em:version>3.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>2</em:minVersion> + <em:maxVersion>3</em:maxVersion> + <em:updateLink>https://localhost:4444/addons/test3.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + + <!-- Opt-in to strict compatibility checking --> + <Description about="urn:mozilla:extension:compat-strict-optin@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>1.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>0.1</em:minVersion> + <em:maxVersion>0.2</em:maxVersion> + <em:strictCompatibility>true</em:strictCompatibility> + <em:updateLink>https://localhost:4444/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_ignore.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_ignore.rdf new file mode 100644 index 000000000..ec6e88ec4 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_ignore.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:compatmode-ignore@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:%PORT%/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_normal.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_normal.rdf new file mode 100644 index 000000000..2ef88860e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_normal.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:compatmode-normal@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:%PORT%/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_strict.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_strict.rdf new file mode 100644 index 000000000..2f72c181d --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updatecompatmode_strict.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:compatmode-strict@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>2</em:maxVersion> + <em:updateLink>https://localhost:%PORT%/addons/test1.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/test_updateid.rdf b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updateid.rdf new file mode 100644 index 000000000..c13928520 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/test_updateid.rdf @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:em="http://www.mozilla.org/2004/em-rdf#"> + + <Description about="urn:mozilla:extension:addon1@tests.mozilla.org"> + <em:updates> + <Seq> + <li> + <Description> + <em:version>2.0</em:version> + <em:targetApplication> + <Description> + <em:id>xpcshell@tests.mozilla.org</em:id> + <em:minVersion>1</em:minVersion> + <em:maxVersion>1</em:maxVersion> + <em:updateLink>http://localhost:4444/addons/test_updateid2.xpi</em:updateLink> + </Description> + </em:targetApplication> + </Description> + </li> + </Seq> + </em:updates> + </Description> + +</RDF> diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/unsigned.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/unsigned.xpi Binary files differnew file mode 100644 index 000000000..51b00475a --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/unsigned.xpi diff --git a/toolkit/mozapps/webextensions/test/xpcshell/data/webext-implicit-id.xpi b/toolkit/mozapps/webextensions/test/xpcshell/data/webext-implicit-id.xpi Binary files differnew file mode 100644 index 000000000..6b4abaa69 --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/data/webext-implicit-id.xpi |