diff options
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-scheme-about.js')
-rw-r--r-- | data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-scheme-about.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-scheme-about.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-scheme-about.js new file mode 100644 index 0000000..5d7873f --- /dev/null +++ b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-scheme-about.js @@ -0,0 +1,43 @@ +'use strict'; + +const { Loader } = require('sdk/test/loader'); +const tabs = require('sdk/tabs') + +function openTabGetContent(url, callback) { + tabs.open({ + url: 'about:test', + inBackground: true, + onReady: function(tab) { + let worker = tab.attach({ + contentScript: 'self.port.emit("body", document.body.innerHTML)' + }) + worker.port.on('body', function(msg) { + tab.close(function() { + callback(msg); + }); + }); + } + }) +} + +exports.testAddAboutWhat = function(assert, done) { + const loader = Loader(module); + const { add } = loader.require('pathfinder/scheme/about'); + + add({ + what: 'test', + url: 'data:text/html;charset=utf-8,<body>test</body>' + }); + + openTabGetContent('about:test', function(msg) { + assert.equal(msg, 'test', 'about:test content is "test"'); + loader.unload(); + openTabGetContent('about:test', function(msg) { + assert.notEqual(msg, 'test', 'about:test content is "test"'); + done(); + }); + }); + +} + +require('test').run(exports); |