
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
grunt-jasmine-firefoxaddon
Advanced tools
Run jasmine specs in a Firefox Addon
This plugin requires Grunt ^0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, which explains how to create your grunt file. Once you're familiar with the process, this plugin can be installed as:
npm install grunt-jasmine-firefoxaddon --save-dev
Once the plugin has been installed, it may be enabled with this line of JavaScript:
grunt.loadNpmTasks('grunt-jasmine-firefoxaddon');
Run this task with the grunt jasmine_firefoxaddon command.
Automatically builds and maintains the spec runner and reports results back to
the grunt console. Uses jpm provided by mozilla to run a dynamically constructed
firefox addon that runs jasmine specs by using browserify. Allows for copying
and loading of custom .jsm files. The addon is built in the .build/ path,
but is deleted after the task successfully completes. If the task fails part
way it will likely remain, and may be useful for debugging.
Note that if your addon needs to access other resources, you will need to make
the files available (e.g. with
grunt-contrib-copy) under
the path .build/data/... and then access them in your addon with the path
resource://grunt-jasmine-firefoxaddon-runner/data/... (you can also use
self.data.url(...) if
the self API
is available to you). This is due to the structure of Firefox addons - future
iterations of this tool may be able to make the process smoother.
Use your own files in the app to customize your tests. For all of the below, you can use node globbing patterns.
Type: String|Array
The spec files you want to run.
Type: String|Array
Resources (.js, .json, etc.) needed for the tests (will be made available to the
addon under data/, but not automatically loaded into the addon - your tests
can pull them in as needed from
resource://grunt-jasmine-firefoxaddon-runner/data/). These files can be
.jsm, which would allow them to be loaded via Components.utils.import, or
they can be of other types (which will require different mechanisms to load,
currently left as an exercise to the user - future updates to this tool may try
to facilitate common use cases).
Type: String|Array
Custom JavaScript module (.jsm) files you wish you load into your addon during
test. These files are automatically loaded during addon setup, but must be
.jsm types (JavaScript with an EXPORTED_SYMBOLS array to define visibility).
Type: Number
Default: 10000
How many milliseconds to wait for the browser to start up before failing.
Ideally this runner should "just work" with your tests - however, if it doesn't here are a few common issues and suggested approaches:
grunt-jasmine-firefoxaddon-runner/data/...)
may conflict with the path you need to specify if you run your tests in other
environments. In that case, you can put logic to set the Firefox-addon-specific
path in a block like if (typeof window === 'undefined') { path = ... } - this
assumes that window is defined in your other relevant environments (it isn't
within the scope of a Firefox addon).If you encounter some other problem then feel free to file an issue in this GitHub repository.
FAQs
Grunt task to run jasmine tests in a firefox addon
We found that grunt-jasmine-firefoxaddon demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.