1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/addon-sdk/source/test/addons/symbiont/main.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,39 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +"use strict"; 1.9 + 1.10 +const { data } = require("sdk/self"); 1.11 +const { Symbiont } = require("sdk/deprecated/symbiont"); 1.12 + 1.13 +exports["test:direct communication with trusted document"] = function(assert, done) { 1.14 + let worker = Symbiont({ 1.15 + contentURL: data.url("test-trusted-document.html") 1.16 + }); 1.17 + 1.18 + worker.port.on('document-to-addon', function (arg) { 1.19 + assert.equal(arg, "ok", "Received an event from the document"); 1.20 + worker.destroy(); 1.21 + done(); 1.22 + }); 1.23 + worker.port.emit('addon-to-document', 'ok'); 1.24 +}; 1.25 + 1.26 +exports["test:`addon` is not available when a content script is set"] = function(assert, done) { 1.27 + let worker = Symbiont({ 1.28 + contentURL: data.url("test-trusted-document.html"), 1.29 + contentScript: "new " + function ContentScriptScope() { 1.30 + self.port.emit("cs-to-addon", "addon" in unsafeWindow); 1.31 + } 1.32 + }); 1.33 + 1.34 + worker.port.on('cs-to-addon', function (hasAddon) { 1.35 + assert.equal(hasAddon, false, 1.36 + "`addon` is not available"); 1.37 + worker.destroy(); 1.38 + done(); 1.39 + }); 1.40 +}; 1.41 + 1.42 +require("sdk/test/runner").runTestsFromModule(module);