Commit Graph

16 Commits

Author SHA1 Message Date
Luca Greco 5d186bae84 test(browsers-smoketests): Run a set of smoke tests on both Chrome and Firefox
This commit introduces tape as the test framework used to define the tests in the
test extension contexts and send them to the nodejs script that orchestrate the
test run.

The nodejs script has also been migrated from mocha to tape, it uses the custom test
helpers provided to setup the test environment (e.g. create a temporary dir
for the test extension, copy the last polyfill build, bundle tape to be used
in the test extension, start the browser which run the test extension
and finally collect the results of the test extension) and then it merges all the
tap logs collected from every test extension into a single "per browser" test suite.

- updated travis nodejs environment to nodejs 8
- uses tape to collect test results from inside the test extension
- added test case to check polyfill 'existing browser API object' detection
- added test for expected rejection on tabs.sendMessage with an invalid tabId
- added test with multiple listeners which resolves to undefined and null
- optionally run chrome smoketests with --enable-features=NativeCrxBindings
2018-06-02 20:59:46 +02:00
Luca Greco 49ce6ef155 test: Run a minimal set of tests from a test extension running on Chrome (#66)
* test: Run a minimal set of integration/smoke tests on Chrome
* chore: minor tweaks to dependencies version in the package.json
2017-10-23 19:42:01 +02:00
Luca Greco 8914541b81 chore: bump version for release 0.2.1 2017-10-12 14:23:39 +02:00
Luca Greco 318271214f chore: bump version for release 0.2.0 2017-09-29 23:43:59 +02:00
Luca Greco 6b3c6da659 chore: bump version for release 0.1.2 2017-09-25 20:42:56 +02:00
Rob Wu ab0b667ff3 fix: Lock gruntify-eslint version to fix build errors (#42)
* Lock version of gruntify-eslint (and grunt-replace)

The current repository is compatible with gruntify-eslint 3.1.0.
`*` resolves to version 4.0.0., which bumps its eslint dependency
from 3.x to 4.x, which in turn causes linting errors.

To get the default check-out to pass, lock the dependencies to
known-compatible versions.

* Bump gruntify-eslint to 4.0.0 + fix lint error

Bump gruntify-eslint to 4.0.0, which depends on eslint ^4.0.0,
and fix the lint error that appeared.
2017-08-20 13:26:43 +02:00
Luca Greco a1fd64cab1 chore: bump version for release 0.1.1 2017-04-13 15:02:56 +02:00
Luca Greco 46b8f7e583 fix: use babel and transform-es2015-modules-umd to fix the webpack bundling issue 2017-04-13 14:30:52 +02:00
Luca Greco 96cfb9c5c2 test: re-run the test suite on the minified file on travis 2017-04-11 14:24:23 +02:00
Luca Greco 9a38d923e9 fix: use babili to minify ES6 sources. 2017-04-11 14:19:56 +02:00
Luca Greco 31d778c2cd fix: Changes to the UMD built file and npm package publishing
This patch introduces on top of #17 some minor changes from the
review comments, in particular:

- do not replace require("../filename") to include the api-metadata.json
  (restored the original '{/* include("...") */}' placeholder)
- raise an appropriate error message when the source file is used
  by mistake (or the "dist/" file has not been built correctly).
- set the generated UMD wrapped module as the package.json main
  entrypoint
- do not include api-metadata.json and src dir from the files included
  in the published npm package
- run both build and test npm scripts on prepublish
2017-04-11 14:16:15 +02:00
Joseph Frazier f9248e62e7 feat: library wrapped as an UMD module
This addresses [issue 7] by making it possible for users to run:

```sh
npm install webextension-polyfill
```

and download a module that they can use with a bundler as follows:

```js
import browser from 'webextension-polyfill';
```

Also, add a [prepublish script] so that users who clone the repo don't
need to run `grunt` manually. In addition, specify [files] in
package.json so that this module can be published to npm without
including miscellanea. This can be verified by running:

```sh
npm pack && tar -tvf webextension-polyfill-0.1.0.tgz
```

[issue 7]: https://github.com/mozilla/webextension-polyfill/issues/7
[files]: https://docs.npmjs.com/files/package.json#files
[prepublish script]: https://docs.npmjs.com/misc/scripts
2017-04-11 13:32:31 +02:00
Joseph Frazier 52791c8633 fix: normalized package.json properties
When running `npm install` to add new `devDependencies`, `npm` reformats
package.json with these changes, as can be seen [here]. Making these
changes separately allows developers to more easily keep them out of
unrelated commits.

[here]: https://github.com/mozilla/webextension-polyfill/pull/11/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2L22
2017-04-11 13:32:02 +02:00
Luca Greco de50f2047d test: update eslint to version 3.9.1 and add enforced indentation on call expression params 2016-11-07 16:34:34 +01:00
Luca Greco c08b8af982 test: introduced a test suite for unit testing. 2016-11-07 16:33:42 +01:00
Kris Maglione c74d1af46d Initial checkin. 2016-10-10 11:36:21 -07:00