diff options
Diffstat (limited to 'tools/addon-sdk-1.4/examples/reading-data')
-rw-r--r-- | tools/addon-sdk-1.4/examples/reading-data/data/mom.png | bin | 0 -> 4778 bytes | |||
-rw-r--r-- | tools/addon-sdk-1.4/examples/reading-data/data/sample.html | 3 | ||||
-rw-r--r-- | tools/addon-sdk-1.4/examples/reading-data/lib/main.js | 40 | ||||
-rw-r--r-- | tools/addon-sdk-1.4/examples/reading-data/package.json | 9 | ||||
-rw-r--r-- | tools/addon-sdk-1.4/examples/reading-data/tests/test-main.js | 20 |
5 files changed, 72 insertions, 0 deletions
diff --git a/tools/addon-sdk-1.4/examples/reading-data/data/mom.png b/tools/addon-sdk-1.4/examples/reading-data/data/mom.png Binary files differnew file mode 100644 index 0000000..4ba89a2 --- /dev/null +++ b/tools/addon-sdk-1.4/examples/reading-data/data/mom.png diff --git a/tools/addon-sdk-1.4/examples/reading-data/data/sample.html b/tools/addon-sdk-1.4/examples/reading-data/data/sample.html new file mode 100644 index 0000000..f9a89db --- /dev/null +++ b/tools/addon-sdk-1.4/examples/reading-data/data/sample.html @@ -0,0 +1,3 @@ +<html><body> +<h1>Hello World</h1> +</body></html> diff --git a/tools/addon-sdk-1.4/examples/reading-data/lib/main.js b/tools/addon-sdk-1.4/examples/reading-data/lib/main.js new file mode 100644 index 0000000..5d97b0d --- /dev/null +++ b/tools/addon-sdk-1.4/examples/reading-data/lib/main.js @@ -0,0 +1,40 @@ +var self = require("self"); +var panels = require("addon-kit/panel"); +var widgets = require("addon-kit/widget"); + +function replaceMom(html) { + return html.replace("World", "Mom"); +} +exports.replaceMom = replaceMom; + +exports.main = function(options, callbacks) { + console.log("My ID is " + self.id); + + // Load the sample HTML into a string. + var helloHTML = self.data.load("sample.html"); + + // Let's now modify it... + helloHTML = replaceMom(helloHTML); + + // ... and then create a panel that displays it. + var myPanel = panels.Panel({ + contentURL: "data:text/html," + helloHTML + }); + + // Load the URL of the sample image. + var iconURL = self.data.url("mom.png"); + + // Create a widget that displays the image. We'll attach the panel to it. + // When you click the widget, the panel will pop up. + widgets.Widget({ + id: "test-widget", + label: "Mom", + contentURL: iconURL, + panel: myPanel + }); + + // If you run cfx with --static-args='{"quitWhenDone":true}' this program + // will automatically quit Firefox when it's done. + if (options.staticArgs.quitWhenDone) + callbacks.quit(); +} diff --git a/tools/addon-sdk-1.4/examples/reading-data/package.json b/tools/addon-sdk-1.4/examples/reading-data/package.json new file mode 100644 index 0000000..0f203b2 --- /dev/null +++ b/tools/addon-sdk-1.4/examples/reading-data/package.json @@ -0,0 +1,9 @@ +{ + "name": "reading-data", + "description": "A demonstration of reading bundled data.", + "keywords": [], + "author": "Brian Warner", + "contributors": [], + "license": "MPL 1.1/GPL 2.0/LGPL 2.1", + "id": "reading-data-example@jetpack.mozillalabs.com" +} diff --git a/tools/addon-sdk-1.4/examples/reading-data/tests/test-main.js b/tools/addon-sdk-1.4/examples/reading-data/tests/test-main.js new file mode 100644 index 0000000..8d9de99 --- /dev/null +++ b/tools/addon-sdk-1.4/examples/reading-data/tests/test-main.js @@ -0,0 +1,20 @@ +var m = require("main"); +var self = require("self"); + +exports.testReplace = function(test) { + var input = "Hello World"; + var output = m.replaceMom(input); + test.assertEqual(output, "Hello Mom"); + var callbacks = { quit: function() {} }; + + // Make sure it doesn't crash... + m.main({ staticArgs: {} }, callbacks); +}; + +exports.testID = function(test) { + // The ID is randomly generated during tests, so we cannot compare it against + // anything in particular. Just assert that it is not empty. + test.assert(self.id.length > 0); + test.assertEqual(self.data.url("sample.html"), + "resource://reading-data-example-at-jetpack-dot-mozillalabs-dot-com/reading-data/data/sample.html"); +}; |