I know, I've been fixing up the gulp scripts all week. I keep fixing one thing then breaking another.
In this commit, I fix some issues with some previous approaches.
I no longer try to do the copying to `chrome` after `firefox`, I simply stream to both during copy and build tasks, and that logic is reused during dev and build tasks.
The `copyTask` function now supports an array of `destinations`, that allows piping to multiple destinations, which is pretty cool.
The `manifest:cleanup` task that chrome requires is now just part of the `copy` task, so we don't have to remember it everywhere we copy. So obvious it's like why only now.
We used to be able to copy static resources while we built js, but now part of the copy task is copying firefox built files into chrome, so they need to be done in order.
This could probably be optimized a bit more, but for now it builds reliably again.
* Add platform specific folders to dist folder
* Remove gulp hacks
* Add platform specific bundling
dev and dist tasks now build into platform-specific folders within the `dist` folder.
Added tasks `gulp zip` and `gulp dist`.
`zip` builds the platform-specific folders into platform-specific bundles within the `dist` folder.
`dist` builds and then zips all at once.
* Fix chrome bundle zipping
* Fix broken reference in eth warning
* Fix but where web3.eth.accounts are not available in firefox.
* Bump changelog
* Add UI Testing Framework and Simple UI Test
Added a Testem configuration that launches a Qunit page with an iFrame that builds and loads our mock-dev page and can interact with it and run tests on it.
Wrote a simple test that accepts the terms and conditions and transitions to the next page.
I am not doing any fancy redux-hooks for the async waiting, I've simply added a `tests/integration/helpers.js` file with a `wait()` function that returns a promise that should wait long enough.
Long term we should hook into the app lifecycle by some means for testing, so we only wait the right amount of time, and wait long enough for slower processes to complete, but this may work for the time being, just enough to run some basic automated browser tests.
* Separate UI tests from normal unit test suite
* Add UI tests to CI test script
* Add testem and phantom to circleCI pre-script
* Fix circle pre script
* Move pre scripts to dependencies key
* Remove phantom from build deps
* Fix testem runner page
* Add promise polyfill for PhantomJS
* Skip PhantomJS in testem
* Run browser tests in parallel
* Fix promise usage?
* Correct skip usage