|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 "use strict"; |
|
6 |
|
7 const { data } = require("sdk/self"); |
|
8 const { Symbiont } = require("sdk/deprecated/symbiont"); |
|
9 |
|
10 exports["test:direct communication with trusted document"] = function(assert, done) { |
|
11 let worker = Symbiont({ |
|
12 contentURL: data.url("test-trusted-document.html") |
|
13 }); |
|
14 |
|
15 worker.port.on('document-to-addon', function (arg) { |
|
16 assert.equal(arg, "ok", "Received an event from the document"); |
|
17 worker.destroy(); |
|
18 done(); |
|
19 }); |
|
20 worker.port.emit('addon-to-document', 'ok'); |
|
21 }; |
|
22 |
|
23 exports["test:`addon` is not available when a content script is set"] = function(assert, done) { |
|
24 let worker = Symbiont({ |
|
25 contentURL: data.url("test-trusted-document.html"), |
|
26 contentScript: "new " + function ContentScriptScope() { |
|
27 self.port.emit("cs-to-addon", "addon" in unsafeWindow); |
|
28 } |
|
29 }); |
|
30 |
|
31 worker.port.on('cs-to-addon', function (hasAddon) { |
|
32 assert.equal(hasAddon, false, |
|
33 "`addon` is not available"); |
|
34 worker.destroy(); |
|
35 done(); |
|
36 }); |
|
37 }; |
|
38 |
|
39 require("sdk/test/runner").runTestsFromModule(module); |